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 2012/12/07 21:30:04 UTC
svn commit: r1418464 - in /airavata/trunk/samples/airavata-client:
create-application/src/main/java/org/apache/airavata/airavata-api/samples/
workflow-run/src/main/java/org/apache/airavata/client/samples/
workflow-run/src/main/resources/
Author: lahiru
Date: Fri Dec 7 20:30:03 2012
New Revision: 1418464
URL: http://svn.apache.org/viewvc?rev=1418464&view=rev
Log:
adding more changes to samples.
Modified:
airavata/trunk/samples/airavata-client/create-application/src/main/java/org/apache/airavata/airavata-api/samples/CreateApplication.java
airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java
airavata/trunk/samples/airavata-client/workflow-run/src/main/resources/EchoWorkflow.xwf
Modified: airavata/trunk/samples/airavata-client/create-application/src/main/java/org/apache/airavata/airavata-api/samples/CreateApplication.java
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/create-application/src/main/java/org/apache/airavata/airavata-api/samples/CreateApplication.java?rev=1418464&r1=1418463&r2=1418464&view=diff
==============================================================================
--- airavata/trunk/samples/airavata-client/create-application/src/main/java/org/apache/airavata/airavata-api/samples/CreateApplication.java (original)
+++ airavata/trunk/samples/airavata-client/create-application/src/main/java/org/apache/airavata/airavata-api/samples/CreateApplication.java Fri Dec 7 20:30:03 2012
@@ -66,6 +66,7 @@ public class CreateApplication {
List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
serviceDescription.getType().setName("Echo");
serviceDescription.getType().setDescription("Echo service");
+ //Creating input parameters
InputParameterType parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("echo_input");
parameter.setParameterDescription("echo input");
@@ -74,6 +75,7 @@ public class CreateApplication {
parameterType.setName("String");
inputParameters.add(parameter);
+ //Creating output parameters
OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("echo_output");
outputParameter.setParameterDescription("Echo output");
@@ -82,13 +84,15 @@ public class CreateApplication {
outputParaType.setName("String");
outputParameters.add(outputParameter);
+ //Setting input and output parameters to serviceDescriptor
serviceDescription.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
serviceDescription.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));
log.info("Saving service description ...");
+ //Saving service descriptor
airavataAPI.getApplicationManager().saveServiceDescription(serviceDescription);
- // Deployment descriptor
+ // Deployment descriptor creation
ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription();
ApplicationDeploymentDescriptionType applicationDeploymentDescriptionType
= applicationDeploymentDescription.getType();
@@ -97,6 +101,8 @@ public class CreateApplication {
applicationDeploymentDescriptionType.setScratchWorkingDirectory("/tmp");
log.info("Saving deployment description ...");
+
+ //Saving deployment Descriptor with an association with given serviceName, Host name
airavataAPI.getApplicationManager().saveDeploymentDescription(serviceDescription.getType().getName(),
descriptor.getType().getHostName(), applicationDeploymentDescription);
}
Modified: airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java?rev=1418464&r1=1418463&r2=1418464&view=diff
==============================================================================
--- airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java (original)
+++ airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java Fri Dec 7 20:30:03 2012
@@ -24,7 +24,10 @@ import org.apache.airavata.client.Airava
import org.apache.airavata.client.api.AiravataAPI;
import org.apache.airavata.client.api.AiravataAPIInvocationException;
import org.apache.airavata.registry.api.PasswordCallback;
+import org.apache.airavata.registry.api.exception.worker.ExperimentLazyLoadedException;
import org.apache.airavata.registry.api.workflow.ExperimentData;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceData;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeData;
import org.apache.airavata.rest.client.PasswordCallbackImpl;
import org.apache.airavata.workflow.model.wf.WorkflowInput;
import org.slf4j.Logger;
@@ -54,13 +57,13 @@ public class RunWorkflow {
private static AiravataAPI airavataAPI;
- public static void main(String[] args) throws AiravataAPIInvocationException, IOException, URISyntaxException {
+ public static void main(String[] args) throws AiravataAPIInvocationException, IOException, URISyntaxException, ExperimentLazyLoadedException {
//creating airavata client object //
port = Integer.parseInt("8080");
serverUrl = "localhost";
serverContextName = "airavata-registry";
-
+ System.out.println((new File(".")).getAbsolutePath());
log.info("Configurations - port : " + port);
log.info("Configurations - serverUrl : " + serverUrl);
log.info("Configurations - serverContext : " + serverContextName);
@@ -72,9 +75,13 @@ public class RunWorkflow {
PasswordCallback passwordCallback = new PasswordCallbackImpl(getUserName(), getPassword());
airavataAPI = AiravataAPIFactory.getAPI(new URI(getRegistryURL()),
getGatewayName(), getUserName(), passwordCallback);
- System.out.println((new File("")).getAbsolutePath());
- String workflowName = "Workflow1";
+
+ String workflowName = "EchoSample";
+ //Saving workflow method, workflow file has the workflow Name set to EchoSample, so when we use saveWorkflow method it will
+ //save the workflow with that name.
airavataAPI.getWorkflowManager().saveWorkflow(getWorkflowComposeContent());
+
+ //Now workflow has saved, Now we have to set inputs
List<WorkflowInput> workflowInputs = new ArrayList<WorkflowInput>();
String name = "echo_input";
String type = "String";
@@ -82,26 +89,22 @@ public class RunWorkflow {
WorkflowInput workflowInput = new WorkflowInput(name, (type == null ||
type.isEmpty()) ? "String" : type, null, value, false);
workflowInputs.add(workflowInput);
+
+ //Now inputs are set properly to the workflow, now we are about to run the workflow(submit the workflow run to intepreterService)
String result
= airavataAPI.getExecutionManager().runExperiment(workflowName, workflowInputs, "admin", "",
workflowName);
System.out.println("Workflow Experiment ID Returned : " + result);
- List<ExperimentData> experimentDataList = airavataAPI.getProvenanceManager().getExperimentDataList(result);
- for (ExperimentData data : experimentDataList) {
- System.out.println(data.getExperimentName() + ": " + data.getTopic());
- }
- }
+ ExperimentData experimentData = airavataAPI.getProvenanceManager().getExperimentData(result);
+ List<WorkflowInstanceData> workflowInstanceData = experimentData.getWorkflowInstanceData();
- public static int getPort() {
- return port;
- }
-
- public static String getServerUrl() {
- return serverUrl;
- }
-
- public static String getServerContextName() {
- return serverContextName;
+ for(WorkflowInstanceData data:workflowInstanceData){
+ List<WorkflowInstanceNodeData> nodeDataList = data.getNodeDataList();
+ for(WorkflowInstanceNodeData nodeData:nodeDataList){
+ System.out.println("Input : " + nodeData.getInputData().get(0));
+ System.out.println("Output :" + nodeData.getOutputData().get(0));
+ }
+ }
}
public static String getRegistryURL() {
@@ -121,7 +124,7 @@ public class RunWorkflow {
}
protected static String getWorkflowComposeContent() throws IOException {
-
+ System.out.println((new File(".")).getAbsolutePath());
BufferedReader reader = new BufferedReader(new FileReader("src/main/resources/EchoWorkflow.xwf"));
String line = null;
StringBuffer buffer = new StringBuffer();
Modified: airavata/trunk/samples/airavata-client/workflow-run/src/main/resources/EchoWorkflow.xwf
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/workflow-run/src/main/resources/EchoWorkflow.xwf?rev=1418464&r1=1418463&r2=1418464&view=diff
==============================================================================
--- airavata/trunk/samples/airavata-client/workflow-run/src/main/resources/EchoWorkflow.xwf (original)
+++ airavata/trunk/samples/airavata-client/workflow-run/src/main/resources/EchoWorkflow.xwf Fri Dec 7 20:30:03 2012
@@ -1,7 +1,7 @@
<?xml version="1.0"?><xwf:workflow xwf:version="0.5" xmlns:xwf="http://airavata.apache.org/xbaya/xwf">
<xgr:graph xgr:version="0.5" xgr:type="ws" xmlns:xgr="http://airavata.apache.org/xbaya/graph">
- <xgr:id>Workflow1</xgr:id>
- <xgr:name>Workflow1</xgr:name>
+ <xgr:id>EchoSample</xgr:id>
+ <xgr:name>EchoSample</xgr:name>
<xgr:description></xgr:description>
<xgr:metadata>
<appinfo xmlns="http://www.w3.org/2001/XMLSchema">
@@ -137,4 +137,4 @@
<xwf:image>iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mN49Ojef2Iww6hC+ioE
AJr2avQ9sXYrAAAAAElFTkSuQmCC
</xwf:image>
-</xwf:workflow>
\ No newline at end of file
+</xwf:workflow>