Repository: airavata
Updated Branches:
  refs/heads/gfac_appcatalog_int 82127c7b3 -> 4b27ce8a0


Replaced DataObjectType with Input and Output DataObjectType


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4b27ce8a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4b27ce8a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4b27ce8a

Branch: refs/heads/gfac_appcatalog_int
Commit: 4b27ce8a0b8a5979fb4ce82f9573b00b3f35ea82
Parents: 82127c7
Author: shamrath <[email protected]>
Authored: Thu Nov 6 19:35:11 2014 -0500
Committer: shamrath <[email protected]>
Committed: Thu Nov 6 19:35:11 2014 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 72 +++++++++++++----
 .../apache/airavata/integration/BaseCaseIT.java | 49 ++++++------
 .../airavata/integration/DataRetrievalIT.java   | 15 ++--
 .../airavata/integration/SimpleEchoIT.java      | 23 +++---
 .../engine/interpretor/WorkflowInterpreter.java | 81 ++++++++++----------
 5 files changed, 140 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4b27ce8a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 810ffcc..180ed78 100644
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -21,14 +21,23 @@
 
 package org.apache.airavata.api.server.handler;
 
-import org.airavata.appcatalog.cpi.*;
+import org.airavata.appcatalog.cpi.AppCatalog;
+import org.airavata.appcatalog.cpi.AppCatalogException;
+import org.airavata.appcatalog.cpi.ApplicationDeployment;
+import org.airavata.appcatalog.cpi.ComputeResource;
+import org.airavata.appcatalog.cpi.GwyResourceProfile;
+import org.airavata.appcatalog.cpi.WorkflowCatalog;
 import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
-import org.apache.aiaravata.application.catalog.data.resources.*;
+import 
org.apache.aiaravata.application.catalog.data.resources.AbstractResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.CloudSubmissionResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.GridftpDataMovementResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.LocalDataMovementResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.LocalSubmissionResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.ScpDataMovementResource;
+import 
org.apache.aiaravata.application.catalog.data.resources.SshJobSubmissionResource;
 import 
org.apache.aiaravata.application.catalog.data.util.AppCatalogThriftConversion;
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.airavataAPIConstants;
-import org.apache.airavata.api.server.util.AiravataServerThreadPoolExecutor;
-import org.apache.airavata.api.server.util.DataModelUtils;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.logger.AiravataLogger;
@@ -44,31 +53,60 @@ import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.model.appcatalog.computeresource.*;
+import org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission;
+import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import 
org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
+import 
org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol;
+import 
org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement;
+import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
+import org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
+import 
org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission;
 import 
org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import 
org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
-import org.apache.airavata.model.error.*;
+import org.apache.airavata.model.error.AiravataClientConnectException;
+import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.error.AiravataErrorType;
+import org.apache.airavata.model.error.AiravataSystemException;
+import org.apache.airavata.model.error.ExperimentNotFoundException;
+import org.apache.airavata.model.error.InvalidRequestException;
+import org.apache.airavata.model.error.ProjectNotFoundException;
 import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
 import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.util.ExecutionType;
 import org.apache.airavata.model.workspace.Project;
-import org.apache.airavata.model.workspace.experiment.*;
+import 
org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import org.apache.airavata.model.workspace.experiment.DataTransferDetails;
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import org.apache.airavata.model.workspace.experiment.ExperimentState;
+import org.apache.airavata.model.workspace.experiment.ExperimentStatus;
+import org.apache.airavata.model.workspace.experiment.ExperimentSummary;
+import org.apache.airavata.model.workspace.experiment.JobDetails;
+import org.apache.airavata.model.workspace.experiment.JobStatus;
+import org.apache.airavata.model.workspace.experiment.TaskDetails;
+import org.apache.airavata.model.workspace.experiment.UserConfigurationData;
+import org.apache.airavata.model.workspace.experiment.WorkflowNodeDetails;
 import org.apache.airavata.orchestrator.client.OrchestratorClientFactory;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService.Client;
 import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
 import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.*;
