cyberaide-svn Mailing List for cyberaide
Status: Planning
Brought to you by:
laszewsk
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(87) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(74) |
Feb
(95) |
Mar
(107) |
Apr
(205) |
May
(228) |
Jun
(141) |
Jul
(291) |
Aug
(118) |
Sep
(50) |
Oct
(199) |
Nov
(91) |
Dec
(55) |
2009 |
Jan
(25) |
Feb
(18) |
Mar
(3) |
Apr
(8) |
May
(25) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
(10) |
Nov
(1) |
Dec
(4) |
2010 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(37) |
May
(12) |
Jun
(8) |
Jul
(4) |
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ys...@us...> - 2010-08-22 03:17:45
|
Revision: 1923 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1923&view=rev Author: ysm906 Date: 2010-08-22 03:17:39 +0000 (Sun, 22 Aug 2010) Log Message: ----------- GRAM4Job class (not yet tested) Added Paths: ----------- code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/ code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/GRAM4Job.java code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/Task.java Added: code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/GRAM4Job.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/GRAM4Job.java (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/GRAM4Job.java 2010-08-22 03:17:39 UTC (rev 1923) @@ -0,0 +1,305 @@ +package org.cyberaide.teragrid; + +import java.util.List; +import java.util.ArrayList; +import java.util.Scanner; +import java.io.BufferedWriter; +import java.io.FileWriter; + +import org.apache.log4j.Logger; +import org.cyberaide.core.CoGObject; +import org.cyberaide.core.CoGObjectsUtil; + +// +// not tested yet +// + +public class GRAM4Job implements Task, Runnable { + private String jobid; + private String executable; + private String directory; + private String inputfilename; + private String outputfilename; + private String errorfilename; + private String factoryType; // PBS, Loadleveler, etc. + private String cpuPerNode; + private String walltime; + private String endpoint; + private String resourceName; // resource (site) name + private String resourceId; // id used in the TeraGrid Infomation Services + // Web Application + private String mpiNp; // number of processors for the mpi job + + public GRAM4Job(String cmd, String endpoint){ + jobid = null; + executable = cmd; + directory = null; + inputfilename = null; + outputfilename = null; + errorfilename = null; + factoryType = "Fork"; // default + cpuPerNode = null; + walltime = "5"; + this.endpoint = endpoint; + resourceName = null; + resourceId = null; + mpiNp = null; + } + + public void setJobId(String id){ + jobid = id; + } + + public String getJobId(){ + return jobid; + } + + public void setExecutable(String executable){ + this.executable = executable; + } + + public String getExecutable(){ + return executable; + } + + public void setDirectory(String directory){ + this.directory = directory; + } + + public String getDirectory(){ + return directory; + } + + public void setInputFileName(String inputfile){ + inputfilename = inputfile; + } + + public String getInputFileName(){ + return inputfilename; + } + + public void setOutputFileName(String outputfile){ + outputfilename = outputfile; + } + + public String getOutputFileName(){ + return outputfilename; + } + + public void setErrorFileName(String errorfile){ + errorfilename = errorfile; + } + + public String getErrorFileName(){ + return errorfilename; + } + + public void setFactoryType(String type){ + factoryType = type; + } + + public String getFactoryType(){ + return factoryType; + } + + public void setCpuPerNode(String nCpu){ + cpuPerNode = nCpu; + } + + public String getCpuPerNode(){ + return cpuPerNode; + } + + public void setWallTime(String wtime){ + walltime = wtime; + } + + public String getWallTime(){ + return walltime; + } + + public void setResourceName(String rname){ + resourceName = rname; + } + + public String getResourceName(){ + return resourceName; + } + + public void setResourceId(String rid){ + resourceId = rid; + } + + public String getResourceId(){ + return resourceId; + } + + public void setEndpoint(String endpoint){ + this.endpoint = endpoint; + } + + public String getEndpoint(){ + return endpoint; + } + + public void setMpiNp(String np){ + mpiNp = np; + } + + public String getMpiNp(){ + return mpiNp; + } + + public void run(){ + String jobDescriptionFile = generateJobDescriptionFile(); + List<String> cmd = new ArrayList<String>(); + cmd.add("globusrun-ws"); + cmd.add("-submit"); + cmd.add("-factory-type"); + cmd.add(factoryType); + cmd.add("-F"); + cmd.add(endpoint); + //cmd.add("-s"); // -streaming + cmd.add("-job-epr-output-file"); // -o + cmd.add("epr"+jobid); + cmd.add("-job-description-file"); // -f + cmd.add(jobDescriptionFile); + + // submit job + ProcessBuilder pb = new ProcessBuilder(cmd); + Process p = pb.start(); + + BufferedReader stdin = new BufferedReader + (new InputStreamReader(p.getInputStream())); + BufferedReader stderr = new BufferedReader + (new InputStreamReader(p.getErrorStream())); + + String tmp; + while((tmp = stdin.readLine()) != null){ + log.info(tmp); + } + while((tmp = stderr.readLine()) != null){ + log.error(tmp); + } + stdin.close(); + stderr.close(); + + deleteFile("epr"+jobid); + deleteFile(jobDescriptionFile); + + }catch(Exception e){ + e.printStackTrace(); + } + + private void deleteFile(String fname){ + new File(fname).delete(); + } + + private String generateJobDescriptionFile(){ + String jobDescriptionFileName = resourceName + jobid + ".rsl"; + + try{ + // write job description + Scanner sc = new Scanner(executable); + BufferedWriter rsl = new BufferedWriter + (new FileWriter(jobDescriptionFileName)); + + rsl.write("<job>"); + if(mpiNp != null){ // mpi job + String mpipath = getMPIpath(resourceName); + if(mpipath != null){ + rsl.write("<executable>"+mpipath+"</executable>"); + }else{ + // TODO: error + } + }else{ // non-mpi job + if(sc.hasNext()){ + rsl.write("<executable>"+sc.next()+"</executable>"); + } + } + if(directory!=null){ + rsl.write("<directory>"+directory+"</directory>"); + } + if(mpiNp != null){ + rsl.write("<argument>-np</argument>"); + rsl.write("<argument>"+mpiNp+"</argument>"); + } + while(sc.hasNext()){ + rsl.write("<argument>"+sc.next()+"</argument>"); + } + if(inputfilename != null){ + rsl.write("<stdin>"+inputfilename+"</stdin>"); + } + if(outputfilename != null){ + rsl.write("<stdout>"+outputfilename+"</stdout>"); + } + if(errorfilename != null){ + rsl.write("<stderr>"+errorfilename+"</stderr>"); + } + if(mpiNp != null){ + rsl.write("<count>1</count>"); + rsl.write("<hostCount>"+getHostCount(mpiNp,cpuPerNode)+ + "</hostCount>"); + } + if(!factoryType.equals("Fork")){ + //rsl.write("<queue>debug</queue>"); + rsl.write("<maxWallTime>"+walltime+"</maxWallTime>"); + } + rsl.write("</job>\n"); + rsl.flush(); + rsl.close(); + sc.close(); + }catch(Exception e){ + + } + return jobDescriptionFileName; + } + + /** + * get the absolute path to a specific version of the mpirun program + * on given resource supplied in the teragrid.mpienv.txt file + * + * @param siteName: name of the resource (site) + * @return absolute path to the mpirun + */ + private String getMPIpath(String siteName){ + String mpiPath = null; + try{ + List<CoGObject> mpienv = + CoGObjectsUtil.readObject("teragrid.mpienv","ascii"); + for(int i=0; i<mpienv.size(); i++){ + if(mpienv.get(i).get("resource").equals(siteName)){ + mpiPath = mpienv.get(i).get("path"); + } + } + }catch(Exception e){ + + } + return mpiPath; + } + + /** + * get value of hostCount element for GRAM4 job description based on + * the number of CPUs per node + * + * @param mpiNp : value of -np for the mpirun command + * @param cpuPerNode: number of CPUs per node + * @return hostCount value + */ + private String getHostCount(String mpiNp, String cpuPerNode){ + int hostCount = 1; // default + + if(cpuPerNode != null){ + int np = Integer.parseInt(mpiNp); + int cpus = Integer.parseInt(cpuPerNode); + int reminder = np % cpus; + hostCount = np/cpus; + + if(reminder > 0){ + hostCount++; + } + } + + return Integer.toString(hostCount); + } +} \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/GRAM4Job.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/Task.java (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/Task.java 2010-08-22 03:17:39 UTC (rev 1923) @@ -0,0 +1,14 @@ +package org.cyberaide.teragrid; + +public interface Task { + void setExecutable(String executable); + String getExecutable(); + void setDirectory(String directory); + String getDirectory(); + void setInputFileName(String inputfile); + String getInputFileName(); + void setOutputFileName(String inputfile); + String getOutputFileName(); + void setErrorFileName(String inputfile); + String getErrorFileName(); +} \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/teragrid/Task.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-08-17 03:48:39
|
Revision: 1922 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1922&view=rev Author: ysm906 Date: 2010-08-17 03:48:33 +0000 (Tue, 17 Aug 2010) Log Message: ----------- move copy command Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java code/trunk/shell-cli/src/main/java/org/cyberaide/execution/Execution.java code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java Added Paths: ----------- code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/ code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/GridFTP.java Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java 2010-08-17 00:13:26 UTC (rev 1921) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java 2010-08-17 03:48:33 UTC (rev 1922) @@ -451,6 +451,7 @@ internalOpt.addOption(new Option("history", "")); addOption("less", "less", true, true); + addOption("copy", "cp", true); } public abstract void initOptions(); @@ -623,6 +624,15 @@ } else if (hasOption("history")) { return true; + } else if (hasOption("copy")) { + String [] urls = getOptionValues("copy"); + + if(urls.length != 2) { + log.error("Usage: copy <source> <destination>"); + } else { + new org.cyberaide.gridftp.GridFTP().copy(urls[0],urls[1]); + } + return true; } return false; Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/execution/Execution.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/execution/Execution.java 2010-08-17 00:13:26 UTC (rev 1921) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/execution/Execution.java 2010-08-17 03:48:33 UTC (rev 1922) @@ -16,7 +16,6 @@ // array to hold all the service info Logger log = Logger.getLogger(this.getClass()); private CoGObject[] wsgramNodes; - private CoGObject[] ftpServers; private final String LOGINSERVICETYPE = "prews-gram";// ws-gram, gridftp, private int jobidcounter = 1; //need to depriate @@ -26,17 +25,12 @@ public Execution() { InfoService info = new InfoService(); wsgramNodes = info.getServices(LOGINSERVICETYPE); - ftpServers = info.getServices("gridftp"); } public CoGObject[] getNodesList() { return wsgramNodes; } - public CoGObject[] getFtpServers() { - return ftpServers; - } - public String submitWsGram(String wsgramNode, String strCmd){ String wsgram = wsgramNode; String cmd = strCmd; @@ -301,31 +295,4 @@ } return; } - - /** - * copy a file using GridFTP - */ - public void copy(String from, String to){ - ProcessBuilder pb = new ProcessBuilder("globus-url-copy",from,to); - try{ - Process p = pb.start(); - - BufferedReader stdin = new BufferedReader - (new InputStreamReader(p.getInputStream())); - BufferedReader stderr = new BufferedReader - (new InputStreamReader(p.getErrorStream())); - - String tmp; - while((tmp = stdin.readLine()) != null){ - System.out.println(tmp); - } - while((tmp = stderr.readLine()) != null){ - System.out.println(tmp); - } - stdin.close(); - stderr.close(); - }catch(IOException e){ - log.error("error occured during job execution: " +e.getMessage()); - } - } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java 2010-08-17 00:13:26 UTC (rev 1921) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java 2010-08-17 03:48:33 UTC (rev 1922) @@ -89,12 +89,6 @@ CoGObjectsUtil.printFormatted(gramNodeTable, "header=name,endpoint", "attribute=name,endpoint", "format=%-30s %-50s"); - } else if (hasOption("listftp")) { - CoGObject [] ftpServers = exec.getFtpServers(); - CoGObjectsUtil.printFormatted(ftpServers, - "header=name,type,version,endpoint", - "attribute=name,type,version,endpoint", - "format=%-30s %-10s %-10s %-30s"); } else if (hasOption("listjobs")) { CoGObject[] jobListArray = new CoGObject[submittedJobs.size()]; submittedJobs.toArray(jobListArray); @@ -184,13 +178,6 @@ } else { log.error("error occured during retrieve job output"); } - } else if (hasOption("copy")) { - String [] urls = getOptionValues("copy"); - if(urls.length != 2) { - log.error("Usage: copy <source> <destination>"); - } else { - exec.copy(urls[0],urls[1]); - } } else { log.info("Specified command Not implemented yet"); } @@ -199,7 +186,6 @@ public void initOptions() { addOption("lnodes", "listnodes");// list all the ws-gram nodes available // in teragrid - addOption("lftp", "listftp"); // list gridFTP server host names addOption("ljobs", "listjobs"); // "list all the submitted jobs addOption("r", "run");// Run a remote job synchronously addOption("s", "submit"); // , false, "submit a job"); @@ -210,6 +196,5 @@ addOption("c", "cmd", true);// "the command to be executed"); addOption("n", "name");// execute a command in the host specified by the // node name"); - addOption("copy","copy",true); } } Added: code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/GridFTP.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/GridFTP.java (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/GridFTP.java 2010-08-17 03:48:33 UTC (rev 1922) @@ -0,0 +1,42 @@ +package org.cyberaide.gridftp; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.log4j.Logger; + +public class GridFTP { + Logger log = Logger.getLogger(this.getClass()); + + public GridFTP(){ + + } + + /** + * copy a file using GridFTP + */ + public void copy(String from, String to){ + ProcessBuilder pb = new ProcessBuilder("globus-url-copy",from,to); + try{ + Process p = pb.start(); + + BufferedReader stdin = new BufferedReader + (new InputStreamReader(p.getInputStream())); + BufferedReader stderr = new BufferedReader + (new InputStreamReader(p.getErrorStream())); + + String tmp; + while((tmp = stdin.readLine()) != null){ + log.info(tmp); + } + while((tmp = stderr.readLine()) != null){ + log.error(tmp); + } + stdin.close(); + stderr.close(); + }catch(IOException e){ + log.error("error occured during copy: " +e.getMessage()); + } + } +} Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/gridftp/GridFTP.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-08-17 00:13:32
|
Revision: 1921 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1921&view=rev Author: ysm906 Date: 2010-08-17 00:13:26 +0000 (Tue, 17 Aug 2010) Log Message: ----------- document some issues Added Paths: ----------- code/trunk/doc/ISSUELIST.txt Added: code/trunk/doc/ISSUELIST.txt =================================================================== --- code/trunk/doc/ISSUELIST.txt (rev 0) +++ code/trunk/doc/ISSUELIST.txt 2010-08-17 00:13:26 UTC (rev 1921) @@ -0,0 +1,92 @@ +ISSUE LIST + +- generating a unique ID: current implementation is not good enough. + what is the maximum number of IDs that can be generated / used? + what should be the ID format? + suppose there are millions of tasks, how to assign IDs? + +- about mediator implementation: + do we also need CLI input from the standard input (System.in) like now? + or we need CLI input only from web service clients? + +- use of the resource objects should be dependent on the TeraGrid user accounts. + (users don't have access to all resources.) + +- copy command (globus-url-copy) can be implemented as a "parent" command, not + as a sub-command of the execution command like now. + +- CoGSet: + what is label? + why is List used instead of Set in the implementation? + +- set: + what is the use of the set command? how the set objects are used? + +- Execution: + which gram version we will use: gram2, gram4, or gram5 or all of them? + current implementation seems for a client, not for a "server". + current implementation does not take command arguments, and the calendar cli + uses some of the execution methods, so they need to be updated together. + * using Vector<CoGObject> submittedJobs object has problems in the logic. + -> it doesn't make sense to store job status since it doesn't check job + status automatically (job status cannot be coordinated with the real job + status). + -> when to remove the added (submitted) jobs? there is no implementation + to remove them, and it's not easy to determine when to remove them + since it is difficult to know when the jobs are done if gram2 is used. + -> this will keep all the jobs submitted from multiple users? + implementation is not complete + +- SubmitCLI & ExecutionCLI: + no clear distinction between them in the current implementation. + +- Info: + isn't it better to implement all info services methods as static? + +- timer (cyberaide/info/timer/): + what is this for? + +- io (cyberaide/io/): + needs IO for mediator? + +- scheduler: + what it does is similar to what queue does. + +- Hibernate doesn't work with Apache CXF (JAX-WS): no clue for this + QueueCLI class load error when launching the web service + +- many commands described in the man pages are not implemented, and some of them + do the same (or similar) thing with different commands. + +- queue: + what is the max. number of jobs that can be submitted to each site? do we want + to manage it? => update task scheduler code if so. + task pool (queue) : scheduler = 1 : 1 ? + task pool (queue) : scheduler = n : 1 ? + will a resource pool instance be shared if there are multiple schedulers? + resource checker -> declare as static? + +- pom.xml: + remove unnecessary code, repository (rit machine), etc. + +- ssh: + people will really use this through gridshell??? + +- Security: + where to store a credential - client or server? + and how to manage it if stored in server? + this may be better: cybershell> myproxylogon ... + than this: cybershell> security -myproxylogon ... + +- VO: + there is no resource policy to select a resource from a VO resource. + why does it use the cogrun command to run a job? + duplicated code: security/Myproxy.java and volib/Proxy.java + +- Calendar: + VO should be integrated into Calendar. + +- user setting for semantic object (etc/objects/...): + each user may want different configurations (e.g. mpi path); what to share, what not to share. + +- OpenID ??? \ No newline at end of file Property changes on: code/trunk/doc/ISSUELIST.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-08-05 01:21:41
|
Revision: 1920 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1920&view=rev Author: ysm906 Date: 2010-08-05 01:21:35 +0000 (Thu, 05 Aug 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/man/man7/queue.txt Modified: code/trunk/man/man7/queue.txt =================================================================== --- code/trunk/man/man7/queue.txt 2010-08-04 23:25:16 UTC (rev 1919) +++ code/trunk/man/man7/queue.txt 2010-08-05 01:21:35 UTC (rev 1920) @@ -1,6 +1,6 @@ NAME - queue - a queue that submitts a job to the TeraGrid resources based on + queue - a queue that submits a job to the TeraGrid resources based on policies defined in Cyberaide Shell. SYNOPSIS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-08-04 23:25:22
|
Revision: 1919 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1919&view=rev Author: ysm906 Date: 2010-08-04 23:25:16 +0000 (Wed, 04 Aug 2010) Log Message: ----------- a little update Modified Paths: -------------- code/trunk/man/draft/queue.txt code/trunk/man/man7/queue.txt code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java Modified: code/trunk/man/draft/queue.txt =================================================================== --- code/trunk/man/draft/queue.txt 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/man/draft/queue.txt 2010-08-04 23:25:16 UTC (rev 1919) @@ -1,109 +1,20 @@ -NAME +QUEUE - queue - a queue that submitts a job to the TeraGrid resources based on - policies defined in Cyberaide Shell. + QUEUE - a queue of any number of OBJECTS of any number of types that + has FIFO ordering SYNOPSIS - queue -list [-queue | -resource] - queue -submit -command program [argument ...] [-mpi number] [-directory - directory] [-inputfile filename] [-outputfile filename] [-stdout - filename] [-stderr filename] [-name queuename] - queue -stat -job-id jobid - queue -suspend -job-id jobid - queue -resume -job-id jobid - queue -cancel -job-id jobid - queue -policy [-task [-default|-replicate|-random]] [-resource [-default| - -random]] [-name queuename] - queue -create -name queuename - queue -remove -name queuename + SET name [ objects ] DESCRIPTION - The queue command creates and submits a task to the task pool with policies. - A task and a resource is mapped based on the task and resource policies, and - the task is scheduled for execution on the TeraGrid resources. + -name + The name of the queue -OPTIONS + -objects + The list of OBJECTS contained by the QUEUE. - -list - Lists queues or resource with the options, -queue or -resource. - - -queue - Lists queues. - - -resource - Lists currently available TeraGrid resources hosting GRAM4 service. - - -submit - Submit a job to the task pool. - - -inputfile filename - Specify an input file for the program. - - -outputfile filename - Specify an output file for the program. - - -errorfile filename - Specify an error file for the program. - - -command program [argument ...] - Specify the executable and arguments if the arguments are needed. - - -directory directory - Specify a directory for a job. - - -stat - Check job status. - - -suspend - Suspend a job. - - -resume - Resume a suspended job. - - -cancel - Cancel a job. - - -job-id jobid - Specify a job id generated in Cyberaide queue. - - -policy - Set a policy for the task pool / resource pool for job scheduling. - - -default - Default policy for the task pool (FIFO) and resource pool (Round-Robin). - - -replicate - Fault-tolerant policy for the task pool. When this policy is set, every task - submitted to the TeraGrid resource is replicated. - - -random - Random policy for the task pool and resource pool. A task and resource are - selected randomly. - - -create - Create a queue. - - -remove - Remove the queue created other than the default queue. - - -name - Specify the name of a queue - -SHORT OPTIONS - - - - -OBJECTS USED - - -EXAMPLES - - - -SEE ALSO - - - BUGS + + Many OBJECTS are not correct Modified: code/trunk/man/man7/queue.txt =================================================================== --- code/trunk/man/man7/queue.txt 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/man/man7/queue.txt 2010-08-04 23:25:16 UTC (rev 1919) @@ -1,20 +1,109 @@ -QUEUE +NAME - QUEUE - a queue of any number of OBJECTS of any number of types that - has FIFO ordering + queue - a queue that submitts a job to the TeraGrid resources based on + policies defined in Cyberaide Shell. SYNOPSIS - SET name [ objects ] + queue -list [-queue | -resource] + queue -submit -command program [argument ...] [-mpi number] [-directory + directory] [-inputfile filename] [-outputfile filename] [-stdout + filename] [-stderr filename] [-name queuename] + queue -stat -job-id jobid + queue -suspend -job-id jobid + queue -resume -job-id jobid + queue -cancel -job-id jobid + queue -policy [-task [-default|-replicate|-random]] [-resource [-default| + -random]] [-name queuename] + queue -create -name queuename + queue -remove -name queuename DESCRIPTION - -name - The name of the queue + The queue command creates and submits a task to the task pool with policies. + A task and a resource is mapped based on the task and resource policies, and + the task is scheduled for execution on the TeraGrid resources. - -objects - The list of OBJECTS contained by the QUEUE. +OPTIONS + -list + Lists queues or resource with the options, -queue or -resource. + + -queue + Lists queues. + + -resource + Lists currently available TeraGrid resources hosting GRAM4 service. + + -submit + Submit a job to the task pool. + + -inputfile filename + Specify an input file for the program. + + -outputfile filename + Specify an output file for the program. + + -errorfile filename + Specify an error file for the program. + + -command program [argument ...] + Specify the executable and arguments if the arguments are needed. + + -directory directory + Specify a directory for a job. + + -stat + Check job status. + + -suspend + Suspend a job. + + -resume + Resume a suspended job. + + -cancel + Cancel a job. + + -job-id jobid + Specify a job id generated in Cyberaide queue. + + -policy + Set a policy for the task pool / resource pool for job scheduling. + + -default + Default policy for the task pool (FIFO) and resource pool (Round-Robin). + + -replicate + Fault-tolerant policy for the task pool. When this policy is set, every task + submitted to the TeraGrid resource is replicated. + + -random + Random policy for the task pool and resource pool. A task and resource are + selected randomly. + + -create + Create a queue. + + -remove + Remove the queue created other than the default queue. + + -name + Specify the name of a queue + +SHORT OPTIONS + + - + +OBJECTS USED + + +EXAMPLES + + + +SEE ALSO + + + BUGS - - Many OBJECTS are not correct Modified: code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java 2010-08-04 23:25:16 UTC (rev 1919) @@ -69,7 +69,8 @@ }else if(mediator.hasPlugin(cmd)){ prompt = cmd; }else{ - System.out.println("Invalid command"); + result = mediator.runCommand(cmd); + //System.out.println("Invalid command"); } } Modified: code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java 2010-08-04 23:25:16 UTC (rev 1919) @@ -11,7 +11,7 @@ /** * This class was generated by Apache CXF 2.1 - * Wed Jul 28 22:22:07 EDT 2010 + * Sat Jul 31 23:33:53 EDT 2010 * Generated source version: 2.1 * */ Modified: code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java 2010-08-04 23:25:16 UTC (rev 1919) @@ -11,7 +11,7 @@ /** * This class was generated by Apache CXF 2.1 - * Wed Jul 28 22:22:07 EDT 2010 + * Sat Jul 31 23:33:53 EDT 2010 * Generated source version: 2.1 * */ Modified: code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java 2010-07-29 02:27:39 UTC (rev 1918) +++ code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java 2010-08-04 23:25:16 UTC (rev 1919) @@ -53,19 +53,19 @@ } /** - * Create an instance of {@link RunCommandResponse } + * Create an instance of {@link HasPluginResponse } * */ - public RunCommandResponse createRunCommandResponse() { - return new RunCommandResponse(); + public HasPluginResponse createHasPluginResponse() { + return new HasPluginResponse(); } /** - * Create an instance of {@link HasPluginResponse } + * Create an instance of {@link RunCommandResponse } * */ - public HasPluginResponse createHasPluginResponse() { - return new HasPluginResponse(); + public RunCommandResponse createRunCommandResponse() { + return new RunCommandResponse(); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-07-29 02:27:46
|
Revision: 1918 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1918&view=rev Author: ysm906 Date: 2010-07-29 02:27:39 +0000 (Thu, 29 Jul 2010) Log Message: ----------- implement mediator service & client Modified Paths: -------------- code/trunk/Makefile code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java code/trunk/shell-ws-client/Makefile code/trunk/shell-ws-client/pom.xml code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java code/trunk/shell-ws-service/pom.xml code/trunk/shell-ws-service/src/main/java/server_sample/IMediator.java code/trunk/shell-ws-service/src/main/java/server_sample/MediatorImpl.java Modified: code/trunk/Makefile =================================================================== --- code/trunk/Makefile 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/Makefile 2010-07-29 02:27:39 UTC (rev 1918) @@ -83,7 +83,7 @@ build: mvn clean package assembly:assembly -Dmaven.test.skip=true - mvn install + #mvn install run: java -jar target/shell-1.0-SNAPSHOT.dir/shell-1.0-SNAPSHOT/shell-ws-service-1.0-SNAPSHOT.jar ${SERVER_HOSTNAME} ${SERVER_PORT} Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/CommandPlugin.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -281,6 +281,33 @@ } } + //////////// TEST /////////////////////////////////////////////// + public void runCommand(String cmd) { + if (cmd != null) { + try{ + if (cmd.equals("") || cmd.startsWith("#")) { + + } else if (cmd.startsWith("!")) { + + } else { + cmd = normalizeCommand(cmd); + //cmd = preParse(cmd); + setCommand(cmd); + cmdLine = + getParser().parse(options, cmd.split(" "), + stopAtNonOption); + if (!isExit(cmdLine)) { + if (!executeParent()) + execute(); + } + } + }catch(Exception e){ + //log.error(e); + e.printStackTrace(); + } + } + }//////////////////////////////////////////////////////////////// + private void launchApp(String trim) { String os = System.getProperty("os.name"); String p = ""; Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -111,7 +111,7 @@ plugin.read(sbuf.toString()); } else - plugin.read(); + plugin.read(); } } catch (Exception t) { Modified: code/trunk/shell-ws-client/Makefile =================================================================== --- code/trunk/shell-ws-client/Makefile 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/Makefile 2010-07-29 02:27:39 UTC (rev 1918) @@ -9,7 +9,8 @@ SERVER_PORT=8998 SERVER_HOSTNAME=$(shell hostname) -ENDPOINT=CyberaideShell +#ENDPOINT=CyberaideShell +ENDPOINT=mediator ###################################################################### # WHEN JUST CALLING MAKE @@ -42,7 +43,8 @@ make build; make run; run: - mvn -e exec:java -Dexec.mainClass=client.CyberaideShellClient + #mvn -e exec:java -Dexec.mainClass=client.CyberaideShellClient + mvn -e exec:java -Dexec.mainClass=client_sample.MediatorClient build: #cp pom_copy.xml pom.xml; perl -pi -e 's/SERVERADDRESS/http:\/\/${SERVER_HOSTNAME}:${SERVER_PORT}/g' pom.xml; perl -pi -e 's/ENDPOINT/http:\/\/${ENDPOINT}/g' pom.xml; make gen; Modified: code/trunk/shell-ws-client/pom.xml =================================================================== --- code/trunk/shell-ws-client/pom.xml 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/pom.xml 2010-07-29 02:27:39 UTC (rev 1918) @@ -124,7 +124,7 @@ <properties> <cxf.version>2.1</cxf.version> <wsdllocation>http://moon.local:8998</wsdllocation> - <wsdlname>CyberaideShell?wsdl</wsdlname> + <wsdlname>mediator?wsdl</wsdlname> <basedir>.</basedir> </properties> <dependencies> Modified: code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/src/main/java/client_sample/MediatorClient.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -4,19 +4,103 @@ import org.cyberaide.client.authentication.impl.CyberaideClientFactory; import server_sample.*; +import java.io.IOException; +import java.io.BufferedReader; +import java.io.InputStreamReader; public class MediatorClient { - public static void main(String argv[]) { - MediatorImplService ms = new MediatorImplService(); - IMediator mediator = ms.getMediatorImplPort(); - ClientLoginModule module=CyberaideClientFactory.getModule(); - if(!module.login(mediator)) { - System.out.println("authentication failed"); - return; + private MediatorImplService mediatorService; + private IMediator mediator; + private ClientLoginModule module; + + private final String CYBERSHELL = "cybershell"; + + public MediatorClient(){ + mediatorService = new MediatorImplService(); + mediator = mediatorService.getMediatorImplPort(); + module = CyberaideClientFactory.getModule(); + } + + private boolean authenticate(){ + boolean rtnVal = true; + + if(!module.login(mediator)){ + System.out.println("Authentication failed."); + rtnVal = false; + } + + return rtnVal; + } + + private void runClient(){ + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + String prompt = CYBERSHELL; // default prompt + + while(true){ + System.out.print(prompt+"> "); + String cmd = ""; + String result = null; + + try{ + cmd = in.readLine(); + }catch(IOException e){ + + } + + if(cmd.toLowerCase().equals("exit")){ + System.out.println("Exiting client..."); + break; + }else{ + int length = getTokenLength(cmd); + + if(length > 1){ + if(prompt.equals(CYBERSHELL)){ + result = mediator.runCommand(cmd); + }else{ + result = mediator.runCommand(prompt+" -"+cmd); + } + }else if(length == 1){ + if(!prompt.equals(CYBERSHELL)){ + if(cmd.toLowerCase().equals("return")){ + prompt = CYBERSHELL; + }else{ + result = mediator.runCommand(prompt+" -"+cmd); + } + }else if(mediator.hasPlugin(cmd)){ + prompt = cmd; + }else{ + System.out.println("Invalid command"); + } } - else { - String result = mediator.jobsubmit("20080808"); - System.out.println(result); - } + + //System.out.println(result); + } } + } + + private int getTokenLength(String str){ + String [] token = str.split(" "); + + return token.length; + } + + public static void main(String argv[]) { + MediatorClient client = new MediatorClient(); + + if(client.authenticate()){ + client.runClient(); + } + + /*MediatorImplService ms = new MediatorImplService(); + *IMediator mediator = ms.getMediatorImplPort(); + *ClientLoginModule module=CyberaideClientFactory.getModule(); + *if(!module.login(mediator)) { + * System.out.println("authentication failed"); + * return; + *} else { + * String result = mediator.jobsubmit("20080808"); + * System.out.println(result); + *} + */ + } } Modified: code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/src/main/java/server_sample/IMediator.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -11,7 +11,7 @@ /** * This class was generated by Apache CXF 2.1 - * Fri Jan 30 18:12:31 EST 2009 + * Wed Jul 28 22:22:07 EDT 2010 * Generated source version: 2.1 * */ @@ -22,11 +22,20 @@ public interface IMediator { @WebResult(name = "return", targetNamespace = "") - @RequestWrapper(localName = "jobsubmit", targetNamespace = "http://server_sample/", className = "server_sample.Jobsubmit") - @ResponseWrapper(localName = "jobsubmitResponse", targetNamespace = "http://server_sample/", className = "server_sample.JobsubmitResponse") + @RequestWrapper(localName = "runCommand", targetNamespace = "http://server_sample/", className = "server_sample.RunCommand") + @ResponseWrapper(localName = "runCommandResponse", targetNamespace = "http://server_sample/", className = "server_sample.RunCommandResponse") @WebMethod - public java.lang.String jobsubmit( - @WebParam(name = "arg0", targetNamespace = "") - java.lang.String arg0 + public java.lang.String runCommand( + @WebParam(name = "cmd", targetNamespace = "") + java.lang.String cmd ); + + @WebResult(name = "return", targetNamespace = "") + @RequestWrapper(localName = "hasPlugin", targetNamespace = "http://server_sample/", className = "server_sample.HasPlugin") + @ResponseWrapper(localName = "hasPluginResponse", targetNamespace = "http://server_sample/", className = "server_sample.HasPluginResponse") + @WebMethod + public boolean hasPlugin( + @WebParam(name = "name", targetNamespace = "") + java.lang.String name + ); } Modified: code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/src/main/java/server_sample/MediatorImplService.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -11,12 +11,12 @@ /** * This class was generated by Apache CXF 2.1 - * Fri Jan 30 18:12:31 EST 2009 + * Wed Jul 28 22:22:07 EDT 2010 * Generated source version: 2.1 * */ -@WebServiceClient(name = "MediatorImplService", targetNamespace = "http://server_sample/", wsdlLocation = "http://iris04.rit.edu:8998/mediator?wsdl") +@WebServiceClient(name = "MediatorImplService", targetNamespace = "http://server_sample/", wsdlLocation = "http://moon.local:8998/mediator?wsdl") public class MediatorImplService extends Service { public final static URL WSDL_LOCATION; @@ -25,9 +25,9 @@ static { URL url = null; try { - url = new URL("http://iris04.rit.edu:8998/mediator?wsdl"); + url = new URL("http://moon.local:8998/mediator?wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from http://iris04.rit.edu:8998/mediator?wsdl"); + System.err.println("Can not initialize the default wsdl from http://moon.local:8998/mediator?wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; Modified: code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-client/src/main/java/server_sample/ObjectFactory.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -24,8 +24,10 @@ @XmlRegistry public class ObjectFactory { - private final static QName _Jobsubmit_QNAME = new QName("http://server_sample/", "jobsubmit"); - private final static QName _JobsubmitResponse_QNAME = new QName("http://server_sample/", "jobsubmitResponse"); + private final static QName _RunCommand_QNAME = new QName("http://server_sample/", "runCommand"); + private final static QName _RunCommandResponse_QNAME = new QName("http://server_sample/", "runCommandResponse"); + private final static QName _HasPlugin_QNAME = new QName("http://server_sample/", "hasPlugin"); + private final static QName _HasPluginResponse_QNAME = new QName("http://server_sample/", "hasPluginResponse"); /** * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: server_sample @@ -35,37 +37,71 @@ } /** - * Create an instance of {@link Jobsubmit } + * Create an instance of {@link HasPlugin } * */ - public Jobsubmit createJobsubmit() { - return new Jobsubmit(); + public HasPlugin createHasPlugin() { + return new HasPlugin(); } /** - * Create an instance of {@link JobsubmitResponse } + * Create an instance of {@link RunCommand } * */ - public JobsubmitResponse createJobsubmitResponse() { - return new JobsubmitResponse(); + public RunCommand createRunCommand() { + return new RunCommand(); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Jobsubmit }{@code >}} + * Create an instance of {@link RunCommandResponse } * */ - @XmlElementDecl(namespace = "http://server_sample/", name = "jobsubmit") - public JAXBElement<Jobsubmit> createJobsubmit(Jobsubmit value) { - return new JAXBElement<Jobsubmit>(_Jobsubmit_QNAME, Jobsubmit.class, null, value); + public RunCommandResponse createRunCommandResponse() { + return new RunCommandResponse(); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link JobsubmitResponse }{@code >}} + * Create an instance of {@link HasPluginResponse } * */ - @XmlElementDecl(namespace = "http://server_sample/", name = "jobsubmitResponse") - public JAXBElement<JobsubmitResponse> createJobsubmitResponse(JobsubmitResponse value) { - return new JAXBElement<JobsubmitResponse>(_JobsubmitResponse_QNAME, JobsubmitResponse.class, null, value); + public HasPluginResponse createHasPluginResponse() { + return new HasPluginResponse(); } + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RunCommand }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://server_sample/", name = "runCommand") + public JAXBElement<RunCommand> createRunCommand(RunCommand value) { + return new JAXBElement<RunCommand>(_RunCommand_QNAME, RunCommand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RunCommandResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://server_sample/", name = "runCommandResponse") + public JAXBElement<RunCommandResponse> createRunCommandResponse(RunCommandResponse value) { + return new JAXBElement<RunCommandResponse>(_RunCommandResponse_QNAME, RunCommandResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HasPlugin }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://server_sample/", name = "hasPlugin") + public JAXBElement<HasPlugin> createHasPlugin(HasPlugin value) { + return new JAXBElement<HasPlugin>(_HasPlugin_QNAME, HasPlugin.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HasPluginResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://server_sample/", name = "hasPluginResponse") + public JAXBElement<HasPluginResponse> createHasPluginResponse(HasPluginResponse value) { + return new JAXBElement<HasPluginResponse>(_HasPluginResponse_QNAME, HasPluginResponse.class, null, value); + } + } Modified: code/trunk/shell-ws-service/pom.xml =================================================================== --- code/trunk/shell-ws-service/pom.xml 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-service/pom.xml 2010-07-29 02:27:39 UTC (rev 1918) @@ -134,7 +134,8 @@ <configuration> <archive> <manifest> - <mainClass>server.Service</mainClass> + <!-- mainClass>server.Service</mainClass --> + <mainClass>server_sample.MediatorService</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib</classpathPrefix> </manifest> @@ -153,7 +154,7 @@ <configuration> <className>org.cyberaide.ws.service.CyberaideShell</className> <classpath>${basedir}</classpath> - <outputFile>${basedir}/src/main/wsdl/CyberaidShell.wsdl</outputFile> + <outputFile>${basedir}/src/main/wsdl/CyberaideShell.wsdl</outputFile> <genWsdl>true</genWsdl> </configuration> <goals> Modified: code/trunk/shell-ws-service/src/main/java/server_sample/IMediator.java =================================================================== --- code/trunk/shell-ws-service/src/main/java/server_sample/IMediator.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-service/src/main/java/server_sample/IMediator.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -2,9 +2,13 @@ import javax.jws.WebService; import javax.jws.WebMethod; +import javax.jws.WebParam; @WebService public interface IMediator { - @WebMethod - public String jobsubmit(String strJob); + @WebMethod + public String runCommand(@WebParam(name="cmd") String cmd); + + @WebMethod + public boolean hasPlugin(@WebParam(name="name") String name); } Modified: code/trunk/shell-ws-service/src/main/java/server_sample/MediatorImpl.java =================================================================== --- code/trunk/shell-ws-service/src/main/java/server_sample/MediatorImpl.java 2010-07-26 00:20:20 UTC (rev 1917) +++ code/trunk/shell-ws-service/src/main/java/server_sample/MediatorImpl.java 2010-07-29 02:27:39 UTC (rev 1918) @@ -3,10 +3,31 @@ import javax.jws.WebService; import javax.jws.WebMethod; +import org.cyberaide.core.*; +import org.cyberaide.io.StandardIO; + @WebService public class MediatorImpl implements IMediator { - @WebMethod - public String jobsubmit(String strJob) { - return ("You submitted job: " + strJob); - } + private CommandPlugin cyber; + + public MediatorImpl(){ + ShellManager.loadPlugins(); + StandardIO io=new StandardIO(); + ShellContext context=new ShellContext(); + context.setIo(io); + cyber = CyberShell.getShellInstance(); + cyber.setContext(context); + } + + @WebMethod + public String runCommand(String cmd){ + cyber.runCommand(cmd); + + return "tested command... : "+cmd; + } + + @WebMethod + public boolean hasPlugin(String name){ + return ShellManager.hasPlugin(name); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-07-26 00:20:27
|
Revision: 1917 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1917&view=rev Author: ysm906 Date: 2010-07-26 00:20:20 +0000 (Mon, 26 Jul 2010) Log Message: ----------- some web service test Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java code/trunk/shell-ws-client/src/main/java/client/CyberaideShellClient.java code/trunk/shell-ws-service/src/main/java/server/CyberaideShell.java code/trunk/shell-ws-service/src/main/java/server/CyberaideShellInterface.java Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java 2010-07-25 16:24:34 UTC (rev 1916) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/CyberShell.java 2010-07-26 00:20:20 UTC (rev 1917) @@ -52,8 +52,6 @@ } - - public static CommandPlugin getShellInstance() { Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-07-25 16:24:34 UTC (rev 1916) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-07-26 00:20:20 UTC (rev 1917) @@ -24,8 +24,8 @@ pluginMap.put(plugin.getPrompt().toUpperCase(), plugin); } catch (Throwable e) { log.error("Error loading class " + nextShell); - //log.error(e); - //e.printStackTrace(); + log.error(e); + e.printStackTrace(); } } Modified: code/trunk/shell-ws-client/src/main/java/client/CyberaideShellClient.java =================================================================== --- code/trunk/shell-ws-client/src/main/java/client/CyberaideShellClient.java 2010-07-25 16:24:34 UTC (rev 1916) +++ code/trunk/shell-ws-client/src/main/java/client/CyberaideShellClient.java 2010-07-26 00:20:20 UTC (rev 1917) @@ -53,6 +53,9 @@ import server.*; +import java.io.BufferedReader; +import java.io.InputStreamReader; + public class CyberaideShellClient { private CyberaideShellInterface shell; @@ -69,7 +72,10 @@ if(module.login(shell)) { if(shell.test()) { System.out.println("Welcome to Cybershell!"); - CyberShell.runShell(shell); + ///// TEST //////////////////////////////////// + runShell(); + /////////////////////////////////////////////// + //CyberShell.runShell(shell); } else { System.out.println("Authentication failed"); @@ -79,6 +85,30 @@ System.out.println("Authentication failed"); } } + ////// TEST //////////////////// + private void runShell(){ + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + String prompt = "cybershell"; // default prompt + + while(true){ + System.out.print(prompt+"> "); + String line = ""; + try{ + line = in.readLine(); + }catch(IOException e){ + + } + if(line.toLowerCase().equals("exit")){ + System.out.println("Exiting client..."); + break; + }else{ + String response = shell.mediate(line); + // write code so that prompt can be changed + System.out.println(response); + } + } + }/////////////////////////////////// + /* public CyberaideShellClient(String address) { try { Modified: code/trunk/shell-ws-service/src/main/java/server/CyberaideShell.java =================================================================== --- code/trunk/shell-ws-service/src/main/java/server/CyberaideShell.java 2010-07-25 16:24:34 UTC (rev 1916) +++ code/trunk/shell-ws-service/src/main/java/server/CyberaideShell.java 2010-07-26 00:20:20 UTC (rev 1917) @@ -73,10 +73,15 @@ /** * Test the connection. */ - @WebMethod + @WebMethod public boolean test() { - return true; + return true; } + ///// TEST ///////////////////////// + @WebMethod + public String mediate(String message){ + return "...... test ........ "+message; + }/////////////////////////////////// /** * Runs the script Modified: code/trunk/shell-ws-service/src/main/java/server/CyberaideShellInterface.java =================================================================== --- code/trunk/shell-ws-service/src/main/java/server/CyberaideShellInterface.java 2010-07-25 16:24:34 UTC (rev 1916) +++ code/trunk/shell-ws-service/src/main/java/server/CyberaideShellInterface.java 2010-07-26 00:20:20 UTC (rev 1917) @@ -15,7 +15,10 @@ */ @WebMethod public boolean test(); - + ////// TEST //////////////////////////// + @WebMethod + public String mediate(@WebParam(name="message") String message); + //////////////////////////////////////// /** * Load a script with commands to the service. This does not actually * start the script, it merely sends the commands. The script param can This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-07-25 16:24:41
|
Revision: 1916 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1916&view=rev Author: ysm906 Date: 2010-07-25 16:24:34 +0000 (Sun, 25 Jul 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-ws-service/src/main/java/server/Service.java Modified: code/trunk/shell-ws-service/src/main/java/server/Service.java =================================================================== --- code/trunk/shell-ws-service/src/main/java/server/Service.java 2010-07-17 20:16:18 UTC (rev 1915) +++ code/trunk/shell-ws-service/src/main/java/server/Service.java 2010-07-25 16:24:34 UTC (rev 1916) @@ -9,7 +9,7 @@ } - public static void main(String[] args) { + public static void main(String[] args) { LoginModule module = CyberaideFactory.getModule(); module.service("CyberaideShell", new CyberaideShell(),args[0],args[1]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-07-17 20:16:26
|
Revision: 1915 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1915&view=rev Author: ysm906 Date: 2010-07-17 20:16:18 +0000 (Sat, 17 Jul 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/Makefile code/trunk/pom.xml Modified: code/trunk/Makefile =================================================================== --- code/trunk/Makefile 2010-06-24 03:53:04 UTC (rev 1914) +++ code/trunk/Makefile 2010-07-17 20:16:18 UTC (rev 1915) @@ -83,7 +83,7 @@ build: mvn clean package assembly:assembly -Dmaven.test.skip=true - + mvn install run: java -jar target/shell-1.0-SNAPSHOT.dir/shell-1.0-SNAPSHOT/shell-ws-service-1.0-SNAPSHOT.jar ${SERVER_HOSTNAME} ${SERVER_PORT} Modified: code/trunk/pom.xml =================================================================== --- code/trunk/pom.xml 2010-06-24 03:53:04 UTC (rev 1914) +++ code/trunk/pom.xml 2010-07-17 20:16:18 UTC (rev 1915) @@ -304,11 +304,11 @@ <url>file://${user.home}/.m2/repository</url> </repository> - <repository> + <!-- repository> <id>grid.rit.edu</id> <name>Gregors Libs</name> <url>http://grid.rit.edu/cyberaide</url> - </repository> + </repository --> <repository> <id>maven2 repo1</id> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-24 03:53:10
|
Revision: 1914 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1914&view=rev Author: ysm906 Date: 2010-06-24 03:53:04 +0000 (Thu, 24 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-ws-client/pom.xml code/trunk/shell-ws-client/pom.xml.in Modified: code/trunk/shell-ws-client/pom.xml =================================================================== --- code/trunk/shell-ws-client/pom.xml 2010-06-17 04:31:44 UTC (rev 1913) +++ code/trunk/shell-ws-client/pom.xml 2010-06-24 03:53:04 UTC (rev 1914) @@ -123,7 +123,7 @@ </repositories> <properties> <cxf.version>2.1</cxf.version> - <wsdllocation>http://ubuntu:8998</wsdllocation> + <wsdllocation>http://moon.local:8998</wsdllocation> <wsdlname>CyberaideShell?wsdl</wsdlname> <basedir>.</basedir> </properties> @@ -345,11 +345,16 @@ <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.0.1</version> </plugin> - <plugin> + <!-- plugin> <groupId>com.agilejava.maven.plugins</groupId> <artifactId>maven-overview-plugin</artifactId> <version>1.1-SNAPSHOT</version> - </plugin> + </plugin --> + <plugin> + <groupId>com.googlecode.maven-overview-plugin</groupId> + <artifactId>maven-overview-plugin</artifactId> + <version>1.6</version> + </plugin> <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> Modified: code/trunk/shell-ws-client/pom.xml.in =================================================================== --- code/trunk/shell-ws-client/pom.xml.in 2010-06-17 04:31:44 UTC (rev 1913) +++ code/trunk/shell-ws-client/pom.xml.in 2010-06-24 03:53:04 UTC (rev 1914) @@ -344,11 +344,16 @@ <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.0.1</version> </plugin> - <plugin> + <!-- plugin> <groupId>com.agilejava.maven.plugins</groupId> <artifactId>maven-overview-plugin</artifactId> <version>1.1-SNAPSHOT</version> - </plugin> + </plugin --> + <plugin> + <groupId>com.googlecode.maven-overview-plugin</groupId> + <artifactId>maven-overview-plugin</artifactId> + <version>1.6</version> + </plugin> <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-17 04:31:50
|
Revision: 1913 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1913&view=rev Author: ysm906 Date: 2010-06-17 04:31:44 +0000 (Thu, 17 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/man/types/teragrid.infoservice.url.txt code/trunk/shell-cli/src/main/java/org/cyberaide/queue/ResourceChecker.java Added Paths: ----------- code/trunk/etc/objects/data/teragrid.infoservice.outage.txt code/trunk/etc/objects/types/teragrid.infoservice.outage.txt code/trunk/man/types/teragrid.infoservice.outage.txt Added: code/trunk/etc/objects/data/teragrid.infoservice.outage.txt =================================================================== --- code/trunk/etc/objects/data/teragrid.infoservice.outage.txt (rev 0) +++ code/trunk/etc/objects/data/teragrid.infoservice.outage.txt 2010-06-17 04:31:44 UTC (rev 1913) @@ -0,0 +1 @@ +interval : 5 \ No newline at end of file Property changes on: code/trunk/etc/objects/data/teragrid.infoservice.outage.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/etc/objects/types/teragrid.infoservice.outage.txt =================================================================== --- code/trunk/etc/objects/types/teragrid.infoservice.outage.txt (rev 0) +++ code/trunk/etc/objects/types/teragrid.infoservice.outage.txt 2010-06-17 04:31:44 UTC (rev 1913) @@ -0,0 +1 @@ +interval : true \ No newline at end of file Property changes on: code/trunk/etc/objects/types/teragrid.infoservice.outage.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/man/types/teragrid.infoservice.outage.txt =================================================================== --- code/trunk/man/types/teragrid.infoservice.outage.txt (rev 0) +++ code/trunk/man/types/teragrid.infoservice.outage.txt 2010-06-17 04:31:44 UTC (rev 1913) @@ -0,0 +1,31 @@ +NAME + + TERAGRID.INFOSERVICE.OUTAGE - Describes the interval to detect TeraGrid site + outages. + +SYNOPSIS + + TERAGRID.INFOSERVICE.OUTAGE ::= interval + +DESCRIPTION + + TERAGRID.INFOSERVICE.OUTAGE is a configuration to set the interval to retrieve + TeraGrid site outage information from the TeraGrid Information Services. + + TERAGRID.INFOSERVICE.OUTAGE := + interval : an interval to check site outage (unit: minutes) + +ATTRIBUTES + + Some of the attributes may be REQUIRED which is indicated in the + following table with a true. An attribute is optional, if it has the + value optional. A Valid object must have a value for each true + attribute. + + interval : true + +SEE ALSO + + teragrid.infoservice.url.txt + +BUGS Property changes on: code/trunk/man/types/teragrid.infoservice.outage.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: code/trunk/man/types/teragrid.infoservice.url.txt =================================================================== --- code/trunk/man/types/teragrid.infoservice.url.txt 2010-06-16 04:22:22 UTC (rev 1912) +++ code/trunk/man/types/teragrid.infoservice.url.txt 2010-06-17 04:31:44 UTC (rev 1913) @@ -15,7 +15,7 @@ TERAGRID.INFOSERVICE.URL := webmdsendpoint : TeraGrid WebMDS url - strqueryleft : xpath query + strqueryleft : xPath query strqueryright : tgoutageurl : web application providing TeraGrid site outage information @@ -36,4 +36,4 @@ none -BUGS \ No newline at end of file +BUGS Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/ResourceChecker.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/ResourceChecker.java 2010-06-16 04:22:22 UTC (rev 1912) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/ResourceChecker.java 2010-06-17 04:31:44 UTC (rev 1913) @@ -6,6 +6,7 @@ import org.cyberaide.info.InfoService; import org.cyberaide.core.CoGObject; +import org.cyberaide.core.CoGObjectsUtil; /** * check TeraGrid site outage based on the given interval @@ -15,7 +16,14 @@ private EventListenerList listenerList; public ResourceChecker(){ - outageCheckIntervalMin = 5; // default, TODO: read from file + try{ + List<CoGObject> intervals = CoGObjectsUtil + .readObject("teragrid.infoservice.outage","ascii"); + outageCheckIntervalMin = + Integer.parseInt(intervals.get(0).get("interval")); + }catch(Exception e){ + e.printStackTrace(); + } listenerList = new EventListenerList(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-16 04:22:28
|
Revision: 1912 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1912&view=rev Author: ysm906 Date: 2010-06-16 04:22:22 +0000 (Wed, 16 Jun 2010) Log Message: ----------- Added Paths: ----------- code/trunk/etc/objects/data/teragrid.infoservice.url.txt code/trunk/etc/objects/types/teragrid.infoservice.url.txt code/trunk/man/types/teragrid.infoservice.url.txt Added: code/trunk/etc/objects/data/teragrid.infoservice.url.txt =================================================================== --- code/trunk/etc/objects/data/teragrid.infoservice.url.txt (rev 0) +++ code/trunk/etc/objects/data/teragrid.infoservice.url.txt 2010-06-16 04:22:22 UTC (rev 1912) @@ -0,0 +1,4 @@ +webmdsendpoint : http://info.teragrid.org:8080/webmds/ +strqueryleft : webmds?info=tgislocal&xmlSource.tgislocal.param.xpathQuery= +strqueryright : //V4KitsRP//KitRegistration +tgoutageurl : http://info1.dyn.teragrid.org/web-apps/xml/tg-outages-v1/current/ \ No newline at end of file Property changes on: code/trunk/etc/objects/data/teragrid.infoservice.url.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/etc/objects/types/teragrid.infoservice.url.txt =================================================================== --- code/trunk/etc/objects/types/teragrid.infoservice.url.txt (rev 0) +++ code/trunk/etc/objects/types/teragrid.infoservice.url.txt 2010-06-16 04:22:22 UTC (rev 1912) @@ -0,0 +1,4 @@ +webmdsendpoint : true +strqueryleft : true +strqueryright : true +tgoutageurl : true \ No newline at end of file Property changes on: code/trunk/etc/objects/types/teragrid.infoservice.url.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/man/types/teragrid.infoservice.url.txt =================================================================== --- code/trunk/man/types/teragrid.infoservice.url.txt (rev 0) +++ code/trunk/man/types/teragrid.infoservice.url.txt 2010-06-16 04:22:22 UTC (rev 1912) @@ -0,0 +1,39 @@ +NAME + + TERAGRID.INFOSERVICE.URL - Describes the URLs of the TeraGrid Information + Services (WebMDS). + +SYNOPSIS + + TERAGRID.INFOSERVICE.URL ::= webmdsendpoint strqueryleft strqueryright + tgoutageurl + +DESCRIPTION + + TERAGRID.INFOSERVICE.URL provides the WebMDS url to configure the Cyberaide + InfoService component. + + TERAGRID.INFOSERVICE.URL := + webmdsendpoint : TeraGrid WebMDS url + strqueryleft : xpath query + strqueryright : + tgoutageurl : web application providing TeraGrid site outage + information + +ATTRIBUTES + + Some of the attributes may be REQUIRED which is indicated in the + following table with a true. An attribute is optional, if it has the + value optional. A Valid object must have a value for each true + attribute. + + webmdsendpoint : true + strqueryleft : true + strqueryright : true + tgoutageurl : true + +SEE ALSO + + none + +BUGS \ No newline at end of file Property changes on: code/trunk/man/types/teragrid.infoservice.url.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-16 04:17:47
|
Revision: 1911 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1911&view=rev Author: ysm906 Date: 2010-06-16 04:17:41 +0000 (Wed, 16 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/etc/objects/types/teragrid.resources.gram4.txt code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml Modified: code/trunk/etc/objects/types/teragrid.resources.gram4.txt =================================================================== --- code/trunk/etc/objects/types/teragrid.resources.gram4.txt 2010-06-12 02:53:09 UTC (rev 1910) +++ code/trunk/etc/objects/types/teragrid.resources.gram4.txt 2010-06-16 04:17:41 UTC (rev 1911) @@ -3,4 +3,3 @@ endpoint : true LRM : true cpuPerNode : false -walltime : true \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java 2010-06-12 02:53:09 UTC (rev 1910) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java 2010-06-16 04:17:41 UTC (rev 1911) @@ -21,118 +21,133 @@ import org.w3c.dom.NodeList; import org.cyberaide.core.CoGObject; +import org.cyberaide.core.CoGObjectsUtil; public class InfoService { - // array to hold all the service info - // private ServiceInfoEntry[] allService; - private CoGObject[] allService = null; - // BUG: the endpoint needs a getter and setter attribute - private static String webmdsEndpoint = "http://info.teragrid.org:8080/webmds/"; - private static String strQueryLeft = "webmds?info=tgislocal&xmlSource.tgislocal.param.xpathQuery="; - private static String strQueryRight = "//V4KitsRP//KitRegistration"; - private static String tgOutagesUrl = "http://info1.dyn.teragrid.org/web-apps/xml/tg-outages-v1/current/"; + // array to hold all the service info + // private ServiceInfoEntry[] allService; + private CoGObject[] allService = null; + // BUG: the endpoint needs a getter and setter attribute + private static String webmdsEndpoint; + private static String strQueryLeft; + private static String strQueryRight; + private static String tgOutagesUrl; + + static { + try{ + List<CoGObject> urls = + CoGObjectsUtil.readObject("teragrid.infoservice.url","ascii"); - /** - * return the array containing info fetched from teragrid - */ - public CoGObject[] getServices(String serviceType) { - allService = null; - try { - String strQueryService = "//Service[Type='" + serviceType + "']"; - String strQuery = webmdsEndpoint + strQueryLeft + strQueryRight - + strQueryService; - URL url = new URL(strQuery); - URLConnection con = url.openConnection(); - BufferedReader in = new BufferedReader(new InputStreamReader(con - .getInputStream())); - StringBuffer content = new StringBuffer(); - String str; - while ((str = in.readLine()) != null) { - content.append(str); - content.append("\n"); - } - in.close(); - toCoGObject(new String(content)); - } catch (MalformedURLException e) { - } catch (IOException e) { - // e.printStackTrace(System.err); - } - return allService; + webmdsEndpoint = urls.get(0).get("webmdsendpoint"); + strQueryLeft = urls.get(0).get("strqueryleft"); + strQueryRight = urls.get(0).get("strqueryright"); + tgOutagesUrl = urls.get(0).get("tgoutageurl"); + }catch(Exception e){ + e.printStackTrace(); } - - /** - * parse the returned xml raw data and store the info into array - */ - private String toCoGObject(String content) { - Document origDoc = null; - - // build xml doc from the project description - try { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - dbf.setCoalescing(true); - origDoc = dbf.newDocumentBuilder().parse( - new ByteArrayInputStream(content.getBytes())); - } catch (Exception e) { - e.printStackTrace(System.err); - } - - // get all the service nodes - Node root = origDoc.getFirstChild(); - NodeList nodes = root.getChildNodes(); - - int numServices = 0; - for (int i = 0; i < nodes.getLength(); ++i) { - Node aNode = nodes.item(i); - if (aNode.getNodeName().equals("Service")) { - ++numServices; + } + + /** + * return the array containing info fetched from teragrid + */ + public CoGObject[] getServices(String serviceType) { + allService = null; + try { + String strQueryService = "//Service[Type='" + serviceType + "']"; + String strQuery = webmdsEndpoint + strQueryLeft + strQueryRight + + strQueryService; + URL url = new URL(strQuery); + URLConnection con = url.openConnection(); + BufferedReader in = new BufferedReader(new InputStreamReader(con + .getInputStream())); + StringBuffer content = new StringBuffer(); + String str; + while ((str = in.readLine()) != null) { + content.append(str); + content.append("\n"); + } + in.close(); + toCoGObject(new String(content)); + } catch (MalformedURLException e) { + } catch (IOException e) { + // e.printStackTrace(System.err); + } + return allService; + } + + /** + * parse the returned xml raw data and store the info into array + */ + private String toCoGObject(String content) { + Document origDoc = null; + + // build xml doc from the project description + try { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setCoalescing(true); + origDoc = dbf.newDocumentBuilder().parse + (new ByteArrayInputStream(content.getBytes())); + } catch (Exception e) { + e.printStackTrace(System.err); + } + + // get all the service nodes + Node root = origDoc.getFirstChild(); + NodeList nodes = root.getChildNodes(); + + int numServices = 0; + for (int i = 0; i < nodes.getLength(); ++i) { + Node aNode = nodes.item(i); + if (aNode.getNodeName().equals("Service")) { + ++numServices; + } + } + // allService = new ServiceInfoEntry[numServices]; + allService = new CoGObject[numServices]; + for (int i = 0; i < nodes.getLength(); ++i) { + Node aNode = nodes.item(i); + // parse and get info from Service nodes + if (aNode.getNodeName().equals("Service")) { + NodeList info = aNode.getChildNodes(); + allService[i] = new CoGObject(); + for (int j = 0; j < info.getLength(); ++j) { + String key = info.item(j).getNodeName(); + // System.out.println("key = "+key); + // String key = aNode.getNodeName(); + try{ + if (!key.equals("#text")) { + String value = info.item(j).getFirstChild() + .getNodeValue(); + allService[i].set(key, value); } + }catch(Exception e){ + + } } - // allService = new ServiceInfoEntry[numServices]; - allService = new CoGObject[numServices]; - for (int i = 0; i < nodes.getLength(); ++i) { - Node aNode = nodes.item(i); - // parse and get info from Service nodes - if (aNode.getNodeName().equals("Service")) { - NodeList info = aNode.getChildNodes(); - allService[i] = new CoGObject(); - for (int j = 0; j < info.getLength(); ++j) { - String key = info.item(j).getNodeName(); - // System.out.println("key = "+key); - // String key = aNode.getNodeName(); - try{ - if (!key.equals("#text")) { - String value = info.item(j).getFirstChild() - .getNodeValue(); - allService[i].set(key, value); - } - }catch(Exception e){ - - } - } - } - } - return null; + } } - + return null; + } + /** * get tg-outages information from TeraGrid Information Services */ public static List<String> getOutageSites(){ List<String> outageSites = new LinkedList<String>(); - + try{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(tgOutagesUrl); NodeList nlist = doc.getElementsByTagName("ResourceID"); - + for(int i=0; i<nlist.getLength(); i++){ outageSites.add(nlist.item(i).getTextContent()); } }catch(Exception e){ e.printStackTrace(); } - + return outageSites; } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-06-12 02:53:09 UTC (rev 1910) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-06-16 04:17:41 UTC (rev 1911) @@ -165,7 +165,7 @@ }else{ log.error("Queue \""+name+"\" does not exist."); } - }else{ + }else{ // default task / resource pool if(hasOption("task")){ if(hasOption("default")){ taskPool.setPolicy(defaultTaskPolicy); Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-12 02:53:09 UTC (rev 1910) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-16 04:17:41 UTC (rev 1911) @@ -14,7 +14,7 @@ */ public class TaskPool implements Pool { private Logger log = Logger.getLogger(this.getClass()); - private String id; + private String poolId; private Policy policy; //private List<CoGObject> tasks; private Object lock; @@ -25,7 +25,7 @@ */ public TaskPool(String name, Policy policy){ lock = new Object(); - id = name; + poolId = name; //tasks = Collections.synchronizedList(new LinkedList<CoGObject>()); taskPoolOperator = new TaskPoolOperator(); this.policy = policy; Modified: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-06-12 02:53:09 UTC (rev 1910) +++ code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-06-16 04:17:41 UTC (rev 1911) @@ -12,7 +12,7 @@ <property name="connection.pool_size">1</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="current_session_context_class">thread</property> - <property name="show_sql">false</property> + <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <mapping resource="Task.hbm.xml"/> </session-factory> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-12 02:53:16
|
Revision: 1910 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1910&view=rev Author: ysm906 Date: 2010-06-12 02:53:09 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskScheduler.java code/trunk/shell-cli/src/main/resources/Task.hbm.xml code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-06-12 02:53:09 UTC (rev 1910) @@ -17,6 +17,7 @@ private String mpi; private String walltime; private Date date; + private String replicated; public Task(){} @@ -131,4 +132,12 @@ public void setTimestamp(Date currentDate){ date = currentDate; } + + public String getReplicated(){ + return replicated; + } + + public void setReplicated(String bool){ + replicated = bool; + } } \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-12 02:53:09 UTC (rev 1910) @@ -16,16 +16,17 @@ private Logger log = Logger.getLogger(this.getClass()); private String id; private Policy policy; - private List<CoGObject> tasks; + //private List<CoGObject> tasks; private Object lock; private TaskPoolOperator taskPoolOperator; + /** * constructor */ public TaskPool(String name, Policy policy){ lock = new Object(); id = name; - tasks = Collections.synchronizedList(new LinkedList<CoGObject>()); + //tasks = Collections.synchronizedList(new LinkedList<CoGObject>()); taskPoolOperator = new TaskPoolOperator(); this.policy = policy; } @@ -62,7 +63,7 @@ String jobId = JobIdGenerator.getId(); task.set("jobid",jobId); - tasks.add(task); + //tasks.add(task); taskPoolOperator.add(task); @@ -79,7 +80,7 @@ public boolean remove(String id){ boolean removed = false; - synchronized(tasks){ + /*synchronized(tasks){ Iterator<CoGObject> iter = tasks.iterator(); while(iter.hasNext()){ CoGObject task = iter.next(); @@ -89,7 +90,7 @@ log.info("Task "+id+" has been removed from Task Pool."); } } - } + }*/ synchronized(lock){ taskPoolOperator.delete(id); log.info("Task "+id+" has been removed from Task Pool."); @@ -104,7 +105,7 @@ * @param id: task id */ public void suspend(String id){ - synchronized(tasks){ + /*synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ CoGObject task = iter.next(); @@ -114,7 +115,7 @@ log.info("Task "+id+" has been suspended."); } } - } + }*/ synchronized(lock){ taskPoolOperator.setSuspended(id); log.info("Task "+id+" has been suspended."); @@ -127,7 +128,7 @@ * @param id: task id */ public void resume(String id){ - synchronized(tasks){ + /*synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ CoGObject task = iter.next(); @@ -137,13 +138,24 @@ log.info("Task "+id+" has been resumed."); } } - } + }*/ synchronized(lock){ taskPoolOperator.clearSuspended(id); log.info("Task "+id+" has been resumed."); } } + /** + * clear the Replicated field in the task with the given id + * + * @param id: task id + */ + public void clearReplica(String id){ + if(policy instanceof TaskReplicatePolicy){ + taskPoolOperator.clearReplicated(id); + } + } + public CoGObject get(String id){ // TODO return null; // TODO @@ -158,7 +170,7 @@ CoGObject task = null; if(policy instanceof DefaultTaskPolicy){ - synchronized(tasks){ + /*synchronized(tasks){ if(tasks.size() > 0){ int index = 0; while((index<tasks.size()) && @@ -169,7 +181,7 @@ task = tasks.remove(index); } } - } + }*/ synchronized(lock){ if(!taskPoolOperator.isEmpty()){ task = taskPoolOperator.getFirst(); @@ -177,7 +189,7 @@ } } }else if(policy instanceof TaskReplicatePolicy){ - synchronized(tasks){ + /*synchronized(tasks){ if(tasks.size() > 0){ // don't submit task already submitted while it is on // teragrid resource. @@ -211,18 +223,15 @@ ((TaskReplicatePolicy)policy).add(task.get("jobid")); } } - } + }*/ synchronized(lock){ - // check if tasks is empty - // 1.check if already submitted to teragrid (don't take this) - // 2.check if suspended (don't take this) - // take task from tasks table if not (1 or 2) if(!taskPoolOperator.isEmpty()){ - + task = taskPoolOperator.getReplica(); + taskPoolOperator.setReplicated(task.get("jobid")); } } }else if(policy instanceof TaskRandomPolicy){ - synchronized(tasks){ + /*synchronized(tasks){ if(tasks.size() > 0){ int index = ((TaskRandomPolicy)policy).getRandomTaskIndex(tasks); @@ -230,9 +239,10 @@ task = tasks.remove(index); } } - } + }*/ synchronized(lock){ - + task = taskPoolOperator.getRandom(); + taskPoolOperator.delete(task.get("jobid")); } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java 2010-06-12 02:53:09 UTC (rev 1910) @@ -12,10 +12,8 @@ import org.hibernate.Query; import org.hibernate.Transaction; -// TODO: add rollback - /** - * TaskPoolOperator class + * TaskPoolOperator class provides interface with MySQL database using Hibernate */ public class TaskPoolOperator { private static final SessionFactory sessionFactory; @@ -24,10 +22,18 @@ sessionFactory = new Configuration().configure().buildSessionFactory(); } + /** + * constructor + */ public TaskPoolOperator(){ } + /** + * insert a task into the TASKS table + * + * @param cogTask: task object + */ public void add(CoGObject cogTask){ Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); @@ -54,12 +60,18 @@ session.clear(); tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); } } + /** + * set the suspended field to 'yes' + * + * @param jobid: task id + */ public void setSuspended(String jobid){ Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); @@ -75,12 +87,18 @@ session.clear(); tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); } } + /** + * set the suspended field to NULL + * + * @param jobid: task id + */ public void clearSuspended(String jobid){ Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); @@ -96,15 +114,76 @@ session.clear(); tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); } } + /** + * set the replicated field to 'yes' + * + * @param jobid: task id + */ + public void setReplicated(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query update = session.createQuery("update Task task "+ + "set task.replicated = :replicated" + +" where task.jobid = :jobid"); + update.setParameter("replicated","yes"); + update.setParameter("jobid",jobid); + update.executeUpdate(); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + tx.rollback(); + e.printStackTrace(); + }finally{ + session.close(); + } + } + + /** + * set the replicated field to NULL + * + * @param jobid: task id + */ + public void clearReplicated(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query update = session.createQuery("update Task task "+ + "set task.replicated = :replicated" + +" where task.jobid = :jobid"); + update.setParameter("replicated","NULL"); + update.setParameter("jobid",jobid); + update.executeUpdate(); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + tx.rollback(); + e.printStackTrace(); + }finally{ + session.close(); + } + } + + /** + * get a task based on the FIFO policy + * + * @return task object (CoGObject) + */ public CoGObject getFirst(){ CoGObject task = null; Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); try{ Query select = session.createQuery("select task.typename,"+ @@ -118,15 +197,19 @@ "task.executable,"+ "task.directory,"+ "task.mpi,"+ - "task.walltime,"+ - "min(timestamp) "+ + "task.walltime "+ "from Task task "+ - "where task.suspended is null"); + "where task.timestamp = "+ + "(select min(timestamp) "+ + "from Task task "+ + "where task.suspended is null)"); List result = select.list(); task = getTask((Object[])result.get(0)); session.flush(); session.clear(); + tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); @@ -134,9 +217,59 @@ return task; } + /** + * create a replica + * + * @return: task object (CoGObject) + */ + public CoGObject getReplica(){ + CoGObject task = null; + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query select = session.createQuery("select task.typename,"+ + "task.jobid,"+ + "task.inputfile,"+ + "task.outputfile,"+ + "task.errorfile,"+ + "task.suspended,"+ + "task.jobtype,"+ + "task.resource,"+ + "task.executable,"+ + "task.directory,"+ + "task.mpi,"+ + "task.walltime "+ + "from Task task "+ + "where task.timestamp = "+ + "(select min(timestamp) "+ + "from Task task "+ + "where task.suspended is null "+ + "and task.replicated is null)"); + List result = select.list(); + task = getTask((Object[])result.get(0)); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + tx.rollback(); + e.printStackTrace(); + }finally{ + session.close(); + } + return task; + } + + /** + * get a task with the given id + * + * @param jobid: task id + * @return task object (CoGObject) + */ public CoGObject get(String jobid){ CoGObject task = null; Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); try{ Query select = session.createQuery("select task.typename,"+ @@ -159,7 +292,9 @@ task = getTask((Object[])result.get(0)); session.flush(); session.clear(); + tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); @@ -167,6 +302,51 @@ return task; } + /** + * get a random task + * + * @return task object (CoGObject) + */ + public CoGObject getRandom(){ + CoGObject task = null; + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query select = session.createQuery("select task.typename,"+ + "task.jobid,"+ + "task.inputfile,"+ + "task.outputfile,"+ + "task.errorfile,"+ + "task.suspended,"+ + "task.jobtype,"+ + "task.resource,"+ + "task.executable,"+ + "task.directory,"+ + "task.mpi,"+ + "task.walltime "+ + "from Task task "+ + "order by rand()"); + select.setMaxResults(1); + List result = select.list(); + task = getTask((Object[])result.get(0)); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + tx.rollback(); + e.printStackTrace(); + }finally{ + session.close(); + } + return task; + } + + /** + * remove a task with the given id + * + * @param jobid: task id + */ public void delete(String jobid){ Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); @@ -180,12 +360,19 @@ session.clear(); tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); } } + /** + * check if task pool (table) is empty + * + * @return true if there is no task + * false if there is at least one task + */ public boolean isEmpty(){ boolean empty = true; @@ -202,6 +389,7 @@ session.clear(); tx.commit(); }catch(RuntimeException e){ + tx.rollback(); e.printStackTrace(); }finally{ session.close(); @@ -210,6 +398,12 @@ return empty; } + /** + * retrieve task attributes + * + * @param columns: an array of fields obtained from a query + * @return task object (CoGObject) + */ private CoGObject getTask(Object [] columns){ CoGObject task = null; Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskScheduler.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskScheduler.java 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskScheduler.java 2010-06-12 02:53:09 UTC (rev 1910) @@ -368,12 +368,15 @@ ||out.contains("Submitting job...Failed.") ||out.contains("Delegating user credentials...Failed.")){ if(tPool.getPolicy() instanceof TaskReplicatePolicy){ - ((TaskReplicatePolicy)tPool.getPolicy()).remove(jobId); + //((TaskReplicatePolicy)tPool.getPolicy()).remove(jobId);// remove this line? + + ((TaskPool)tPool).clearReplica(jobId); } }else{ // job has finished successfully if(tPool.getPolicy() instanceof TaskReplicatePolicy){ tPool.remove(jobId); - ((TaskReplicatePolicy)tPool.getPolicy()).remove(jobId); + + //((TaskReplicatePolicy)tPool.getPolicy()).remove(jobId);// remove this line? } new File("epr"+jobId).delete(); } Modified: code/trunk/shell-cli/src/main/resources/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-06-12 02:53:09 UTC (rev 1910) @@ -21,5 +21,6 @@ <property name="mpi"/> <property name="walltime"/> <property name="timestamp" type="timestamp"/> + <property name="replicated"/> </class> </hibernate-mapping> \ No newline at end of file Modified: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-06-10 03:50:10 UTC (rev 1909) +++ code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-06-12 02:53:09 UTC (rev 1910) @@ -12,7 +12,7 @@ <property name="connection.pool_size">1</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="current_session_context_class">thread</property> - <property name="show_sql">true</property> + <property name="show_sql">false</property> <property name="hbm2ddl.auto">update</property> <mapping resource="Task.hbm.xml"/> </session-factory> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-10 03:50:18
|
Revision: 1909 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1909&view=rev Author: ysm906 Date: 2010-06-10 03:50:10 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java Added Paths: ----------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-05 04:05:59 UTC (rev 1908) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-10 03:50:10 UTC (rev 1909) @@ -5,17 +5,10 @@ import java.util.Collections; import java.util.Iterator; import java.util.ListIterator; -import java.util.Date; import org.cyberaide.core.CoGObject; import org.apache.log4j.Logger; -import org.hibernate.SessionFactory; -import org.hibernate.Session; -import org.hibernate.cfg.Configuration; -import org.hibernate.Query; -import org.hibernate.Transaction; - /** * TaskPool class */ @@ -24,15 +17,16 @@ private String id; private Policy policy; private List<CoGObject> tasks; - private static final SessionFactory sessionFactory - = new Configuration().configure().buildSessionFactory(); - + private Object lock; + private TaskPoolOperator taskPoolOperator; /** * constructor */ public TaskPool(String name, Policy policy){ + lock = new Object(); id = name; tasks = Collections.synchronizedList(new LinkedList<CoGObject>()); + taskPoolOperator = new TaskPoolOperator(); this.policy = policy; } @@ -63,14 +57,17 @@ * * @param task: task object (CoGObject) */ - public synchronized void add(CoGObject task){ - String jobId = JobIdGenerator.getId(); + public void add(CoGObject task){ + synchronized(lock){ + String jobId = JobIdGenerator.getId(); - task.set("jobid",jobId); - tasks.add(task); - insert(task); + task.set("jobid",jobId); + tasks.add(task); - log.info("Task "+jobId+" has been submitted to Task Pool."); + taskPoolOperator.add(task); + + log.info("Task "+jobId+" has been submitted to Task Pool."); + } } /** @@ -79,7 +76,7 @@ * @param id: task id * @return true if task is removed, false if there is no task with given id */ - public synchronized boolean remove(String id){ + public boolean remove(String id){ boolean removed = false; synchronized(tasks){ @@ -93,7 +90,10 @@ } } } - delete(id); + synchronized(lock){ + taskPoolOperator.delete(id); + log.info("Task "+id+" has been removed from Task Pool."); + } return removed; } @@ -103,7 +103,7 @@ * * @param id: task id */ - public synchronized void suspend(String id){ + public void suspend(String id){ synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ @@ -115,7 +115,10 @@ } } } - update(id,"yes"); + synchronized(lock){ + taskPoolOperator.setSuspended(id); + log.info("Task "+id+" has been suspended."); + } } /** @@ -123,7 +126,7 @@ * * @param id: task id */ - public synchronized void resume(String id){ + public void resume(String id){ synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ @@ -135,10 +138,13 @@ } } } - update(id,"NULL"); + synchronized(lock){ + taskPoolOperator.clearSuspended(id); + log.info("Task "+id+" has been resumed."); + } } - public synchronized CoGObject get(String id){ + public CoGObject get(String id){ // TODO return null; // TODO } @@ -148,7 +154,7 @@ * * @return task object (CoGObject) */ - public synchronized CoGObject getNext(){ + public CoGObject getNext(){ CoGObject task = null; if(policy instanceof DefaultTaskPolicy){ @@ -164,6 +170,12 @@ } } } + synchronized(lock){ + if(!taskPoolOperator.isEmpty()){ + task = taskPoolOperator.getFirst(); + taskPoolOperator.delete(task.get("jobid")); + } + } }else if(policy instanceof TaskReplicatePolicy){ synchronized(tasks){ if(tasks.size() > 0){ @@ -200,6 +212,15 @@ } } } + synchronized(lock){ + // check if tasks is empty + // 1.check if already submitted to teragrid (don't take this) + // 2.check if suspended (don't take this) + // take task from tasks table if not (1 or 2) + if(!taskPoolOperator.isEmpty()){ + + } + } }else if(policy instanceof TaskRandomPolicy){ synchronized(tasks){ if(tasks.size() > 0){ @@ -210,137 +231,16 @@ } } } + synchronized(lock){ + + } } return task; } - public synchronized CoGObject getNext(Policy policy){ + public CoGObject getNext(Policy policy){ // TODO return null; // TODO } - - private void insert(CoGObject cogTask){ - Session session = sessionFactory.getCurrentSession(); - - try{ - session.beginTransaction(); - Task task = new Task(); - task.setTypename(cogTask.get("typename")); - task.setJobid(cogTask.get("jobid")); - task.setInputfile(cogTask.get("inputfile")); - task.setOutputfile(cogTask.get("outputfile")); - task.setErrorfile(cogTask.get("errorfile")); - task.setSuspended(cogTask.get("suspended")); - task.setJobtype(cogTask.get("job.type")); - task.setResource(cogTask.get("resource")); - task.setExecutable(cogTask.get("executable")); - task.setDirectory(cogTask.get("directory")); - task.setMpi(cogTask.get("mpi")); - task.setWalltime(cogTask.get("walltime")); - task.setTimestamp(new Date()); - - session.save(task); - session.getTransaction().commit(); - }catch(RuntimeException e){ - e.printStackTrace(); - }finally{ - - } - } - - private void update(String jobid, String suspended){ - Session session = sessionFactory.openSession(); - Transaction tx = session.beginTransaction(); - - try{ - Query update = session.createQuery("update Task task "+ - "set task.suspended = :suspended" - +" where task.jobid = :jobid"); - update.setParameter("suspended",suspended); - update.setParameter("jobid",jobid); - update.executeUpdate(); - tx.commit(); - }catch(RuntimeException e){ - e.printStackTrace(); - }finally{ - session.close(); - } - } - - private CoGObject select(String jobid){ - CoGObject task = null; - Session session = sessionFactory.openSession(); - - try{ - Query select = session.createQuery("select task.typename,"+ - "task.jobid,"+ - "task.inputfile,"+ - "task.outputfile,"+ - "task.errorfile,"+ - "task.suspended,"+ - "task.jobtype,"+ - "task.resource,"+ - "task.executable,"+ - "task.directory,"+ - "task.mpi,"+ - "task.walltime "+ - "from Task task "+ - "where task.jobid = :jobid"); - select.setParameter("jobid",jobid); - - List tasks = select.list(); - for(int i=0; i<tasks.size(); i++){ - Object [] object = (Object[])tasks.get(i); - task = new CoGObject(); - String value; - value = (object[0] != null) ? object[0].toString() : null; - task.set("typename",value); - value = (object[1] != null) ? object[1].toString() : null; - task.set("jobid",value); - value = (object[2] != null) ? object[2].toString() : null; - task.set("inputfile",value); - value = (object[3] != null) ? object[3].toString() : null; - task.set("outputfile",value); - value = (object[4] != null) ? object[4].toString() : null; - task.set("errorfile",value); - value = (object[5] != null) ? object[5].toString() : null; - task.set("suspended",value); - value = (object[6] != null) ? object[6].toString() : null; - task.set("job.type",value); - value = (object[7] != null) ? object[7].toString() : null; - task.set("resource",value); - value = (object[8] != null) ? object[8].toString() : null; - task.set("executable",value); - value = (object[9] != null) ? object[9].toString() : null; - task.set("directory",value); - value = (object[10] != null) ? object[10].toString() : null; - task.set("mpi",value); - value = (object[11] != null) ? object[11].toString() : null; - task.set("walltime",value); - } - }catch(RuntimeException e){ - e.printStackTrace(); - }finally{ - session.close(); - } - return task; - } - - private void delete(String jobid){ - Session session = sessionFactory.openSession(); - Transaction tx = session.beginTransaction(); - - try{ - Query delete = session.createQuery("delete from Task task"+ - " where task.jobid = :jobid"); - delete.setParameter("jobid",jobid); - int row = delete.executeUpdate(); - tx.commit(); - }catch(RuntimeException e){ - e.printStackTrace(); - }finally{ - session.close(); - } - } } Added: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java 2010-06-10 03:50:10 UTC (rev 1909) @@ -0,0 +1,245 @@ +package org.cyberaide.queue; + +import java.util.List; +import java.util.Date; + +import org.cyberaide.core.CoGObject; +import org.apache.log4j.Logger; + +import org.hibernate.SessionFactory; +import org.hibernate.Session; +import org.hibernate.cfg.Configuration; +import org.hibernate.Query; +import org.hibernate.Transaction; + +// TODO: add rollback + +/** + * TaskPoolOperator class + */ +public class TaskPoolOperator { + private static final SessionFactory sessionFactory; + + static { + sessionFactory = new Configuration().configure().buildSessionFactory(); + } + + public TaskPoolOperator(){ + + } + + public void add(CoGObject cogTask){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + session.beginTransaction(); + Task task = new Task(); + task.setTypename(cogTask.get("typename")); + task.setJobid(cogTask.get("jobid")); + task.setInputfile(cogTask.get("inputfile")); + task.setOutputfile(cogTask.get("outputfile")); + task.setErrorfile(cogTask.get("errorfile")); + task.setSuspended(cogTask.get("suspended")); + task.setJobtype(cogTask.get("job.type")); + task.setResource(cogTask.get("resource")); + task.setExecutable(cogTask.get("executable")); + task.setDirectory(cogTask.get("directory")); + task.setMpi(cogTask.get("mpi")); + task.setWalltime(cogTask.get("walltime")); + task.setTimestamp(new Date()); + + session.save(task); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + + public void setSuspended(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query update = session.createQuery("update Task task "+ + "set task.suspended = :suspended" + +" where task.jobid = :jobid"); + update.setParameter("suspended","yes"); + update.setParameter("jobid",jobid); + update.executeUpdate(); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + + public void clearSuspended(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query update = session.createQuery("update Task task "+ + "set task.suspended = :suspended" + +" where task.jobid = :jobid"); + update.setParameter("suspended","NULL"); + update.setParameter("jobid",jobid); + update.executeUpdate(); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + + public CoGObject getFirst(){ + CoGObject task = null; + Session session = sessionFactory.openSession(); + + try{ + Query select = session.createQuery("select task.typename,"+ + "task.jobid,"+ + "task.inputfile,"+ + "task.outputfile,"+ + "task.errorfile,"+ + "task.suspended,"+ + "task.jobtype,"+ + "task.resource,"+ + "task.executable,"+ + "task.directory,"+ + "task.mpi,"+ + "task.walltime,"+ + "min(timestamp) "+ + "from Task task "+ + "where task.suspended is null"); + List result = select.list(); + task = getTask((Object[])result.get(0)); + session.flush(); + session.clear(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + return task; + } + + public CoGObject get(String jobid){ + CoGObject task = null; + Session session = sessionFactory.openSession(); + + try{ + Query select = session.createQuery("select task.typename,"+ + "task.jobid,"+ + "task.inputfile,"+ + "task.outputfile,"+ + "task.errorfile,"+ + "task.suspended,"+ + "task.jobtype,"+ + "task.resource,"+ + "task.executable,"+ + "task.directory,"+ + "task.mpi,"+ + "task.walltime "+ + "from Task task "+ + "where task.jobid = :jobid"); + select.setParameter("jobid",jobid); + + List result = select.list(); + task = getTask((Object[])result.get(0)); + session.flush(); + session.clear(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + return task; + } + + public void delete(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query delete = session.createQuery("delete from Task task"+ + " where task.jobid = :jobid"); + delete.setParameter("jobid",jobid); + int row = delete.executeUpdate(); + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + + public boolean isEmpty(){ + boolean empty = true; + + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query select = session.createQuery("select count(*) from Task task"); + List result = select.list(); + if(Integer.parseInt(result.get(0).toString()) > 0){ + empty = false; + } + session.flush(); + session.clear(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + + return empty; + } + + private CoGObject getTask(Object [] columns){ + CoGObject task = null; + + task = new CoGObject(); + String value; + value = (columns[0] != null) ? columns[0].toString() : null; + task.set("typename",value); + value = (columns[1] != null) ? columns[1].toString() : null; + task.set("jobid",value); + value = (columns[2] != null) ? columns[2].toString() : null; + task.set("inputfile",value); + value = (columns[3] != null) ? columns[3].toString() : null; + task.set("outputfile",value); + value = (columns[4] != null) ? columns[4].toString() : null; + task.set("errorfile",value); + value = (columns[5] != null) ? columns[5].toString() : null; + task.set("suspended",value); + value = (columns[6] != null) ? columns[6].toString() : null; + task.set("job.type",value); + value = (columns[7] != null) ? columns[7].toString() : null; + task.set("resource",value); + value = (columns[8] != null) ? columns[8].toString() : null; + task.set("executable",value); + value = (columns[9] != null) ? columns[9].toString() : null; + task.set("directory",value); + value = (columns[10] != null) ? columns[10].toString() : null; + task.set("mpi",value); + value = (columns[11] != null) ? columns[11].toString() : null; + task.set("walltime",value); + + return task; + } +} \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPoolOperator.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-05 04:06:06
|
Revision: 1908 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1908&view=rev Author: ysm906 Date: 2010-06-05 04:05:59 +0000 (Sat, 05 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java code/trunk/shell-cli/src/main/java/org/cyberaide/execution/SubmitCLI.java code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/resources/Task.hbm.xml Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -24,8 +24,8 @@ pluginMap.put(plugin.getPrompt().toUpperCase(), plugin); } catch (Throwable e) { log.error("Error loading class " + nextShell); - log.error(e); - e.printStackTrace(); + //log.error(e); + //e.printStackTrace(); } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/execution/ExecutionCLI.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -49,26 +49,31 @@ if (name.indexOf("://") != -1) { name = endpoint.substring(name.indexOf("://") + 3); } - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e){ + //} catch (StringIndexOutOfBoundsException e) { } // remove the part beyond the ':port' part for 'host:port' style try { name = name.substring(0, name.indexOf(":")); - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e) { + //} catch (StringIndexOutOfBoundsException e) { } String abbrevName; // remove teragrid tail try { abbrevName = name.substring(0, name.indexOf(".teragrid")); - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e){ + //} catch (StringIndexOutOfBoundsException e) { // try to remove edu tail try { abbrevName = name.substring(0, name.indexOf(".edu")); - } catch (StringIndexOutOfBoundsException e1) { + } catch (Exception e1) { + //} catch (StringIndexOutOfBoundsException e1) { // try to remove org tail try { abbrevName = name.substring(0, name.indexOf(".org")); - } catch (StringIndexOutOfBoundsException e2) { + } catch (Exception e2) { + //} catch (StringIndexOutOfBoundsException e2) { abbrevName = name; } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/execution/SubmitCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/execution/SubmitCLI.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/execution/SubmitCLI.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -57,26 +57,31 @@ if (name.indexOf("://") != -1) { name = endpoint.substring(name.indexOf("://") + 3); } - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e) { + //} catch (StringIndexOutOfBoundsException e) { } // remove the part beyond the ':port' part for 'host:port' style try { name = name.substring(0, name.indexOf(":")); - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e) { + //} catch (StringIndexOutOfBoundsException e) { } String abbrevName; // remove teragrid tail try { abbrevName = name.substring(0, name.indexOf(".teragrid")); - } catch (StringIndexOutOfBoundsException e) { + } catch (Exception e) { + //} catch (StringIndexOutOfBoundsException e) { // try to remove edu tail try { abbrevName = name.substring(0, name.indexOf(".edu")); - } catch (StringIndexOutOfBoundsException e1) { + } catch (Exception e1) { + //} catch (StringIndexOutOfBoundsException e1) { // try to remove org tail try { abbrevName = name.substring(0, name.indexOf(".org")); - } catch (StringIndexOutOfBoundsException e2) { + } catch (Exception e2) { + //} catch (StringIndexOutOfBoundsException e2) { abbrevName = name; } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/info/InfoService.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -97,12 +97,16 @@ allService[i] = new CoGObject(); for (int j = 0; j < info.getLength(); ++j) { String key = info.item(j).getNodeName(); - // System.out.println(key); + // System.out.println("key = "+key); // String key = aNode.getNodeName(); - if (!key.equals("#text")) { + try{ + if (!key.equals("#text")) { String value = info.item(j).getFirstChild() .getNodeValue(); allService[i].set(key, value); + } + }catch(Exception e){ + } } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -1,5 +1,7 @@ package org.cyberaide.queue; +import java.util.Date; + public class Task { private Long id; private String typename; @@ -14,6 +16,7 @@ private String directory; private String mpi; private String walltime; + private Date date; public Task(){} @@ -120,4 +123,12 @@ public void setWalltime(String wtime){ walltime = wtime; } + + public Date getTimestamp(){ + return date; + } + + public void setTimestamp(Date currentDate){ + date = currentDate; + } } \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-05 04:05:59 UTC (rev 1908) @@ -5,6 +5,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.ListIterator; +import java.util.Date; import org.cyberaide.core.CoGObject; import org.apache.log4j.Logger; @@ -13,6 +14,7 @@ import org.hibernate.Session; import org.hibernate.cfg.Configuration; import org.hibernate.Query; +import org.hibernate.Transaction; /** * TaskPool class @@ -34,35 +36,6 @@ this.policy = policy; } - private void testInsert(){ - Session session = sessionFactory.getCurrentSession(); - - try{ - session.beginTransaction(); - Task task = new Task(); - task.setExecutable("test"); - session.save(task); - session.getTransaction().commit(); - }catch(RuntimeException e){ - log.info("Hibernate EXCEPTION occurred."); - e.printStackTrace(); - }finally{ - - } - } - - private void testDelete(){ - Session session = sessionFactory.openSession(); - try{ - Query delete = session.createQuery("delete from Task task where task.id = 1"); - int row = delete.executeUpdate(); - }catch(RuntimeException e){ - e.printStackTrace(); - }finally{ - session.close(); - } - } - public void query(String function, String attribute, String value){ } @@ -90,15 +63,14 @@ * * @param task: task object (CoGObject) */ - public void add(CoGObject task){ + public synchronized void add(CoGObject task){ String jobId = JobIdGenerator.getId(); task.set("jobid",jobId); tasks.add(task); + insert(task); log.info("Task "+jobId+" has been submitted to Task Pool."); -testInsert(); -testDelete(); } /** @@ -107,7 +79,7 @@ * @param id: task id * @return true if task is removed, false if there is no task with given id */ - public boolean remove(String id){ + public synchronized boolean remove(String id){ boolean removed = false; synchronized(tasks){ @@ -121,6 +93,8 @@ } } } + delete(id); + return removed; } @@ -129,7 +103,7 @@ * * @param id: task id */ - public void suspend(String id){ + public synchronized void suspend(String id){ synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ @@ -141,6 +115,7 @@ } } } + update(id,"yes"); } /** @@ -148,7 +123,7 @@ * * @param id: task id */ - public void resume(String id){ + public synchronized void resume(String id){ synchronized(tasks){ ListIterator<CoGObject> iter = tasks.listIterator(); while(iter.hasNext()){ @@ -160,9 +135,10 @@ } } } + update(id,"NULL"); } - public CoGObject get(String id){ + public synchronized CoGObject get(String id){ // TODO return null; // TODO } @@ -172,7 +148,7 @@ * * @return task object (CoGObject) */ - public CoGObject getNext(){ + public synchronized CoGObject getNext(){ CoGObject task = null; if(policy instanceof DefaultTaskPolicy){ @@ -239,8 +215,132 @@ return task; } - public CoGObject getNext(Policy policy){ + public synchronized CoGObject getNext(Policy policy){ // TODO return null; // TODO } + + private void insert(CoGObject cogTask){ + Session session = sessionFactory.getCurrentSession(); + + try{ + session.beginTransaction(); + Task task = new Task(); + task.setTypename(cogTask.get("typename")); + task.setJobid(cogTask.get("jobid")); + task.setInputfile(cogTask.get("inputfile")); + task.setOutputfile(cogTask.get("outputfile")); + task.setErrorfile(cogTask.get("errorfile")); + task.setSuspended(cogTask.get("suspended")); + task.setJobtype(cogTask.get("job.type")); + task.setResource(cogTask.get("resource")); + task.setExecutable(cogTask.get("executable")); + task.setDirectory(cogTask.get("directory")); + task.setMpi(cogTask.get("mpi")); + task.setWalltime(cogTask.get("walltime")); + task.setTimestamp(new Date()); + + session.save(task); + session.getTransaction().commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + + } + } + + private void update(String jobid, String suspended){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query update = session.createQuery("update Task task "+ + "set task.suspended = :suspended" + +" where task.jobid = :jobid"); + update.setParameter("suspended",suspended); + update.setParameter("jobid",jobid); + update.executeUpdate(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + + private CoGObject select(String jobid){ + CoGObject task = null; + Session session = sessionFactory.openSession(); + + try{ + Query select = session.createQuery("select task.typename,"+ + "task.jobid,"+ + "task.inputfile,"+ + "task.outputfile,"+ + "task.errorfile,"+ + "task.suspended,"+ + "task.jobtype,"+ + "task.resource,"+ + "task.executable,"+ + "task.directory,"+ + "task.mpi,"+ + "task.walltime "+ + "from Task task "+ + "where task.jobid = :jobid"); + select.setParameter("jobid",jobid); + + List tasks = select.list(); + for(int i=0; i<tasks.size(); i++){ + Object [] object = (Object[])tasks.get(i); + task = new CoGObject(); + String value; + value = (object[0] != null) ? object[0].toString() : null; + task.set("typename",value); + value = (object[1] != null) ? object[1].toString() : null; + task.set("jobid",value); + value = (object[2] != null) ? object[2].toString() : null; + task.set("inputfile",value); + value = (object[3] != null) ? object[3].toString() : null; + task.set("outputfile",value); + value = (object[4] != null) ? object[4].toString() : null; + task.set("errorfile",value); + value = (object[5] != null) ? object[5].toString() : null; + task.set("suspended",value); + value = (object[6] != null) ? object[6].toString() : null; + task.set("job.type",value); + value = (object[7] != null) ? object[7].toString() : null; + task.set("resource",value); + value = (object[8] != null) ? object[8].toString() : null; + task.set("executable",value); + value = (object[9] != null) ? object[9].toString() : null; + task.set("directory",value); + value = (object[10] != null) ? object[10].toString() : null; + task.set("mpi",value); + value = (object[11] != null) ? object[11].toString() : null; + task.set("walltime",value); + } + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + return task; + } + + private void delete(String jobid){ + Session session = sessionFactory.openSession(); + Transaction tx = session.beginTransaction(); + + try{ + Query delete = session.createQuery("delete from Task task"+ + " where task.jobid = :jobid"); + delete.setParameter("jobid",jobid); + int row = delete.executeUpdate(); + tx.commit(); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } } Modified: code/trunk/shell-cli/src/main/resources/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-06-02 02:52:55 UTC (rev 1907) +++ code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-06-05 04:05:59 UTC (rev 1908) @@ -9,16 +9,17 @@ <generator class="native"/> </id> <property name="typename"/> - <property name="jobid"/> + <property name="jobid" not-null="true"/> <property name="inputfile"/> <property name="outputfile"/> <property name="errorfile"/> <property name="suspended"/> <property name="jobtype"/> <property name="resource"/> - <property name="executable"/> + <property name="executable" not-null="true"/> <property name="directory"/> <property name="mpi"/> <property name="walltime"/> + <property name="timestamp" type="timestamp"/> </class> </hibernate-mapping> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-06-02 02:53:02
|
Revision: 1907 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1907&view=rev Author: ysm906 Date: 2010-06-02 02:52:55 +0000 (Wed, 02 Jun 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/pom.xml code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/resources/Task.hbm.xml Modified: code/trunk/pom.xml =================================================================== --- code/trunk/pom.xml 2010-05-29 03:03:50 UTC (rev 1906) +++ code/trunk/pom.xml 2010-06-02 02:52:55 UTC (rev 1907) @@ -647,6 +647,12 @@ <version>1.1</version> </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr</artifactId> + <version>3.2</version> + </dependency> + </dependencies> <reporting> Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-05-29 03:03:50 UTC (rev 1906) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/core/ShellManager.java 2010-06-02 02:52:55 UTC (rev 1907) @@ -24,8 +24,8 @@ pluginMap.put(plugin.getPrompt().toUpperCase(), plugin); } catch (Throwable e) { log.error("Error loading class " + nextShell); - //log.error(e); - //e.printStackTrace(); + log.error(e); + e.printStackTrace(); } } Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-05-29 03:03:50 UTC (rev 1906) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-06-02 02:52:55 UTC (rev 1907) @@ -2,7 +2,18 @@ public class Task { private Long id; - private String command; + private String typename; + private String jobid; + private String inputfile; + private String outputfile; + private String errorfile; + private String suspended; + private String jobtype; + private String resource; + private String executable; + private String directory; + private String mpi; + private String walltime; public Task(){} @@ -14,11 +25,99 @@ this.id = id; } - public void setCommand(String cmd){ - command = cmd; + public String getTypename(){ + return typename; } - public String getCommand(){ - return command; + public void setTypename(String type){ + typename = type; } + + public String getJobid(){ + return jobid; + } + + public void setJobid(String id){ + jobid = id; + } + + public String getInputfile(){ + return inputfile; + } + + public void setInputfile(String input){ + inputfile = input; + } + + public String getOutputfile(){ + return outputfile; + } + + public void setOutputfile(String output){ + outputfile = output; + } + + public String getErrorfile(){ + return errorfile; + } + + public void setErrorfile(String error){ + errorfile = error; + } + + public String getSuspended(){ + return suspended; + } + + public void setSuspended(String suspend){ + suspended = suspend; + } + + public String getJobtype(){ + return jobtype; + } + + public void setJobtype(String type){ + jobtype = type; + } + + public String getResource(){ + return resource; + } + + public void setResource(String resourceName){ + resource = resourceName; + } + + public String getExecutable(){ + return executable; + } + + public void setExecutable(String cmd){ + executable = cmd; + } + + public String getDirectory(){ + return directory; + } + + public void setDirectory(String dir){ + directory = dir; + } + + public String getMpi(){ + return mpi; + } + + public void setMpi(String mpiOption){ + mpi = mpiOption; + } + + public String getWalltime(){ + return walltime; + } + + public void setWalltime(String wtime){ + walltime = wtime; + } } \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-29 03:03:50 UTC (rev 1906) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-06-02 02:52:55 UTC (rev 1907) @@ -40,7 +40,7 @@ try{ session.beginTransaction(); Task task = new Task(); - task.setCommand("test"); + task.setExecutable("test"); session.save(task); session.getTransaction().commit(); }catch(RuntimeException e){ @@ -54,10 +54,8 @@ private void testDelete(){ Session session = sessionFactory.openSession(); try{ - Query delete = session.createQuery("delete from Task task where task.id = 2"); + Query delete = session.createQuery("delete from Task task where task.id = 1"); int row = delete.executeUpdate(); - session.getTransaction().commit(); -System.out.println("deleted row = "+row); }catch(RuntimeException e){ e.printStackTrace(); }finally{ Modified: code/trunk/shell-cli/src/main/resources/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-05-29 03:03:50 UTC (rev 1906) +++ code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-06-02 02:52:55 UTC (rev 1907) @@ -4,10 +4,21 @@ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.cyberaide.queue"> - <class name="Task" table="TASK"> + <class name="Task" table="TASKS"> <id name="id" column="id"> <generator class="native"/> </id> - <property name="command"/> + <property name="typename"/> + <property name="jobid"/> + <property name="inputfile"/> + <property name="outputfile"/> + <property name="errorfile"/> + <property name="suspended"/> + <property name="jobtype"/> + <property name="resource"/> + <property name="executable"/> + <property name="directory"/> + <property name="mpi"/> + <property name="walltime"/> </class> </hibernate-mapping> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-29 03:03:56
|
Revision: 1906 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1906&view=rev Author: ysm906 Date: 2010-05-29 03:03:50 +0000 (Sat, 29 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-28 03:37:52 UTC (rev 1905) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-29 03:03:50 UTC (rev 1906) @@ -8,18 +8,22 @@ import org.cyberaide.core.CoGObject; import org.apache.log4j.Logger; + import org.hibernate.SessionFactory; import org.hibernate.Session; import org.hibernate.cfg.Configuration; +import org.hibernate.Query; /** * TaskPool class */ public class TaskPool implements Pool { - private Logger log = Logger.getLogger(this.getClass()); // is this correct? + private Logger log = Logger.getLogger(this.getClass()); private String id; private Policy policy; private List<CoGObject> tasks; + private static final SessionFactory sessionFactory + = new Configuration().configure().buildSessionFactory(); /** * constructor @@ -30,10 +34,9 @@ this.policy = policy; } - private void test(){ - SessionFactory sessionFactory = - new Configuration().configure().buildSessionFactory(); + private void testInsert(){ Session session = sessionFactory.getCurrentSession(); + try{ session.beginTransaction(); Task task = new Task(); @@ -48,6 +51,20 @@ } } + private void testDelete(){ + Session session = sessionFactory.openSession(); + try{ + Query delete = session.createQuery("delete from Task task where task.id = 2"); + int row = delete.executeUpdate(); + session.getTransaction().commit(); +System.out.println("deleted row = "+row); + }catch(RuntimeException e){ + e.printStackTrace(); + }finally{ + session.close(); + } + } + public void query(String function, String attribute, String value){ } @@ -82,7 +99,8 @@ tasks.add(task); log.info("Task "+jobId+" has been submitted to Task Pool."); -test(); +testInsert(); +testDelete(); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-28 03:38:01
|
Revision: 1905 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1905&view=rev Author: ysm906 Date: 2010-05-28 03:37:52 +0000 (Fri, 28 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-26 03:54:56 UTC (rev 1904) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-28 03:37:52 UTC (rev 1905) @@ -39,12 +39,12 @@ Task task = new Task(); task.setCommand("test"); session.save(task); - session.getTransaction().commit(); - }catch(Exception e){ + session.getTransaction().commit(); + }catch(RuntimeException e){ log.info("Hibernate EXCEPTION occurred."); e.printStackTrace(); }finally{ - session.close(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-26 03:55:02
|
Revision: 1904 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1904&view=rev Author: ysm906 Date: 2010-05-26 03:54:56 +0000 (Wed, 26 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/resources/Task.hbm.xml code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-05-25 04:05:59 UTC (rev 1903) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-05-26 03:54:56 UTC (rev 1904) @@ -2,7 +2,7 @@ public class Task { private Long id; - private String task; + private String command; public Task(){} @@ -14,11 +14,11 @@ this.id = id; } - public void setTask(String task){ - this.task = task; + public void setCommand(String cmd){ + command = cmd; } - public String getTask(){ - return task; + public String getCommand(){ + return command; } } \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-25 04:05:59 UTC (rev 1903) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-26 03:54:56 UTC (rev 1904) @@ -37,7 +37,7 @@ try{ session.beginTransaction(); Task task = new Task(); - task.setTask("test task"); + task.setCommand("test"); session.save(task); session.getTransaction().commit(); }catch(Exception e){ Modified: code/trunk/shell-cli/src/main/resources/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-05-25 04:05:59 UTC (rev 1903) +++ code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-05-26 03:54:56 UTC (rev 1904) @@ -8,6 +8,6 @@ <id name="id" column="id"> <generator class="native"/> </id> - <property name="task"/> + <property name="command"/> </class> </hibernate-mapping> \ No newline at end of file Modified: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-05-25 04:05:59 UTC (rev 1903) +++ code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-05-26 03:54:56 UTC (rev 1904) @@ -6,7 +6,7 @@ <hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> - <property name="connection.url">jdbc:mysql://localhost</property> + <property name="connection.url">jdbc:mysql://localhost:3306/mysql</property> <property name="connection.username">root</property> <property name="connection.password"></property> <property name="connection.pool_size">1</property> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-25 04:06:09
|
Revision: 1903 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1903&view=rev Author: ysm906 Date: 2010-05-25 04:05:59 +0000 (Tue, 25 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/pom.xml code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml Added Paths: ----------- code/trunk/shell-cli/src/main/resources/Task.hbm.xml Removed Paths: ------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml Modified: code/trunk/pom.xml =================================================================== --- code/trunk/pom.xml 2010-05-22 03:19:30 UTC (rev 1902) +++ code/trunk/pom.xml 2010-05-25 04:05:59 UTC (rev 1903) @@ -629,6 +629,24 @@ <scope>runtime</scope> </dependency> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>5.1.12</version> + </dependency> + + <dependency> + <groupId>cglib</groupId> + <artifactId>cglib</artifactId> + <version>2.2</version> + </dependency> + + <dependency> + <groupId>javax.transaction</groupId> + <artifactId>jta</artifactId> + <version>1.1</version> + </dependency> + </dependencies> <reporting> Deleted: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml 2010-05-22 03:19:30 UTC (rev 1902) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml 2010-05-25 04:05:59 UTC (rev 1903) @@ -1,13 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE hibernate-mapping PUBLIC - "-//Hibernate/Hibernate Mapping DTD 3.0//EN" - "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> - -<hibernate-mapping package="org.cyberaide.queue"> - <class name="Task" table="TASK"> - <id name="id" column="id"> - <generator class="native"/> - </id> - <property name="task"/> - </class> -</hibernate-mapping> \ No newline at end of file Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-22 03:19:30 UTC (rev 1902) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-25 04:05:59 UTC (rev 1903) @@ -41,7 +41,8 @@ session.save(task); session.getTransaction().commit(); }catch(Exception e){ - + log.info("Hibernate EXCEPTION occurred."); + e.printStackTrace(); }finally{ session.close(); } Copied: code/trunk/shell-cli/src/main/resources/Task.hbm.xml (from rev 1900, code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml) =================================================================== --- code/trunk/shell-cli/src/main/resources/Task.hbm.xml (rev 0) +++ code/trunk/shell-cli/src/main/resources/Task.hbm.xml 2010-05-25 04:05:59 UTC (rev 1903) @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping package="org.cyberaide.queue"> + <class name="Task" table="TASK"> + <id name="id" column="id"> + <generator class="native"/> + </id> + <property name="task"/> + </class> +</hibernate-mapping> \ No newline at end of file Modified: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-05-22 03:19:30 UTC (rev 1902) +++ code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-05-25 04:05:59 UTC (rev 1903) @@ -14,6 +14,6 @@ <property name="current_session_context_class">thread</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> - <mapping resource="org/cyberaide/queue/Task.hbm.xml"/> + <mapping resource="Task.hbm.xml"/> </session-factory> </hibernate-configuration> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-22 03:19:36
|
Revision: 1902 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1902&view=rev Author: ysm906 Date: 2010-05-22 03:19:30 +0000 (Sat, 22 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/pom.xml Modified: code/trunk/pom.xml =================================================================== --- code/trunk/pom.xml 2010-05-21 03:25:34 UTC (rev 1901) +++ code/trunk/pom.xml 2010-05-22 03:19:30 UTC (rev 1902) @@ -622,6 +622,13 @@ <version>3.2.3.GA</version> </dependency> + <dependency> + <groupId>dom4j</groupId> + <artifactId>dom4j</artifactId> + <version>1.6.1</version> + <scope>runtime</scope> + </dependency> + </dependencies> <reporting> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-21 03:25:42
|
Revision: 1901 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1901&view=rev Author: ysm906 Date: 2010-05-21 03:25:34 +0000 (Fri, 21 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/pom.xml code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java Modified: code/trunk/pom.xml =================================================================== --- code/trunk/pom.xml 2010-05-20 02:20:11 UTC (rev 1900) +++ code/trunk/pom.xml 2010-05-21 03:25:34 UTC (rev 1901) @@ -357,7 +357,7 @@ <url>http://download.java.net/maven/1/</url> <layout>legacy</layout> </repository> - + </repositories> <properties> @@ -616,6 +616,12 @@ <version>0.1.39</version> </dependency> + <dependency> + <groupId>hibernate</groupId> + <artifactId>hibernate3</artifactId> + <version>3.2.3.GA</version> + </dependency> + </dependencies> <reporting> Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-05-20 02:20:11 UTC (rev 1900) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-05-21 03:25:34 UTC (rev 1901) @@ -96,21 +96,7 @@ } }else{ log.info("submitting task to Default Queue."); - //taskPool.add(task); -for(int i=0; i<100000; i++){ - CoGObject testTask = new CoGObject(); - if((i%10000)==0) System.out.println("i="+i); - testTask.set("typename","cyberaide.queue.task"); - testTask.set("directory","job"); - testTask.set("inputfile","input.txt"); - testTask.set("outputfile","output.txt"); - testTask.set("errorfile","error.txt"); - testTask.set("mpi","16"); - testTask.set("walltime","300"); - - taskPool.add(testTask); -} -((TaskPool)taskPool).showLast(); + taskPool.add(task); } }else{ log.error("Need to specify command."); Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-20 02:20:11 UTC (rev 1900) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-21 03:25:34 UTC (rev 1901) @@ -9,6 +9,7 @@ import org.cyberaide.core.CoGObject; import org.apache.log4j.Logger; import org.hibernate.SessionFactory; +import org.hibernate.Session; import org.hibernate.cfg.Configuration; /** @@ -29,6 +30,23 @@ this.policy = policy; } + private void test(){ + SessionFactory sessionFactory = + new Configuration().configure().buildSessionFactory(); + Session session = sessionFactory.getCurrentSession(); + try{ + session.beginTransaction(); + Task task = new Task(); + task.setTask("test task"); + session.save(task); + session.getTransaction().commit(); + }catch(Exception e){ + + }finally{ + session.close(); + } + } + public void query(String function, String attribute, String value){ } @@ -62,9 +80,10 @@ task.set("jobid",jobId); tasks.add(task); - //log.info("Task "+jobId+" has been submitted to Task Pool."); + log.info("Task "+jobId+" has been submitted to Task Pool."); +test(); } - public void showLast(){System.out.println("size = "+tasks.size()+"\nlast element = "+tasks.get(tasks.size()-1));} + /** * remove task by id in the task pool * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-20 02:20:18
|
Revision: 1900 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1900&view=rev Author: ysm906 Date: 2010-05-20 02:20:11 +0000 (Thu, 20 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java Added Paths: ----------- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-05-08 03:19:12 UTC (rev 1899) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/QueueCLI.java 2010-05-20 02:20:11 UTC (rev 1900) @@ -27,7 +27,7 @@ taskScheduler = new TaskScheduler(maxTasks, taskPool, resourcePool); taskPools = new HashMap<String,Pool>(); // needs to be synchronized?? - taskScheduler.start(); + //taskScheduler.start(); String prompt = this.getClass().getName().toLowerCase(). replaceAll("cli", "").replaceAll("org.cyberaide.queue.", ""); @@ -96,7 +96,21 @@ } }else{ log.info("submitting task to Default Queue."); - taskPool.add(task); + //taskPool.add(task); +for(int i=0; i<100000; i++){ + CoGObject testTask = new CoGObject(); + if((i%10000)==0) System.out.println("i="+i); + testTask.set("typename","cyberaide.queue.task"); + testTask.set("directory","job"); + testTask.set("inputfile","input.txt"); + testTask.set("outputfile","output.txt"); + testTask.set("errorfile","error.txt"); + testTask.set("mpi","16"); + testTask.set("walltime","300"); + + taskPool.add(testTask); +} +((TaskPool)taskPool).showLast(); } }else{ log.error("Need to specify command."); Added: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml 2010-05-20 02:20:11 UTC (rev 1900) @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping package="org.cyberaide.queue"> + <class name="Task" table="TASK"> + <id name="id" column="id"> + <generator class="native"/> + </id> + <property name="task"/> + </class> +</hibernate-mapping> \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.hbm.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java (rev 0) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java 2010-05-20 02:20:11 UTC (rev 1900) @@ -0,0 +1,24 @@ +package org.cyberaide.queue; + +public class Task { + private Long id; + private String task; + + public Task(){} + + public Long getId(){ + return id; + } + + private void setId(Long id){ + this.id = id; + } + + public void setTask(String task){ + this.task = task; + } + + public String getTask(){ + return task; + } +} \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/Task.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java =================================================================== --- code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-08 03:19:12 UTC (rev 1899) +++ code/trunk/shell-cli/src/main/java/org/cyberaide/queue/TaskPool.java 2010-05-20 02:20:11 UTC (rev 1900) @@ -8,6 +8,8 @@ import org.cyberaide.core.CoGObject; import org.apache.log4j.Logger; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; /** * TaskPool class @@ -60,9 +62,9 @@ task.set("jobid",jobId); tasks.add(task); - log.info("Task "+jobId+" has been submitted to Task Pool."); + //log.info("Task "+jobId+" has been submitted to Task Pool."); } - + public void showLast(){System.out.println("size = "+tasks.size()+"\nlast element = "+tasks.get(tasks.size()-1));} /** * remove task by id in the task pool * Added: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml =================================================================== --- code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml (rev 0) +++ code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml 2010-05-20 02:20:11 UTC (rev 1900) @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<hibernate-configuration> + <session-factory> + <property name="connection.driver_class">com.mysql.jdbc.Driver</property> + <property name="connection.url">jdbc:mysql://localhost</property> + <property name="connection.username">root</property> + <property name="connection.password"></property> + <property name="connection.pool_size">1</property> + <property name="dialect">org.hibernate.dialect.MySQLDialect</property> + <property name="current_session_context_class">thread</property> + <property name="show_sql">true</property> + <property name="hbm2ddl.auto">update</property> + <mapping resource="org/cyberaide/queue/Task.hbm.xml"/> + </session-factory> +</hibernate-configuration> \ No newline at end of file Property changes on: code/trunk/shell-cli/src/main/resources/hibernate.cfg.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ys...@us...> - 2010-05-08 03:19:18
|
Revision: 1899 http://cyberaide.svn.sourceforge.net/cyberaide/?rev=1899&view=rev Author: ysm906 Date: 2010-05-08 03:19:12 +0000 (Sat, 08 May 2010) Log Message: ----------- Modified Paths: -------------- code/trunk/man/types/teragrid.resources.gram4.txt Modified: code/trunk/man/types/teragrid.resources.gram4.txt =================================================================== --- code/trunk/man/types/teragrid.resources.gram4.txt 2010-05-07 03:22:14 UTC (rev 1898) +++ code/trunk/man/types/teragrid.resources.gram4.txt 2010-05-08 03:19:12 UTC (rev 1899) @@ -18,7 +18,6 @@ endpoint : endpoint LRM : type of the local batch system (e.g. PBS) cpuPerNode : number of CPUs per node in the system - walltime : maximum walltime ATTRIBUTES @@ -27,7 +26,7 @@ value optional. A Valid object must have a value for each true attribute. - id : true + name : true ResourceID : true endpoint : true LRM : true This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |