From 3fc5eb3cb8846b3df2ac4b6d28ca43441ffa5e7a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Thu, 4 Jun 2009 16:10:25 +0000 Subject: [PATCH] partially working QueryDemo --- org.glite.lb.client-java/Makefile | 7 +- org.glite.lb.client-java/build.xml | 2 +- org.glite.lb.client-java/examples/QueryDemo.java | 246 +++++++++++++++++++++ org.glite.lb.client-java/examples/SSLClient.java | 16 ++ org.glite.lb.client-java/examples/SSLServer.java | 3 +- .../examples/SimpleLLTest.java | 3 + .../src/org/glite/lb/ServerConnection.java | 2 - 7 files changed, 270 insertions(+), 9 deletions(-) create mode 100644 org.glite.lb.client-java/examples/QueryDemo.java create mode 100644 org.glite.lb.client-java/examples/SSLClient.java diff --git a/org.glite.lb.client-java/Makefile b/org.glite.lb.client-java/Makefile index da86271..87790f0 100644 --- a/org.glite.lb.client-java/Makefile +++ b/org.glite.lb.client-java/Makefile @@ -1,13 +1,10 @@ -include Makefile.inc -EXAMPLES := SimpleLLTest.class SSLClient.class SSLServer.class +EXAMPLES := SimpleLLTest.class SSLClient.class SSLServer.class QueryDemo.class # broken: ProducerTestIL.class ProducerTestLL.class VPATH := examples -certmanagement_jar := $(shell ls ${jglobus_prefix}/lib/cog-certmanagement-*.jar | sort | tail -1) -jglobus_jar := $(shell ls ${jglobus_prefix}/lib/cog-jglobus-*.jar | sort | tail -1) - all compile: JAVA_HOME=${jdk_prefix} \ ${ant_prefix}/bin/ant -Dno.deps=yes -DstageDir=${stagedir} \ @@ -21,7 +18,7 @@ examples: ${EXAMPLES} ${EXAMPLES}: %.class: %.java - javac -cp build/classes/:${stagedir}/share/java/jobid-api-java.jar $< + ${jdk_prefix}/bin/javac -cp build/classes/:${stagedir}/share/java/jobid-api-java.jar $< check: diff --git a/org.glite.lb.client-java/build.xml b/org.glite.lb.client-java/build.xml index 84da105..483d39b 100755 --- a/org.glite.lb.client-java/build.xml +++ b/org.glite.lb.client-java/build.xml @@ -11,7 +11,7 @@ - + diff --git a/org.glite.lb.client-java/examples/QueryDemo.java b/org.glite.lb.client-java/examples/QueryDemo.java new file mode 100644 index 0000000..07410ae --- /dev/null +++ b/org.glite.lb.client-java/examples/QueryDemo.java @@ -0,0 +1,246 @@ +import java.rmi.RemoteException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Iterator; +import java.util.List; +import org.glite.jobid.Jobid; +import org.glite.lb.*; +import org.glite.wsdl.types.lb.GenericFault; +import org.glite.wsdl.types.lb.JobStatus; +import org.glite.wsdl.types.lb.QueryAttr; +import org.glite.wsdl.types.lb.QueryConditions; +import org.glite.wsdl.types.lb.QueryOp; +import org.glite.wsdl.types.lb.QueryRecValue; +import org.glite.wsdl.types.lb.QueryRecord; +import org.glite.wsdl.types.lb.StatName; +import org.glite.wsdl.types.lb.Timeval; + + + +/** + * This is a demonstration class for query API. + * It contains all possible methodes that can be called on ServerConnection + * and Job objects. + * @author Tomas Kramec, 207545@mail.muni.cz + */ +public class QueryDemo { + + + /** + * This method serves for formating output information about given job status. + * It is only an example of how the data can be presented. It can be changed + * by user's needs. + * + * @param status Job status + * @return text representation of the given status + */ + private static String jobStatusToString(JobStatus status) { + StringBuilder sb = new StringBuilder(); + sb.append("State: "+status.getState()+"\n"); + sb.append("Job ID: "+status.getJobId()+"\n"); + sb.append("Owner: "+status.getOwner()+"\n"); + sb.append("Job type: "+status.getJobtype()+"\n"); + sb.append("Destination: "+status.getLocation()+"\n"); + sb.append("Done code: "+status.getDoneCode()+"\n"); + sb.append("User tags: "); + //if there are some user tags write it out. + if (status.getUserTags() != null) { + for (int i=0;i idx = sc.getIndexedAttrs(); + for (int i=0;i jobs = sc.userJobs(); + //get their states + List js = sc.userJobStates(); + Iterator it = jobs.iterator(); + Iterator itJs = js.iterator(); + while (it.hasNext()) { + System.out.println(it.next()); + System.out.println(jobStatusToString(itJs.next())); + } + + //Demonstration of Job class + System.out.println(); + System.out.println("----------------JOB----------------"); + + //create new Job + Job myJob = new Job(args[6], sc); + //print job state info + System.out.println(); + System.out.println("Status: " + jobStatusToString(myJob.getStatus(null))); + + //print info about job's events + System.out.println(); + List events = myJob.getEvents(); + System.out.println("Found "+events.size()+" events:"); + for (int i=0;i recList = new ArrayList(); + for (int i=0;i interval) + QueryConditions condOnTime = new QueryConditions(QueryAttr.TIME, null, StatName.SUBMITTED, timeRec); + + //create QueryConditions list representing this formula: + //(JOBID='jobId1' or JOBID='jobId2 or ...) AND (TIME is in interval) + //where jobId1,... are ids of user's jobs + List condList = new ArrayList(); + condList.add(condOnJobid); + condList.add(condOnTime); + + //get all jobs matching the given conditions + List jobResult = sc.queryJobs(condList); + //get all their states + List jobStatesResult = sc.queryJobStates(condList, null); + + //Print information about results + Calendar calendar = new GregorianCalendar(); + DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + System.out.println(); + System.out.print("Jobs registered "); + calendar.setTimeInMillis(timeFrom.getT().getTvSec()*1000); + System.out.print("from "+ df.format(calendar.getTime())+" "); + calendar.setTimeInMillis(timeTo.getT().getTvSec()*1000); + System.out.print("to "+ df.format(calendar.getTime())+"\n"); + Iterator jobsit = jobResult.iterator(); + Iterator statusit = jobStatesResult.iterator(); + while (jobsit.hasNext()) { + System.out.println(jobsit.next()); + System.out.println(jobStatusToString(statusit.next())); + } + } + } catch (Exception e) { e.printStackTrace(); } + } + } +} diff --git a/org.glite.lb.client-java/examples/SSLClient.java b/org.glite.lb.client-java/examples/SSLClient.java new file mode 100644 index 0000000..f9b21dc --- /dev/null +++ b/org.glite.lb.client-java/examples/SSLClient.java @@ -0,0 +1,16 @@ +import org.glite.lb.SSLSend; + +public class SSLClient { + public static void main(String[] args) { + + SSLSend ssl = new SSLSend(); + + try { + ssl.send(args[0],"localhost",9002,100,"baff"); + } + catch (Exception e) { + System.err.println(e); + } + + } +} diff --git a/org.glite.lb.client-java/examples/SSLServer.java b/org.glite.lb.client-java/examples/SSLServer.java index cae699e..06896ed 100644 --- a/org.glite.lb.client-java/examples/SSLServer.java +++ b/org.glite.lb.client-java/examples/SSLServer.java @@ -1,4 +1,5 @@ import org.glite.lb.SSL; +import org.glite.lb.LBCredentials; import java.io.*; import java.net.Socket; @@ -8,7 +9,7 @@ public class SSLServer { SSL ssl = new SSL(); try { - ssl.setProxy(args[0]); + ssl.setCredentials(new LBCredentials(args[0],null)); Socket sock = ssl.accept(Integer.parseInt(args[1]),100000); System.out.println("accept ok"); InputStream in = sock.getInputStream(); diff --git a/org.glite.lb.client-java/examples/SimpleLLTest.java b/org.glite.lb.client-java/examples/SimpleLLTest.java index 083fea7..0e1f456 100644 --- a/org.glite.lb.client-java/examples/SimpleLLTest.java +++ b/org.glite.lb.client-java/examples/SimpleLLTest.java @@ -11,6 +11,7 @@ public class SimpleLLTest { public static void main(String[] args) { + try { Jobid jobid = new Jobid("https://skurut68-2.cesnet.cz:9000/paja6_test2"); SeqCode seqCode = new SeqCode(); ContextLL ctx = new ContextLL(); @@ -30,5 +31,7 @@ public class SimpleLLTest { EventRunning running = new EventRunning(); running.setNode("node"); ctx.log(running); + } + catch (Exception e) { e.printStackTrace(); } } } diff --git a/org.glite.lb.client-java/src/org/glite/lb/ServerConnection.java b/org.glite.lb.client-java/src/org/glite/lb/ServerConnection.java index 2eaadf8..0183755 100644 --- a/org.glite.lb.client-java/src/org/glite/lb/ServerConnection.java +++ b/org.glite.lb.client-java/src/org/glite/lb/ServerConnection.java @@ -6,7 +6,6 @@ import java.rmi.RemoteException; import java.util.ArrayList; import java.util.List; import org.apache.axis.client.Stub; -import org.apache.log4j.PropertyConfigurator; import org.glite.jobid.Jobid; import org.glite.lb.Event; import org.glite.lb.Level; @@ -78,7 +77,6 @@ public class ServerConnection { if (server == null) throw new IllegalArgumentException("Server cannot be null"); if (lbCredent == null) throw new IllegalArgumentException("Credentials cannot be null"); - PropertyConfigurator.configure("log4j.properties"); this.lbCredent = lbCredent; setQueryServerAddress(server); setQueryTimeout(120); -- 1.8.2.3