+import org.apache.airavata.registry.cpi.ChildDataType;
+import org.apache.airavata.registry.cpi.ParentDataType;
+import org.apache.airavata.registry.cpi.Registry;
+import org.apache.airavata.registry.cpi.RegistryException;
+import org.apache.airavata.registry.cpi.RegistryModelType;
 import org.apache.airavata.registry.cpi.utils.Constants;
-import 
org.apache.airavata.registry.cpi.utils.Constants.FieldConstants.TaskDetailConstants;
-import 
org.apache.airavata.registry.cpi.utils.Constants.FieldConstants.WorkflowNodeConstants;
 import org.apache.airavata.workflow.catalog.WorkflowCatalogFactory;
-import org.apache.airavata.workflow.engine.WorkflowEngine;
-import org.apache.airavata.workflow.engine.WorkflowEngineException;
-import org.apache.airavata.workflow.engine.WorkflowEngineFactory;
 import org.apache.thrift.TException;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class AiravataServerHandler implements Airavata.Iface {
     private static final AiravataLogger logger = 
AiravataLoggerFactory.getLogger(AiravataServerHandler.class);
@@ -897,14 +935,14 @@ public class AiravataServerHandler implements 
Airavata.Iface {
     }
 
     @Override
-    public List<DataObjectType> getExperimentOutputs(String 
airavataExperimentId) throws TException {
+    public List<OutputDataObjectType> getExperimentOutputs(String 
airavataExperimentId) throws TException {
         try {
             registry = RegistryFactory.getDefaultRegistry();
             if (!registry.isExist(RegistryModelType.EXPERIMENT, 
airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Get experiment outputs 
failed, experiment {} doesn't exit.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id 
" + airavataExperimentId + " does not exist in the system..");
             }
-            return 
(List<DataObjectType>)registry.get(RegistryModelType.EXPERIMENT_OUTPUT, 
airavataExperimentId);
+            return 
(List<OutputDataObjectType>)registry.get(RegistryModelType.EXPERIMENT_OUTPUT, 
airavataExperimentId);
         } catch (Exception e) {
             logger.errorId(airavataExperimentId, "Error while retrieving the 
experiment outputs", e);
             AiravataSystemException exception = new AiravataSystemException();

http://git-wip-us.apache.org/repos/asf/airavata/blob/4b27ce8a/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
----------------------------------------------------------------------
diff --git 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
index 0b44013..17107cf 100644
--- 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
+++ 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
@@ -21,34 +21,35 @@
 
 package org.apache.airavata.integration;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import junit.framework.Assert;
-
-//import 
org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
-//import org.apache.airavata.client.tools.DocumentCreatorNew;
 import org.apache.airavata.integration.tools.DocumentCreatorNew;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.model.util.ProjectModelUtil;
 import org.apache.airavata.model.workspace.Project;
 import 
org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
-import org.apache.airavata.model.workspace.experiment.DataObjectType;
-import org.apache.airavata.model.workspace.experiment.DataType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.JobState;
 import org.apache.airavata.model.workspace.experiment.JobStatus;
 import org.apache.airavata.model.workspace.experiment.UserConfigurationData;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+//import 
org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+//import org.apache.airavata.client.tools.DocumentCreatorNew;
 //import org.apache.airavata.workflow.model.wf.Workflow;
 //import org.apache.airavata.ws.monitor.EventData;
 //import org.apache.airavata.ws.monitor.EventDataListenerAdapter;
 //import org.apache.airavata.ws.monitor.EventDataRepository;
 //import org.apache.airavata.ws.monitor.Monitor;
 //import org.apache.airavata.ws.monitor.MonitorUtil;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
 
 /**
  * Integration test class.
@@ -87,16 +88,16 @@ public class BaseCaseIT extends WorkflowIntegrationTestBase 
{
         log.info("Running job in trestles...");
         DocumentCreatorNew documentCreator = new DocumentCreatorNew(client);
         documentCreator.createPBSDocsForOGCE_Echo();
-        List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-        DataObjectType input = new DataObjectType();
-        input.setKey("echo_input");
+        List<InputDataObjectType> exInputs = new 
ArrayList<InputDataObjectType>();
+        InputDataObjectType input = new InputDataObjectType();
+        input.setName("echo_input");
         input.setType(DataType.STRING);
         input.setValue("echo_output=Hello World");
         exInputs.add(input);
 
-        List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-        DataObjectType output = new DataObjectType();
-        output.setKey("echo_output");
+        List<OutputDataObjectType> exOut = new 
ArrayList<OutputDataObjectType>();
+        OutputDataObjectType output = new OutputDataObjectType();
+        output.setName("echo_output");
         output.setType(DataType.STRING);
         output.setValue("");
         exOut.add(output);
@@ -161,16 +162,16 @@ public class BaseCaseIT extends 
WorkflowIntegrationTestBase {
         log.info("Running job in Stampede...");
         DocumentCreatorNew documentCreator = new DocumentCreatorNew(client);
         documentCreator.createSlurmDocs();
-        List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-        DataObjectType input = new DataObjectType();
-        input.setKey("echo_input");
+        List<InputDataObjectType> exInputs = new 
ArrayList<InputDataObjectType>();
+        InputDataObjectType input = new InputDataObjectType();
+        input.setName("echo_input");
         input.setType(DataType.STRING);
         input.setValue("echo_output=Hello World");
         exInputs.add(input);
 
-        List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-        DataObjectType output = new DataObjectType();
-        output.setKey("echo_output");
+        List<OutputDataObjectType> exOut = new 
ArrayList<OutputDataObjectType>();
+        OutputDataObjectType output = new OutputDataObjectType();
+        output.setName("echo_output");
         output.setType(DataType.STRING);
         output.setValue("");
         exOut.add(output);

http://git-wip-us.apache.org/repos/asf/airavata/blob/4b27ce8a/modules/integration-tests/src/test/java/org/apache/airavata/integration/DataRetrievalIT.java
----------------------------------------------------------------------
diff --git 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/DataRetrievalIT.java
 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/DataRetrievalIT.java
index af9a729..c768b68 100644
--- 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/DataRetrievalIT.java
+++ 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/DataRetrievalIT.java
@@ -25,6 +25,9 @@ import org.airavata.appcatalog.cpi.AppCatalogException;
 import org.apache.airavata.api.Airavata.Client;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.integration.tools.DocumentCreatorNew;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.error.*;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.model.util.ProjectModelUtil;
@@ -176,16 +179,16 @@ public class DataRetrievalIT extends 
AbstractIntegrationTest {
        public String runExperiment(String user, String project) throws 
ApplicationSettingsException, AiravataClientConnectException,
                        InvalidRequestException, AiravataClientException,
                        AiravataSystemException, TException, 
ExperimentNotFoundException {
-               List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-               DataObjectType input = new DataObjectType();
-               input.setKey("echo_input");
+               List<InputDataObjectType> exInputs = new 
ArrayList<InputDataObjectType>();
+        InputDataObjectType input = new InputDataObjectType();
+        input.setName("echo_input");
                input.setType(DataType.STRING);
                input.setValue("echo_output=Hello World");
                exInputs.add(input);
 
-               List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-               DataObjectType output = new DataObjectType();
-               output.setKey("echo_output");
+               List<OutputDataObjectType> exOut = new 
ArrayList<OutputDataObjectType>();
+        OutputDataObjectType output = new OutputDataObjectType();
+               output.setName("echo_output");
                output.setType(DataType.STRING);
                output.setValue("");
                exOut.add(output);

http://git-wip-us.apache.org/repos/asf/airavata/blob/4b27ce8a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
----------------------------------------------------------------------
diff --git 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
index 499dcda..81d1383 100644
--- 
a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
+++ 
b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
@@ -21,16 +21,14 @@
 
 package org.apache.airavata.integration;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.airavata.integration.tools.DocumentCreatorNew;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.model.util.ProjectModelUtil;
 import org.apache.airavata.model.workspace.Project;
 import 
org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
-import org.apache.airavata.model.workspace.experiment.DataObjectType;
-import org.apache.airavata.model.workspace.experiment.DataType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.UserConfigurationData;
 import org.slf4j.Logger;
@@ -38,6 +36,9 @@ import org.slf4j.LoggerFactory;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class SimpleEchoIT extends SingleAppIntegrationTestBase {
     private final static Logger log = 
LoggerFactory.getLogger(SimpleEchoIT.class);
 
@@ -61,16 +62,16 @@ public class SimpleEchoIT extends 
SingleAppIntegrationTestBase {
         String appId = hostAndappId.split(",")[1];
         String hostId = hostAndappId.split(",")[0];
         
-        List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-        DataObjectType input = new DataObjectType();
-        input.setKey("echo_input");
+        List<InputDataObjectType> exInputs = new 
ArrayList<InputDataObjectType>();
+        InputDataObjectType input = new InputDataObjectType();
+        input.setName("echo_input");
         input.setType(DataType.STRING);
         input.setValue("echo_output=Hello World");
         exInputs.add(input);
 
-        List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-        DataObjectType output = new DataObjectType();
-        output.setKey("echo_output");
+        List<OutputDataObjectType> exOut = new 
ArrayList<OutputDataObjectType>();
+        OutputDataObjectType output = new OutputDataObjectType();
+        output.setName("echo_output");
         output.setType(DataType.STRING);
         output.setValue("");
         exOut.add(output);

http://git-wip-us.apache.org/repos/asf/airavata/blob/4b27ce8a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
----------------------------------------------------------------------
diff --git 
a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
 
b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
index 59681c7..fa4fd32 100644
--- 
a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
+++ 
b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
@@ -21,28 +21,7 @@
 
 package org.apache.airavata.workflow.engine.interpretor;
 
-import java.net.URL;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.xml.namespace.QName;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.apache.airavata.api.Airavata;
+import com.google.common.eventbus.Subscribe;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.AiravataUtils;
@@ -52,6 +31,8 @@ import org.apache.airavata.common.utils.XMLUtil;
 import org.apache.airavata.common.utils.listener.AbstractActivityListener;
 import org.apache.airavata.messaging.core.MessageContext;
 import org.apache.airavata.messaging.core.Publisher;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
 import org.apache.airavata.model.messaging.event.MessageType;
 import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
@@ -59,7 +40,6 @@ import 
org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
 import org.apache.airavata.model.messaging.event.WorkflowIdentifier;
 import org.apache.airavata.model.messaging.event.WorkflowNodeStatusChangeEvent;
 import org.apache.airavata.model.util.ExperimentModelUtil;
-import org.apache.airavata.model.workspace.experiment.DataObjectType;
 import org.apache.airavata.model.workspace.experiment.ExecutionUnit;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.ExperimentState;
@@ -125,10 +105,27 @@ import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xmlpull.infoset.XmlElement;
-
 import xsul5.XmlConstants;
 
-import com.google.common.eventbus.Subscribe;
+import javax.xml.namespace.QName;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import java.net.URL;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicInteger;
 
 public class WorkflowInterpreter implements AbstractActivityListener{
     private static final Logger log = 
LoggerFactory.getLogger(WorkflowInterpreter.class);
@@ -238,10 +235,10 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                try {
                        
this.getWorkflow().setExecutionState(WorkflowExecutionState.RUNNING);
                        ArrayList<Node> inputNodes = 
this.getInputNodesDynamically();
-                       List<DataObjectType> experimentInputs = 
experiment.getExperimentInputs();
+                       List<InputDataObjectType> experimentInputs = 
experiment.getExperimentInputs();
                        Map<String,String> inputDataStrings=new HashMap<String, 
String>();
-                       for (DataObjectType dataObjectType : experimentInputs) {
-                               inputDataStrings.put(dataObjectType.getKey(), 
dataObjectType.getValue());
+                       for (InputDataObjectType dataObjectType : 
experimentInputs) {
+                               inputDataStrings.put(dataObjectType.getName(), 
dataObjectType.getValue());
                        }
                        for (Node node : inputNodes) {
                 
publishNodeStatusChange(WorkflowNodeState.EXECUTING,node.getID(),experiment.getExperimentID());
@@ -261,8 +258,8 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                                Object portValue = ((InputNode) 
node).getDefaultValue();
                 //Saving workflow input Node data before running the workflow
                                WorkflowNodeDetails workflowNode = 
createWorkflowNodeDetails(node);
-                               DataObjectType elem = new DataObjectType();
-                               elem.setKey(portId);
+                InputDataObjectType elem = new InputDataObjectType();
+                               elem.setName(portId);
                                
elem.setValue(portValue==null?null:portValue.toString());
                                workflowNode.addToNodeInputs(elem);
                                
getRegistry().update(RegistryModelType.WORKFLOW_NODE_DETAIL, workflowNode, 
workflowNode.getNodeInstanceId());
@@ -508,8 +505,8 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                     String portValue = ((OutputNode) node).getDescription();
 //                    
this.getConfig().getConfiguration().getAiravataAPI().getProvenanceManager().setWorkflowInstanceNodeOutput(workflowInstanceNode,
 portname + "=" + portValue);
 //                    
this.getConfig().getConfiguration().getAiravataAPI().getProvenanceManager().setWorkflowNodeType(workflowInstanceNode,
 workflowNodeType);
-                    DataObjectType elem = new DataObjectType();
-                    elem.setKey(portname);
+                    OutputDataObjectType elem = new OutputDataObjectType();
+                    elem.setName(portname);
                     elem.setValue(portValue);
                                        
workflowNodeDetails.addToNodeOutputs(elem);
                                        
getRegistry().update(RegistryModelType.WORKFLOW_NODE_DETAIL, 
workflowNodeDetails, workflowNodeDetails.getNodeInstanceId());
@@ -572,8 +569,8 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                                        throw new 
WorkFlowInterpreterException("Unable to find output for the node:" + 
node.getID());
                                }
                                WorkflowNodeDetails workflowNodeDetails = 
nodeInstanceList.get(node);
-                               DataObjectType elem = new DataObjectType();
-                               elem.setKey(node.getName());
+                OutputDataObjectType elem = new OutputDataObjectType();
+                               elem.setName(node.getName());
                                elem.setValue(val.toString());
                                workflowNodeDetails.addToNodeOutputs(elem);
                                try {
@@ -1061,8 +1058,8 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                     portInputValue = 
outputData.get(dataPort.getEdge(0).getFromPort().getName());
                 }
                        }
-                       DataObjectType elem = new DataObjectType();
-                       elem.setKey(dataPort.getName());
+            InputDataObjectType elem = new InputDataObjectType();
+            elem.setName(dataPort.getName());
                        elem.setValue(portInputValue);
                        nodeDetails.addToNodeInputs(elem);
                }
@@ -1079,8 +1076,8 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                Map<String, String> outputData = nodeOutputData.get(node);
                for (DataPort dataPort : outputPorts) {
                        String portInputValue = 
outputData.get(dataPort.getName());
-                       DataObjectType elem = new DataObjectType();
-                       elem.setKey(dataPort.getName());
+            OutputDataObjectType elem = new OutputDataObjectType();
+                       elem.setName(dataPort.getName());
                        elem.setValue(portInputValue);
                        nodeDetails.addToNodeOutputs(elem);
                }
@@ -1466,13 +1463,13 @@ public class WorkflowInterpreter implements 
AbstractActivityListener{
                if (isTaskAwaiting(taskId)){
                WorkflowNodeState state=WorkflowNodeState.COMPLETED;
                        Node node = getAwaitingNodeForTask(taskId);
-               List<DataObjectType> applicationOutputs = 
taskOutputEvent.getOutput();
+               List<OutputDataObjectType> applicationOutputs = 
taskOutputEvent.getOutput();
                        Map<String, String> outputData = new HashMap<String, 
String>();
-                       for (DataObjectType outputObj : applicationOutputs) {
+                       for (OutputDataObjectType outputObj : 
applicationOutputs) {
                                List<DataPort> outputPorts = 
node.getOutputPorts();
                                for (DataPort dataPort : outputPorts) {
-                                       if 
(dataPort.getName().equals(outputObj.getKey())){
-                                               
outputData.put(outputObj.getKey(), outputObj.getValue());
+                                       if 
(dataPort.getName().equals(outputObj.getName())){
+                                               
outputData.put(outputObj.getName(), outputObj.getValue());
                                        }
                                }
                        }

Reply via email to