You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2013/01/21 17:37:53 UTC
svn commit: r1436470 - in /airavata/sandbox/grid-tools/bes-client/src:
main/java/org/apache/airavata/sample/bes/ test/resources/
Author: lahiru
Date: Mon Jan 21 16:37:52 2013
New Revision: 1436470
URL: http://svn.apache.org/viewvc?rev=1436470&view=rev
Log:
committing Shabhaz patches to scratch, from https://issues.apache.org/jira/browse/AIRAVATA-657.
Added:
airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/AbstractJobCommand.java
airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/CreateAndTerminateActivityTask.java
airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/MonitorJobStatusTask.java
airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/RunAndTerminateJob.java
airavata/sandbox/grid-tools/bes-client/src/test/resources/fsp.xml
airavata/sandbox/grid-tools/bes-client/src/test/resources/sleep.xml
Added: airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/AbstractJobCommand.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/AbstractJobCommand.java?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/AbstractJobCommand.java (added)
+++ airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/AbstractJobCommand.java Mon Jan 21 16:37:52 2013
@@ -0,0 +1,36 @@
+package org.apache.airavata.sample.bes;
+
+import de.fzj.unicore.uas.security.ClientProperties;
+import eu.unicore.security.util.client.IClientProperties;
+
+public abstract class AbstractJobCommand {
+
+
+
+ public static final String factoryUrl = "https://zam1161v01.zam.kfa-juelich.de:8002/INTEROP1/services/BESFactory?res=default_bes_factory";
+ public static final String dateJsdlPath = "src/test/resources/date.xml";
+
+ protected IClientProperties securityProperties;
+
+
+ public AbstractJobCommand() {
+ securityProperties = initSecurityProperties();
+ }
+
+ protected ClientProperties initSecurityProperties() {
+
+ ClientProperties sp = new ClientProperties();
+
+ sp.setSslEnabled(true);
+ sp.setSignMessage(true);
+
+ sp.setKeystore("src/test/resources/demo-keystore.jks");
+ sp.setKeystorePassword("654321");
+ sp.setKeystoreAlias("demouser-new");
+ sp.setKeystoreType("JKS");
+
+ return sp;
+
+ }
+
+}
Added: airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/CreateAndTerminateActivityTask.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/CreateAndTerminateActivityTask.java?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/CreateAndTerminateActivityTask.java (added)
+++ airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/CreateAndTerminateActivityTask.java Mon Jan 21 16:37:52 2013
@@ -0,0 +1,79 @@
+package org.apache.airavata.sample.bes;
+
+import java.util.Calendar;
+
+import org.ggf.schemas.bes.x2006.x08.besFactory.ActivityStateEnumeration;
+import org.ggf.schemas.bes.x2006.x08.besFactory.CreateActivityDocument;
+import org.ggf.schemas.bes.x2006.x08.besFactory.CreateActivityResponseDocument;
+import org.ggf.schemas.bes.x2006.x08.besFactory.TerminateActivitiesResponseType;
+import org.w3.x2005.x08.addressing.EndpointReferenceType;
+
+import de.fzj.unicore.bes.client.FactoryClient;
+import de.fzj.unicore.wsrflite.xmlbeans.WSUtilities;
+import eu.unicore.security.util.client.IClientProperties;
+
+public class CreateAndTerminateActivityTask {
+
+ private BESJob job;
+
+ private IClientProperties sec;
+ private String jobId;
+
+
+ public CreateAndTerminateActivityTask(BESJob job, IClientProperties sec) {
+ this.job = job;
+ this.sec = sec;
+
+ }
+
+ public void startJob() throws Exception {
+ String factoryUrl = job.getFactoryUrl();
+ EndpointReferenceType eprt = EndpointReferenceType.Factory
+ .newInstance();
+ eprt.addNewAddress().setStringValue(factoryUrl);
+ System.out.println("========================================");
+ System.out.println(String.format("Job Submitted to %s.\n", factoryUrl));
+ FactoryClient factory = new FactoryClient(eprt, sec);
+ CreateActivityDocument cad = CreateActivityDocument.Factory
+ .newInstance();
+ cad.addNewCreateActivity().addNewActivityDocument()
+ .setJobDefinition(job.getJobDoc().getJobDefinition());
+ CreateActivityResponseDocument response = factory.createActivity(cad);
+ EndpointReferenceType activityEpr = response
+ .getCreateActivityResponse().getActivityIdentifier();
+ jobId = WSUtilities.extractResourceID(activityEpr);
+ if (jobId == null) {
+ jobId = new Long(Calendar.getInstance().getTimeInMillis())
+ .toString();
+ }
+
+ String status;
+
+ status = String.format("Job %s is %s.\n", activityEpr.getAddress()
+ .getStringValue(), factory.getActivityStatus(activityEpr)
+ .toString()).toString();
+
+ System.out.println(status);
+
+ TerminateActivitiesResponseType terminateResType = factory.terminateActivity(activityEpr);
+
+ Thread.sleep(500);
+ System.out.println(terminateResType);
+
+ if (!(factory.getActivityStatus(activityEpr) == ActivityStateEnumeration.CANCELLED)) {
+ throw new Exception("Job "+activityEpr.getAddress().getStringValue()+" not CANCELLED");
+ }
+
+ status = String.format("Job %s is %s.\n", activityEpr.getAddress()
+ .getStringValue(), factory.getActivityStatus(activityEpr)
+ .toString()).toString();
+
+ System.out.println(status);
+
+
+
+ }
+
+
+
+}
Added: airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/MonitorJobStatusTask.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/MonitorJobStatusTask.java?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/MonitorJobStatusTask.java (added)
+++ airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/MonitorJobStatusTask.java Mon Jan 21 16:37:52 2013
@@ -0,0 +1,26 @@
+package org.apache.airavata.sample.bes;
+
+import org.w3.x2005.x08.addressing.EndpointReferenceType;
+
+import de.fzj.unicore.wsrflite.xmlbeans.WSUtilities;
+
+import eu.unicore.security.util.client.IClientProperties;
+
+public class MonitorJobStatusTask {
+
+ private String factoryUrl;
+ private EndpointReferenceType jobEPR;
+ private IClientProperties sec;
+
+ public MonitorJobStatusTask(String factoryUrl, IClientProperties sec, EndpointReferenceType jobEPR) {
+ this.factoryUrl = factoryUrl;
+ this.jobEPR = jobEPR;
+ this.sec = sec;
+ }
+
+
+
+
+
+
+}
Added: airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/RunAndTerminateJob.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/RunAndTerminateJob.java?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/RunAndTerminateJob.java (added)
+++ airavata/sandbox/grid-tools/bes-client/src/main/java/org/apache/airavata/sample/bes/RunAndTerminateJob.java Mon Jan 21 16:37:52 2013
@@ -0,0 +1,36 @@
+package org.apache.airavata.sample.bes;
+
+import java.io.File;
+
+import org.ggf.schemas.jsdl.x2005.x11.jsdl.JobDefinitionDocument;
+
+public class RunAndTerminateJob extends AbstractJobCommand {
+
+ public RunAndTerminateJob() {
+ super();
+ }
+
+ public void runAndTerminate(){
+ JobDefinitionDocument jobDoc = null;
+ try {
+ jobDoc = JobDefinitionDocument.Factory.parse(new File(dateJsdlPath));
+ } catch (Exception e) {
+ System.err.println("Error parsing JSDL instance. " + e);
+ }
+
+ BESJob job = new BESJob();
+ job.setFactory(factoryUrl);
+ job.setJobDoc(jobDoc);
+
+ CreateAndTerminateActivityTask th = new CreateAndTerminateActivityTask(job, securityProperties);
+ try {
+ th.startJob();
+ } catch (Exception e) {
+
+ System.err.println("Couldn't run job: " + e);
+ }
+ }
+
+
+}
+
Added: airavata/sandbox/grid-tools/bes-client/src/test/resources/fsp.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/test/resources/fsp.xml?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/test/resources/fsp.xml (added)
+++ airavata/sandbox/grid-tools/bes-client/src/test/resources/fsp.xml Mon Jan 21 16:37:52 2013
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<p:JobDefinition xmlns:p="http://schemas.ggf.org/jsdl/2005/11/jsdl"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.ggf.org/jsdl/2005/11/jsdl jsdl.xsd ">
+ <p:JobDescription>
+ <p:Application>
+ <POSIXApplication xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix">
+ <Executable>/bin/date;/bin/cat</Executable>
+ <Argument>input.txt</Argument>
+ <Output>stdout.txt</Output>
+ <Error>stderr.txt</Error>
+ </POSIXApplication>
+ </p:Application>
+ <p:DataStaging>
+ <p:FileName>input.txt</p:FileName>
+ <p:CreationFlag>overwrite</p:CreationFlag>
+ <p:Source>
+ <p:URI>ftp://host.name:8004/hello.txt
+ </p:URI>
+ </p:Source>
+ <ac:Credential xmlns:ac="http://schemas.ogf.org/hpcp/2007/11/ac">
+ <wsse:UsernameToken
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <wsse:Username>myuser</wsse:Username>
+ <wsse:Password>mypass</wsse:Password>
+ </wsse:UsernameToken>
+ </ac:Credential>
+ </p:DataStaging>
+ <p:DataStaging>
+ <p:FileName>input.txt</p:FileName>
+ <p:CreationFlag>overwrite</p:CreationFlag>
+ <p:Target>
+ <p:URI>ftp://host.name:8004/input.txt</p:URI>
+ </p:Target>
+ <ac:Credential xmlns:ac="http://schemas.ogf.org/hpcp/2007/11/ac">
+ <wsse:UsernameToken
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <wsse:Username>myuser</wsse:Username>
+ <wsse:Password>mypass</wsse:Password>
+ </wsse:UsernameToken>
+ </ac:Credential>
+ </p:DataStaging>
+ <p:DataStaging>
+ <p:FileName>stderr.txt</p:FileName>
+ <p:CreationFlag>overwrite</p:CreationFlag>
+ <p:Target>
+ <!-- replace gridsam with your middleware client - arc clients : ftp://zam1161v01.zam.kfa-juelich.de:8004/ogf27/arc/test__9_200.out
+ - genesis clients : ftp://zam1161v01.zam.kfa-juelich.de:8004/ogf27/genesis/test__9_200.out -->
+ <p:URI>ftp://host.name:8004/stderr.txt</p:URI>
+ </p:Target>
+ <ac:Credential xmlns:ac="http://schemas.ogf.org/hpcp/2007/11/ac">
+ <wsse:UsernameToken
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <wsse:Username>myuser</wsse:Username>
+ <wsse:Password>mypass</wsse:Password>
+ </wsse:UsernameToken>
+ </ac:Credential>
+ </p:DataStaging>
+ <p:DataStaging>
+ <p:FileName>stdout.txt</p:FileName>
+ <p:CreationFlag>overwrite</p:CreationFlag>
+ <!-- replace gridsam with your middleware client - arc clients : ftp://zam1161v01.zam.kfa-juelich.de:8004/ogf27/arc/test__9_200.out
+ - genesis clients : ftp://zam1161v01.zam.kfa-juelich.de:8004/ogf27/genesis/test__9_200.out -->
+
+ <p:Target>
+ <p:URI>ftp://host.name:8004/stdout.txt</p:URI>
+ </p:Target>
+ <ac:Credential xmlns:ac="http://schemas.ogf.org/hpcp/2007/11/ac">
+ <wsse:UsernameToken
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <wsse:Username>myuser</wsse:Username>
+ <wsse:Password>mypass</wsse:Password>
+ </wsse:UsernameToken>
+ </ac:Credential>
+ </p:DataStaging>
+ </p:JobDescription>
+</p:JobDefinition>
\ No newline at end of file
Added: airavata/sandbox/grid-tools/bes-client/src/test/resources/sleep.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/grid-tools/bes-client/src/test/resources/sleep.xml?rev=1436470&view=auto
==============================================================================
--- airavata/sandbox/grid-tools/bes-client/src/test/resources/sleep.xml (added)
+++ airavata/sandbox/grid-tools/bes-client/src/test/resources/sleep.xml Mon Jan 21 16:37:52 2013
@@ -0,0 +1,10 @@
+<JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl" xmlns:jsdl="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix" xmlns:ac="http://schemas.ogf.org/hpcp/2007/11/ac" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <JobDescription>
+ <Application>
+ <jsdl:POSIXApplication>
+ <jsdl:Executable>/bin/sleep</jsdl:Executable>
+ <jsdl:Argument>10000</jsdl:Argument>
+ </jsdl:POSIXApplication>
+ </Application>
+ </JobDescription>
+</JobDefinition>
\ No newline at end of file