You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/03/26 18:08:46 UTC

[47/50] [abbrv] airavata git commit: Renamed simple-workflow module to workflow and created a new workflow-core module which will keep all the core code

Renamed simple-workflow module to workflow and created a new workflow-core module which will keep all the core code


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

Branch: refs/heads/master
Commit: 509f2037eaa7a682548c777df284d9a292cf8e04
Parents: 5e5630d
Author: shamrath <sh...@gmail.com>
Authored: Wed Mar 25 16:25:01 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Wed Mar 25 16:25:01 2015 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |   7 +-
 .../server/handler/AiravataServerHandler.java   |   3 +-
 .../api/server/util/DataModelUtils.java         |   3 +-
 .../main/resources/airavata-server.properties   |   2 +-
 .../main/resources/airavata-server.properties   |   2 +-
 .../airavata-orchestrator-service/pom.xml       |   7 +-
 .../server/OrchestratorServerHandler.java       |   2 +-
 .../orchestrator/util/DataModelUtils.java       |   5 +-
 .../client/OrchestratorClientFactoryTest.java   |   2 -
 modules/simple-workflow/pom.xml                 |  70 ---
 .../simple/workflow/engine/ProcessContext.java  |  62 --
 .../engine/SimpleWorkflowInterpreter.java       | 400 -------------
 .../engine/WorkflowEnactmentService.java        | 183 ------
 .../simple/workflow/engine/WorkflowFactory.java |  31 -
 .../workflow/engine/WorkflowFactoryImpl.java    |  74 ---
 .../simple/workflow/engine/WorkflowParser.java  |  32 -
 .../workflow/engine/dag/edge/DirectedEdge.java  |  52 --
 .../simple/workflow/engine/dag/edge/Edge.java   |  43 --
 .../engine/dag/nodes/ApplicationNode.java       |  41 --
 .../engine/dag/nodes/ApplicationNodeImpl.java   | 116 ----
 .../workflow/engine/dag/nodes/NodeState.java    |  44 --
 .../workflow/engine/dag/nodes/NodeType.java     |  28 -
 .../engine/dag/nodes/WorkflowInputNode.java     |  37 --
 .../engine/dag/nodes/WorkflowInputNodeImpl.java |  99 ----
 .../workflow/engine/dag/nodes/WorkflowNode.java |  38 --
 .../engine/dag/nodes/WorkflowOutputNode.java    |  37 --
 .../dag/nodes/WorkflowOutputNodeImpl.java       | 100 ----
 .../simple/workflow/engine/dag/port/InPort.java |  41 --
 .../workflow/engine/dag/port/InputPortIml.java  |  91 ---
 .../workflow/engine/dag/port/OutPort.java       |  39 --
 .../workflow/engine/dag/port/OutPortImpl.java   |  83 ---
 .../simple/workflow/engine/dag/port/Port.java   |  36 --
 .../engine/parser/AiravataWorkflowParser.java   | 291 ---------
 .../workflow/engine/parser/PortContainer.java   |  53 --
 .../simple/workflow/engine/WorkflowDAGTest.java |  46 --
 .../parser/AiravataWorkflowParserTest.java      | 119 ----
 .../src/test/resources/ComplexMathWorkflow.awf  | 465 ---------------
 modules/workflow/pom.xml                        |  22 +
 modules/workflow/workflow-core/pom.xml          |  74 +++
 .../airavata/workflow/core/ProcessContext.java  |  62 ++
 .../core/SimpleWorkflowInterpreter.java         | 400 +++++++++++++
 .../workflow/core/WorkflowEnactmentService.java | 183 ++++++
 .../airavata/workflow/core/WorkflowFactory.java |  31 +
 .../workflow/core/WorkflowFactoryImpl.java      |  74 +++
 .../airavata/workflow/core/WorkflowParser.java  |  32 +
 .../workflow/core/dag/edge/DirectedEdge.java    |  52 ++
 .../airavata/workflow/core/dag/edge/Edge.java   |  43 ++
 .../core/dag/nodes/ApplicationNode.java         |  41 ++
 .../core/dag/nodes/ApplicationNodeImpl.java     | 116 ++++
 .../workflow/core/dag/nodes/NodeState.java      |  44 ++
 .../workflow/core/dag/nodes/NodeType.java       |  28 +
 .../core/dag/nodes/WorkflowInputNode.java       |  37 ++
 .../core/dag/nodes/WorkflowInputNodeImpl.java   |  99 ++++
 .../workflow/core/dag/nodes/WorkflowNode.java   |  38 ++
 .../core/dag/nodes/WorkflowOutputNode.java      |  37 ++
 .../core/dag/nodes/WorkflowOutputNodeImpl.java  | 100 ++++
 .../airavata/workflow/core/dag/port/InPort.java |  41 ++
 .../workflow/core/dag/port/InputPortIml.java    |  91 +++
 .../workflow/core/dag/port/OutPort.java         |  39 ++
 .../workflow/core/dag/port/OutPortImpl.java     |  83 +++
 .../airavata/workflow/core/dag/port/Port.java   |  36 ++
 .../core/parser/AiravataWorkflowParser.java     | 291 +++++++++
 .../workflow/core/parser/PortContainer.java     |  53 ++
 .../airavata/workflow/core/WorkflowDAGTest.java |  46 ++
 .../core/parser/AiravataWorkflowParserTest.java | 119 ++++
 .../src/test/resources/ComplexMathWorkflow.awf  | 465 +++++++++++++++
 .../test/resources/ParamChemApplicationTest.awf | 593 +++++++++++++++++++
 pom.xml                                         |   2 +-
 68 files changed, 3384 insertions(+), 2772 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/airavata-api/airavata-api-server/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/pom.xml b/airavata-api/airavata-api-server/pom.xml
index 7cb6376..bf6c555 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -66,9 +66,14 @@
             <artifactId>airavata-orchestrator-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.apache.airavata</groupId>-->
+            <!--<artifactId>airavata-workflow-engine</artifactId>-->
+            <!--<version>${project.version}</version>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-workflow-engine</artifactId>
+            <artifactId>airavata-messaging-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/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 6675bb8..aeb106c 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
@@ -83,7 +83,6 @@ 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.workflow.catalog.WorkflowCatalogFactory;
 import org.apache.thrift.TException;
 
 import java.util.ArrayList;
@@ -3094,7 +3093,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 	private WorkflowCatalog getWorkflowCatalog() {
 		if (workflowCatalog == null) {
 			try {
-				workflowCatalog = WorkflowCatalogFactory.getWorkflowCatalog();
+				workflowCatalog = AppCatalogFactory.getAppCatalog().getWorkflowCatalog();
 			} catch (Exception e) {
 				logger.error("Unable to create Workflow Catalog", e);
 			}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
index 5f4db49..8af8956 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
@@ -27,7 +27,6 @@ import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.util.ExecutionType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
-import org.apache.airavata.workflow.catalog.WorkflowCatalogFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,7 +42,7 @@ public class DataModelUtils {
 			if (allApplicationInterfaceIds.contains(applicationId)){
 				return ExecutionType.SINGLE_APP;
 			} else {
-				List<String> allWorkflows = WorkflowCatalogFactory.getWorkflowCatalog().getAllWorkflows(ServerSettings.getDefaultUserGateway());
+				List<String> allWorkflows = AppCatalogFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(ServerSettings.getDefaultUserGateway());
 				if (allWorkflows.contains(applicationId)){
 					return ExecutionType.WORKFLOW;
 				}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 8442472..6bb34ad 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -163,7 +163,7 @@ gfac.passive=false
 enactment.thread.pool.size=10
 
 #to define custom workflow parser user following property
-#workflow.parser=org.apache.airavata.simple.workflow.engine.parser.AiravataWorkflowParser
+#workflow.parser=org.apache.airavata.workflow.core.parser.AiravataWorkflowParser
 
 
 ###########################################################################

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties b/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
index fe4de5d..6be04e6 100644
--- a/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
+++ b/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
@@ -147,7 +147,7 @@ trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
 enactment.thread.pool.size=10
 
 #to define custom workflow parser user following property
-#workflow.parser=org.apache.airavata.simple.workflow.engine.parser.AiravataWorkflowParser
+#workflow.parser=org.apache.airavata.workflow.core.parser.AiravataWorkflowParser
 
 
 ###########################################################################

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/orchestrator/airavata-orchestrator-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/pom.xml b/modules/orchestrator/airavata-orchestrator-service/pom.xml
index b441023..c6ab2f4 100644
--- a/modules/orchestrator/airavata-orchestrator-service/pom.xml
+++ b/modules/orchestrator/airavata-orchestrator-service/pom.xml
@@ -52,12 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-workflow-engine</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>simple-workflow</artifactId>
+            <artifactId>workflow-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index a0e25d7..53671af 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -73,7 +73,7 @@ import org.apache.airavata.registry.cpi.RegistryException;
 import org.apache.airavata.registry.cpi.RegistryModelType;
 import org.apache.airavata.registry.cpi.utils.Constants.FieldConstants.TaskDetailConstants;
 import org.apache.airavata.registry.cpi.utils.Constants.FieldConstants.WorkflowNodeConstants;
-import org.apache.airavata.simple.workflow.engine.WorkflowEnactmentService;
+import org.apache.airavata.workflow.core.WorkflowEnactmentService;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TException;
 import org.apache.zookeeper.CreateMode;

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
index b6f8387..da11a59 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
@@ -26,11 +26,8 @@ import java.util.List;
 import org.airavata.appcatalog.cpi.AppCatalogException;
 import org.airavata.appcatalog.cpi.ApplicationInterface;
 import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.util.ExecutionType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
-import org.apache.airavata.workflow.catalog.WorkflowCatalogFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,7 +42,7 @@ public class DataModelUtils {
 			if (allApplicationInterfaceIds.contains(applicationId)){
 				return ExecutionType.SINGLE_APP;
 			} else {
-				List<String> allWorkflows = WorkflowCatalogFactory.getWorkflowCatalog().getAllWorkflows(gatewayId);
+				List<String> allWorkflows = AppCatalogFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(gatewayId);
 				if (allWorkflows.contains(applicationId)){
 					return ExecutionType.WORKFLOW;
 				}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
index 28687c9..18168c7 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
@@ -21,8 +21,6 @@
 
 package org.apache.airavata.orchestrator.client;
 
-import org.apache.airavata.api.Airavata;
-import org.apache.airavata.api.client.AiravataClientFactory;
 //import org.apache.airavata.client.AiravataAPIFactory;
 //import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
 //import org.apache.airavata.client.tools.DocumentCreator;

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/pom.xml
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/pom.xml b/modules/simple-workflow/pom.xml
deleted file mode 100644
index 5cb9dfb..0000000
--- a/modules/simple-workflow/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.airavata</groupId>
-    <artifactId>simple-workflow</artifactId>
-    <version>0.15-SNAPSHOT</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-model-utils</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-jpa-registry</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <!-- Airavata default parser dependency -->
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-workflow-model-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- Messaging dependency -->
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-messaging-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>18.0</version>
-        </dependency>
-
-        <!--test-->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.11</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/ProcessContext.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/ProcessContext.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/ProcessContext.java
deleted file mode 100644
index 849af85..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/ProcessContext.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-import org.apache.airavata.model.workspace.experiment.TaskDetails;
-import org.apache.airavata.model.workspace.experiment.WorkflowNodeDetails;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.WorkflowNode;
-
-public class ProcessContext {
-    private WorkflowNode workflowNode;
-    private WorkflowNodeDetails wfNodeDetails;
-    private TaskDetails taskDetails;
-
-    public ProcessContext(WorkflowNode workflowNode, WorkflowNodeDetails wfNodeDetails, TaskDetails taskDetails) {
-        this.workflowNode = workflowNode;
-        this.wfNodeDetails = wfNodeDetails;
-        this.taskDetails = taskDetails;
-    }
-
-    public WorkflowNode getWorkflowNode() {
-        return workflowNode;
-    }
-
-    public void setWorkflowNode(WorkflowNode workflowNode) {
-        this.workflowNode = workflowNode;
-    }
-
-    public WorkflowNodeDetails getWfNodeDetails() {
-        return wfNodeDetails;
-    }
-
-    public void setWfNodeDetails(WorkflowNodeDetails wfNodeDetails) {
-        this.wfNodeDetails = wfNodeDetails;
-    }
-
-    public TaskDetails getTaskDetails() {
-        return taskDetails;
-    }
-
-    public void setTaskDetails(TaskDetails taskDetails) {
-        this.taskDetails = taskDetails;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/SimpleWorkflowInterpreter.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/SimpleWorkflowInterpreter.java
deleted file mode 100644
index 191988c..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/SimpleWorkflowInterpreter.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.impl.RabbitMQProcessPublisher;
-import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.ProcessSubmitEvent;
-import org.apache.airavata.model.messaging.event.TaskIdentifier;
-import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
-import org.apache.airavata.model.util.ExperimentModelUtil;
-import org.apache.airavata.model.workspace.experiment.ExecutionUnit;
-import org.apache.airavata.model.workspace.experiment.Experiment;
-import org.apache.airavata.model.workspace.experiment.TaskDetails;
-import org.apache.airavata.model.workspace.experiment.TaskState;
-import org.apache.airavata.model.workspace.experiment.WorkflowNodeDetails;
-import org.apache.airavata.model.workspace.experiment.WorkflowNodeState;
-import org.apache.airavata.model.workspace.experiment.WorkflowNodeStatus;
-import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.ChildDataType;
-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.simple.workflow.engine.dag.edge.Edge;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.ApplicationNode;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.NodeState;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.WorkflowInputNode;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.WorkflowNode;
-import org.apache.airavata.simple.workflow.engine.dag.nodes.WorkflowOutputNode;
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Package-Private class
- */
-class SimpleWorkflowInterpreter{
-
-    private static final Logger log = LoggerFactory.getLogger(SimpleWorkflowInterpreter.class);
-    private List<WorkflowInputNode> workflowInputNodes;
-
-    private Experiment experiment;
-
-    private String credentialToken;
-
-    private String gatewayName;
-
-    private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<String, WorkflowNode>();
-    private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<String, WorkflowNode>();
-    private Map<String, ProcessContext> processingQueue = new ConcurrentHashMap<String, ProcessContext>();
-    private Map<String, ProcessContext> completeList = new HashMap<String, ProcessContext>();
-    private Registry registry;
-    private List<WorkflowOutputNode> completeWorkflowOutputs = new ArrayList<WorkflowOutputNode>();
-    private RabbitMQProcessPublisher publisher;
-    private RabbitMQStatusConsumer statusConsumer;
-    private String consumerId;
-    private boolean continueWorkflow = true;
-
-    public SimpleWorkflowInterpreter(String experimentId, String credentialToken, String gatewayName, RabbitMQProcessPublisher publisher) throws RegistryException {
-        this.gatewayName = gatewayName;
-        setExperiment(experimentId);
-        this.credentialToken = credentialToken;
-        this.publisher = publisher;
-    }
-
-    public SimpleWorkflowInterpreter(Experiment experiment, String credentialStoreToken, String gatewayName, RabbitMQProcessPublisher publisher) {
-        this.gatewayName = gatewayName;
-        this.experiment = experiment;
-        this.credentialToken = credentialStoreToken;
-        this.publisher = publisher;
-    }
-
-    /**
-     * Package-Private method.
-     * @throws Exception
-     */
-    void launchWorkflow() throws Exception {
-        WorkflowFactoryImpl wfFactory = WorkflowFactoryImpl.getInstance();
-        WorkflowParser workflowParser = wfFactory.getWorkflowParser(experiment.getExperimentID(), credentialToken);
-        log.debug("Initialized workflow parser");
-        setWorkflowInputNodes(workflowParser.parse());
-        log.debug("Parsed the workflow and got the workflow input nodes");
-        // process workflow input nodes
-        processWorkflowInputNodes(getWorkflowInputNodes());
-        if (readyList.isEmpty()) {
-            StringBuilder sb = new StringBuilder();
-            for (WorkflowInputNode workflowInputNode : workflowInputNodes) {
-                sb.append(", ");
-                sb.append(workflowInputNode.getInputObject().getName());
-                sb.append("=");
-                sb.append(workflowInputNode.getInputObject().getValue());
-            }
-            throw new AiravataException("No workflow application node is in ready state to run with experiment inputs" + sb.toString());
-        }
-        processReadyList();
-    }
-
-    // try to remove synchronization tag
-    /**
-     * Package-Private method.
-     * @throws RegistryException
-     * @throws AiravataException
-     */
-    void processReadyList() throws RegistryException, AiravataException {
-        if (readyList.isEmpty() && processingQueue.isEmpty() && !waitingList.isEmpty()) {
-            throw new AiravataException("No workflow application node is in ready state to run");
-        }
-        for (WorkflowNode readyNode : readyList.values()) {
-            if (readyNode instanceof WorkflowOutputNode) {
-                WorkflowOutputNode wfOutputNode = (WorkflowOutputNode) readyNode;
-                wfOutputNode.getOutputObject().setValue(wfOutputNode.getInPort().getInputObject().getValue());
-                addToCompleteOutputNodeList(wfOutputNode);
-                continue;
-            }
-            WorkflowNodeDetails workflowNodeDetails = createWorkflowNodeDetails(readyNode);
-            TaskDetails process = getProcess(workflowNodeDetails);
-            ProcessContext processContext = new ProcessContext(readyNode, workflowNodeDetails, process);
-            addToProcessingQueue(processContext);
-            publishToProcessQueue(process);
-        }
-    }
-
-
-    private void publishToProcessQueue(TaskDetails process) throws AiravataException {
-        ProcessSubmitEvent processSubmitEvent = new ProcessSubmitEvent();
-        processSubmitEvent.setCredentialToken(credentialToken);
-        processSubmitEvent.setTaskId(process.getTaskID());
-        MessageContext messageContext = new MessageContext(processSubmitEvent, MessageType.TASK, process.getTaskID(), null);
-        messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
-        publisher.publish(messageContext);
-    }
-
-    private TaskDetails getProcess(WorkflowNodeDetails wfNodeDetails) throws RegistryException {
-        // create workflow taskDetails from workflowNodeDetails
-        TaskDetails taskDetails = ExperimentModelUtil.cloneTaskFromWorkflowNodeDetails(getExperiment(), wfNodeDetails);
-        taskDetails.setTaskID(getRegistry()
-                .add(ChildDataType.TASK_DETAIL, taskDetails, wfNodeDetails.getNodeInstanceId()).toString());
-        return taskDetails;
-    }
-
-    private WorkflowNodeDetails createWorkflowNodeDetails(WorkflowNode readyNode) throws RegistryException {
-        WorkflowNodeDetails wfNodeDetails = ExperimentModelUtil.createWorkflowNode(readyNode.getId(), null);
-        ExecutionUnit executionUnit = ExecutionUnit.APPLICATION;
-        String executionData = null;
-        if (readyNode instanceof ApplicationNode) {
-            executionUnit = ExecutionUnit.APPLICATION;
-            executionData = ((ApplicationNode) readyNode).getApplicationId();
-            setupNodeDetailsInput(((ApplicationNode) readyNode), wfNodeDetails);
-        } else if (readyNode instanceof WorkflowInputNode) {
-            executionUnit = ExecutionUnit.INPUT;
-        } else if (readyNode instanceof WorkflowOutputNode) {
-            executionUnit = ExecutionUnit.OUTPUT;
-        }
-        wfNodeDetails.setExecutionUnit(executionUnit);
-        wfNodeDetails.setExecutionUnitData(executionData);
-        wfNodeDetails.setNodeInstanceId((String) getRegistry()
-                .add(ChildDataType.WORKFLOW_NODE_DETAIL, wfNodeDetails, getExperiment().getExperimentID()));
-        return wfNodeDetails;
-    }
-
-    private void setupNodeDetailsInput(ApplicationNode readyAppNode, WorkflowNodeDetails wfNodeDetails) {
-        if (readyAppNode.isReady()) {
-            for (InPort inPort : readyAppNode.getInputPorts()) {
-                wfNodeDetails.addToNodeInputs(inPort.getInputObject());
-            }
-        } else {
-            throw new IllegalArgumentException("Application node should be in ready state to set inputs to the " +
-                    "workflow node details, nodeId = " + readyAppNode.getId());
-        }
-    }
-
-
-    private void processWorkflowInputNodes(List<WorkflowInputNode> wfInputNodes) {
-        Set<WorkflowNode> tempNodeSet = new HashSet<WorkflowNode>();
-        for (WorkflowInputNode wfInputNode : wfInputNodes) {
-            if (wfInputNode.isReady()) {
-                log.debug("Workflow node : " + wfInputNode.getId() + " is ready to execute");
-                for (Edge edge : wfInputNode.getOutPort().getOutEdges()) {
-                    edge.getToPort().getInputObject().setValue(wfInputNode.getInputObject().getValue());
-                    if (edge.getToPort().getNode().isReady()) {
-                        addToReadyQueue(edge.getToPort().getNode());
-                        log.debug("Added workflow node : " + edge.getToPort().getNode().getId() + " to the readyQueue");
-                    } else {
-                        addToWaitingQueue(edge.getToPort().getNode());
-                        log.debug("Added workflow node " + edge.getToPort().getNode().getId() + " to the waitingQueue");
-
-                    }
-                }
-            }
-        }
-    }
-
-
-    public List<WorkflowInputNode> getWorkflowInputNodes() throws Exception {
-        return workflowInputNodes;
-    }
-
-    public void setWorkflowInputNodes(List<WorkflowInputNode> workflowInputNodes) {
-        this.workflowInputNodes = workflowInputNodes;
-    }
-
-    private Registry getRegistry() throws RegistryException {
-        if (registry==null){
-            registry = RegistryFactory.getDefaultRegistry();
-        }
-        return registry;
-    }
-
-    public Experiment getExperiment() {
-        return experiment;
-    }
-
-    private void updateWorkflowNodeStatus(WorkflowNodeDetails wfNodeDetails, WorkflowNodeState state) throws RegistryException{
-        WorkflowNodeStatus status = ExperimentModelUtil.createWorkflowNodeStatus(state);
-        wfNodeDetails.setWorkflowNodeStatus(status);
-        getRegistry().update(RegistryModelType.WORKFLOW_NODE_STATUS, status, wfNodeDetails.getNodeInstanceId());
-    }
-
-    /**
-     * Package-Private method.
-     * Remove the workflow node from waiting queue and add it to the ready queue.
-     * @param workflowNode - Workflow Node
-     */
-    synchronized void addToReadyQueue(WorkflowNode workflowNode) {
-        waitingList.remove(workflowNode.getId());
-        readyList.put(workflowNode.getId(), workflowNode);
-    }
-
-    private void addToWaitingQueue(WorkflowNode workflowNode) {
-        waitingList.put(workflowNode.getId(), workflowNode);
-    }
-
-    /**
-     * First remove the node from ready list and then add the WfNodeContainer to the process queue.
-     * Note that underline data structure of the process queue is a Map.
-     * @param processContext - has both workflow and correspond workflowNodeDetails and TaskDetails
-     */
-    private synchronized void addToProcessingQueue(ProcessContext processContext) {
-        readyList.remove(processContext.getWorkflowNode().getId());
-        processingQueue.put(processContext.getTaskDetails().getTaskID(), processContext);
-    }
-
-    private synchronized void addToCompleteQueue(ProcessContext processContext) {
-        processingQueue.remove(processContext.getTaskDetails().getTaskID());
-        completeList.put(processContext.getTaskDetails().getTaskID(), processContext);
-    }
-
-
-    private void addToCompleteOutputNodeList(WorkflowOutputNode wfOutputNode) {
-        completeWorkflowOutputs.add(wfOutputNode);
-        readyList.remove(wfOutputNode.getId());
-    }
-
-    boolean isAllDone() {
-        return !continueWorkflow || (waitingList.isEmpty() && readyList.isEmpty() && processingQueue.isEmpty());
-    }
-
-    private void setExperiment(String experimentId) throws RegistryException {
-        experiment = (Experiment) getRegistry().get(RegistryModelType.EXPERIMENT, experimentId);
-        log.debug("Retrieve Experiment for experiment id : " + experimentId);
-    }
-
-    synchronized void handleTaskOutputChangeEvent(TaskOutputChangeEvent taskOutputChangeEvent) {
-
-        String taskId = taskOutputChangeEvent.getTaskIdentity().getTaskId();
-        log.debug("Task Output changed event received for workflow node : " +
-                taskOutputChangeEvent.getTaskIdentity().getWorkflowNodeId() + ", task : " + taskId);
-        ProcessContext processContext = processingQueue.get(taskId);
-        Set<WorkflowNode> tempWfNodeSet = new HashSet<WorkflowNode>();
-        if (processContext != null) {
-            WorkflowNode workflowNode = processContext.getWorkflowNode();
-            if (workflowNode instanceof ApplicationNode) {
-                ApplicationNode applicationNode = (ApplicationNode) workflowNode;
-                // Workflow node can have one to many output ports and each output port can have one to many links
-                for (OutPort outPort : applicationNode.getOutputPorts()) {
-                    for (OutputDataObjectType outputDataObjectType : taskOutputChangeEvent.getOutput()) {
-                        if (outPort.getOutputObject().getName().equals(outputDataObjectType.getName())) {
-                            outPort.getOutputObject().setValue(outputDataObjectType.getValue());
-                            break;
-                        }
-                    }
-                    for (Edge edge : outPort.getOutEdges()) {
-                        edge.getToPort().getInputObject().setValue(outPort.getOutputObject().getValue());
-                        if (edge.getToPort().getNode().isReady()) {
-                            addToReadyQueue(edge.getToPort().getNode());
-                        }
-                    }
-                }
-            }
-            addToCompleteQueue(processContext);
-            log.debug("removed task from processing queue : " + taskId);
-            try {
-                processReadyList();
-            } catch (Exception e) {
-                log.error("Error while processing ready workflow nodes", e);
-                continueWorkflow = false;
-            }
-        }
-    }
-
-    void handleTaskStatusChangeEvent(TaskStatusChangeEvent taskStatusChangeEvent) {
-        TaskState taskState = taskStatusChangeEvent.getState();
-        TaskIdentifier taskIdentity = taskStatusChangeEvent.getTaskIdentity();
-        String taskId = taskIdentity.getTaskId();
-        ProcessContext processContext = processingQueue.get(taskId);
-        if (processContext != null) {
-            WorkflowNodeState wfNodeState = WorkflowNodeState.INVOKED;
-            switch (taskState) {
-                case WAITING:
-                    break;
-                case STARTED:
-                    break;
-                case PRE_PROCESSING:
-                    wfNodeState = WorkflowNodeState.INVOKED;
-                    processContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
-                    break;
-                case INPUT_DATA_STAGING:
-                    wfNodeState = WorkflowNodeState.INVOKED;
-                    processContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
-                    break;
-                case EXECUTING:
-                    wfNodeState = WorkflowNodeState.EXECUTING;
-                    processContext.getWorkflowNode().setState(NodeState.EXECUTING);
-                    break;
-                case OUTPUT_DATA_STAGING:
-                    wfNodeState = WorkflowNodeState.COMPLETED;
-                    processContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
-                    break;
-                case POST_PROCESSING:
-                    wfNodeState = WorkflowNodeState.COMPLETED;
-                    processContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
-                    break;
-                case COMPLETED:
-                    wfNodeState = WorkflowNodeState.COMPLETED;
-                    processContext.getWorkflowNode().setState(NodeState.EXECUTED);
-                    break;
-                case FAILED:
-                    wfNodeState = WorkflowNodeState.FAILED;
-                    processContext.getWorkflowNode().setState(NodeState.FAILED);
-                    break;
-                case UNKNOWN:
-                    wfNodeState = WorkflowNodeState.UNKNOWN;
-                    break;
-                case CONFIGURING_WORKSPACE:
-                    wfNodeState = WorkflowNodeState.COMPLETED;
-                    break;
-                case CANCELED:
-                case CANCELING:
-                    wfNodeState = WorkflowNodeState.CANCELED;
-                    processContext.getWorkflowNode().setState(NodeState.FAILED);
-                    break;
-                default:
-                    break;
-            }
-            if (wfNodeState != WorkflowNodeState.UNKNOWN) {
-                try {
-                    updateWorkflowNodeStatus(processContext.getWfNodeDetails(), wfNodeState);
-                } catch (RegistryException e) {
-                    log.error("Error while updating workflow node status update to the registry. nodeInstanceId :"
-                            + processContext.getWfNodeDetails().getNodeInstanceId() + " status to: "
-                            + processContext.getWfNodeDetails().getWorkflowNodeStatus().toString() , e);
-                }
-            }
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowEnactmentService.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowEnactmentService.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowEnactmentService.java
deleted file mode 100644
index c7ab7b9..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowEnactmentService.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.MessageHandler;
-import org.apache.airavata.messaging.core.MessagingConstants;
-import org.apache.airavata.messaging.core.impl.RabbitMQProcessPublisher;
-import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.TaskIdentifier;
-import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-public class WorkflowEnactmentService {
-
-    private static WorkflowEnactmentService workflowEnactmentService;
-    private final RabbitMQStatusConsumer statusConsumer;
-    private String consumerId;
-    private ExecutorService executor;
-    private Map<String,SimpleWorkflowInterpreter> workflowMap;
-
-    private WorkflowEnactmentService () throws AiravataException {
-        executor = Executors.newFixedThreadPool(getThreadPoolSize());
-        workflowMap = new ConcurrentHashMap<String, SimpleWorkflowInterpreter>();
-        statusConsumer = new RabbitMQStatusConsumer();
-        consumerId = statusConsumer.listen(new TaskMessageHandler());
-        // register the shutdown hook to un-bind status consumer.
-        Runtime.getRuntime().addShutdownHook(new EnactmentShutDownHook());
-    }
-
-    public static WorkflowEnactmentService getInstance() throws AiravataException {
-        if (workflowEnactmentService == null) {
-            synchronized (WorkflowEnactmentService.class) {
-                if (workflowEnactmentService == null) {
-                    workflowEnactmentService = new WorkflowEnactmentService();
-                }
-            }
-        }
-        return workflowEnactmentService;
-    }
-
-    public void submitWorkflow(String experimentId,
-                                  String credentialToken,
-                                  String gatewayName,
-                                  RabbitMQProcessPublisher publisher) throws Exception {
-
-        SimpleWorkflowInterpreter simpleWorkflowInterpreter = new SimpleWorkflowInterpreter(
-                experimentId, credentialToken,gatewayName, publisher);
-        workflowMap.put(experimentId, simpleWorkflowInterpreter);
-        simpleWorkflowInterpreter.launchWorkflow();
-
-    }
-
-    private int getThreadPoolSize() {
-        return ServerSettings.getEnactmentThreadPoolSize();
-    }
-
-    private class TaskMessageHandler implements MessageHandler {
-
-        @Override
-        public Map<String, Object> getProperties() {
-            Map<String, Object> props = new HashMap<String, Object>();
-            String gatewayId = "*";
-            String experimentId = "*";
-            List<String> routingKeys = new ArrayList<String>();
-            routingKeys.add(gatewayId);
-            routingKeys.add(gatewayId + "." + experimentId);
-            routingKeys.add(gatewayId + "." + experimentId+ ".*");
-            routingKeys.add(gatewayId + "." + experimentId+ ".*.*");
-            props.put(MessagingConstants.RABBIT_ROUTING_KEY, routingKeys);
-            return props;
-        }
-
-        @Override
-        public void onMessage(MessageContext msgCtx) {
-            StatusHandler statusHandler = new StatusHandler(msgCtx);
-            executor.execute(statusHandler);
-        }
-
-
-    }
-
-    private class StatusHandler implements Runnable{
-        private final Logger log = LoggerFactory.getLogger(StatusHandler.class);
-
-        private final MessageContext msgCtx;
-
-        public StatusHandler(MessageContext msgCtx) {
-            this.msgCtx = msgCtx;
-        }
-
-        @Override
-        public void run() {
-            process();
-        }
-
-        private void process() {
-            String message;
-            SimpleWorkflowInterpreter simpleWorkflowInterpreter;
-            if (msgCtx.getType() == MessageType.TASK) {
-                TaskStatusChangeEvent event = (TaskStatusChangeEvent) msgCtx.getEvent();
-                TaskIdentifier taskIdentifier = event.getTaskIdentity();
-                simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
-                if (simpleWorkflowInterpreter != null) {
-                    simpleWorkflowInterpreter.handleTaskStatusChangeEvent(event);
-                } else {
-                    // this happens when Task status messages comes after the Taskoutput messages,as we have worked on
-                    // output changes it is ok to ignore this.
-                }
-                message = "Received task output change event , expId : " + taskIdentifier.getExperimentId() + ", taskId : " + taskIdentifier.getTaskId() + ", workflow node Id : " + taskIdentifier.getWorkflowNodeId();
-                log.debug(message);
-            }else if (msgCtx.getType() == MessageType.TASKOUTPUT) {
-                TaskOutputChangeEvent event = (TaskOutputChangeEvent) msgCtx.getEvent();
-                TaskIdentifier taskIdentifier = event.getTaskIdentity();
-                simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
-                if (simpleWorkflowInterpreter != null) {
-                    simpleWorkflowInterpreter.handleTaskOutputChangeEvent(event);
-                    if (simpleWorkflowInterpreter.isAllDone()) {
-                        workflowMap.remove(taskIdentifier.getExperimentId());
-                    }
-                } else {
-                    throw new IllegalArgumentException("Error while processing TaskOutputChangeEvent, " +
-                            "There is no registered workflow for experiment Id : " + taskIdentifier.getExperimentId());
-                }
-                message = "Received task output change event , expId : " + taskIdentifier.getExperimentId() + ", taskId : " + taskIdentifier.getTaskId() + ", workflow node Id : " + taskIdentifier.getWorkflowNodeId();
-                log.debug(message);
-            } else {
-                // not interested, ignores
-            }
-        }
-
-        private SimpleWorkflowInterpreter getInterpreter(String experimentId){
-            return workflowMap.get(experimentId);
-        }
-    }
-
-
-    private class EnactmentShutDownHook extends Thread {
-        private final Logger log = LoggerFactory.getLogger(EnactmentShutDownHook.class);
-        @Override
-        public void run() {
-            super.run();
-            try {
-                statusConsumer.stopListen(consumerId);
-                log.info("Successfully un-binded task status consumer");
-            } catch (AiravataException e) {
-                log.error("Error while un-bind enactment status consumer", e);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactory.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactory.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactory.java
deleted file mode 100644
index 9631768..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-/**
- * All classes implement this WorkflowFactory interface, should be abstract or singleton.
- */
-public interface WorkflowFactory {
-
-    public WorkflowParser getWorkflowParser(String experimentId, String credentialToken) throws Exception;
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactoryImpl.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactoryImpl.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactoryImpl.java
deleted file mode 100644
index e70f062..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowFactoryImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.simple.workflow.engine.parser.AiravataWorkflowParser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.lang.reflect.Constructor;
-
-/**
- * Singleton class, only one instance can exist in runtime.
- */
-public class WorkflowFactoryImpl implements WorkflowFactory {
-
-    private static final Logger log = LoggerFactory.getLogger(WorkflowFactoryImpl.class);
-
-    private static WorkflowFactoryImpl workflowFactoryImpl;
-
-    private WorkflowFactoryImpl(){
-
-    }
-
-    public static WorkflowFactoryImpl getInstance() {
-        if (workflowFactoryImpl == null) {
-            synchronized (WorkflowFactory.class) {
-                if (workflowFactoryImpl == null) {
-                    workflowFactoryImpl = new WorkflowFactoryImpl();
-                }
-            }
-        }
-        return workflowFactoryImpl;
-    }
-
-
-    @Override
-    public WorkflowParser getWorkflowParser(String experimentId, String credentialToken) throws Exception {
-        WorkflowParser workflowParser = null;
-        try {
-            String wfParserClassName = ServerSettings.getWorkflowParser();
-            Class<?> aClass = Class.forName(wfParserClassName);
-            Constructor<?> constructor = aClass.getConstructor(String.class, String.class);
-            workflowParser = (WorkflowParser) constructor.newInstance(experimentId, credentialToken);
-        } catch (ApplicationSettingsException e) {
-            log.info("A custom workflow parser is not defined, Use default Airavata workflow parser");
-        }
-        if (workflowParser == null) {
-            workflowParser = new AiravataWorkflowParser(experimentId, credentialToken);
-        }
-        return workflowParser;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowParser.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowParser.java
deleted file mode 100644
index 6c4d6f2..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/WorkflowParser.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine;
-
-import org.apache.airavata.simple.workflow.engine.dag.nodes.WorkflowInputNode;
-
-import java.util.List;
-
-public interface WorkflowParser {
-
-    public List<WorkflowInputNode> parse() throws Exception;
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/DirectedEdge.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/DirectedEdge.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/DirectedEdge.java
deleted file mode 100644
index ae7498a..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/DirectedEdge.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.edge;
-
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-
-public class DirectedEdge implements Edge {
-
-    private InPort inPort;
-    private OutPort outPort;
-
-    @Override
-    public InPort getToPort() {
-        return inPort;
-    }
-
-    @Override
-    public void setToPort(InPort inPort) {
-        this.inPort = inPort;
-    }
-
-    @Override
-    public OutPort getFromPort() {
-        return outPort;
-    }
-
-    @Override
-    public void setFromPort(OutPort outPort) {
-        this.outPort = outPort;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/Edge.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/Edge.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/Edge.java
deleted file mode 100644
index e8bce2e..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/edge/Edge.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.edge;
-
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-/**
- * Edge is a link to one node to another, basically edge should have outPort of a workflow node ,
- * which is starting point and inPort of a workflow node, which is end point of the edge.
- */
-
-public interface Edge {
-
-    public InPort getToPort();
-
-    public void setToPort(InPort inPort);
-
-    public OutPort getFromPort();
-
-    public void setFromPort(OutPort outPort);
-
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNode.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNode.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNode.java
deleted file mode 100644
index 37efded..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNode.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-import java.util.List;
-
-public interface ApplicationNode extends WorkflowNode {
-
-    public String getApplicationId();
-
-    public void addInPort(InPort inPort);
-
-    public List<InPort> getInputPorts();
-
-    public void addOutPort(OutPort outPort);
-
-    public List<OutPort> getOutputPorts();
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNodeImpl.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNodeImpl.java
deleted file mode 100644
index 1233a9d..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/ApplicationNodeImpl.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ApplicationNodeImpl implements ApplicationNode {
-
-    private final String nodeId;
-    private NodeState myState = NodeState.WAITING;
-    private String applicationId;
-    private List<InPort> inPorts = new ArrayList<InPort>();
-    private List<OutPort> outPorts = new ArrayList<OutPort>();
-    private String applicationName;
-
-//    public ApplicationNodeImpl(String nodeId) {
-//        this(nodeId, null);
-//    }
-//
-//    public ApplicationNodeImpl(String nodeId, String applicationId) {
-//        this(nodeId, null, applicationId);
-//    }
-
-    public ApplicationNodeImpl(String nodeId, String applicationName, String applicationId) {
-        this.nodeId = nodeId;
-        this.applicationName = applicationName;
-        this.applicationId = applicationId;
-    }
-
-    @Override
-    public String getId() {
-        return this.nodeId;
-    }
-
-    @Override
-    public String getName() {
-        return applicationName;
-    }
-
-    @Override
-    public NodeType getType() {
-        return NodeType.APPLICATION;
-    }
-
-    @Override
-    public NodeState getState() {
-        return myState;
-    }
-
-    @Override
-    public void setState(NodeState newState) {
-        if (newState.getLevel() > myState.getLevel()) {
-            myState = newState;
-        } else {
-            throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
-        }
-    }
-
-    @Override
-    public boolean isReady() {
-        for (InPort inPort : getInputPorts()) {
-            if (!inPort.isReady()) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    @Override
-    public String getApplicationId() {
-        return this.applicationId;
-    }
-
-    @Override
-    public void addInPort(InPort inPort) {
-        this.inPorts.add(inPort);
-    }
-
-    @Override
-    public List<InPort> getInputPorts() {
-        return this.inPorts;
-    }
-
-    @Override
-    public void addOutPort(OutPort outPort) {
-        this.outPorts.add(outPort);
-    }
-
-    @Override
-    public List<OutPort> getOutputPorts() {
-        return this.outPorts;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeState.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeState.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeState.java
deleted file mode 100644
index edbeec5..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeState.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-public enum NodeState {
-    WAITING(0), // waiting on inputs
-    READY(1), // all inputs are available and ready to execute
-    QUEUED(2), //
-    PRE_PROCESSING(3), //
-    EXECUTING(4), // task has been submitted , not yet finish
-    EXECUTED(5), // task executed
-    POST_PROCESSING(6), //
-    FAILED(7),
-    COMPLETE(8); // all works done
-
-    private int level;
-
-    NodeState(int level) {
-        this.level = level;
-    }
-
-    public int getLevel() {
-        return level;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeType.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeType.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeType.java
deleted file mode 100644
index 95710fb..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/NodeType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-public enum NodeType {
-    APPLICATION,
-    WORKFLOW_INPUT,
-    WORKFLOW_OUTPUT
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNode.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNode.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNode.java
deleted file mode 100644
index 9ac800a..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-public interface WorkflowInputNode extends WorkflowNode {
-
-    public InputDataObjectType getInputObject();
-
-    public void setInputObject(InputDataObjectType inputObject);
-
-    public OutPort getOutPort();
-
-    public void setOutPort(OutPort outPort);
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNodeImpl.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNodeImpl.java
deleted file mode 100644
index 7ba8908..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowInputNodeImpl.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.simple.workflow.engine.dag.port.OutPort;
-
-public class WorkflowInputNodeImpl implements WorkflowInputNode {
-
-    private NodeState myState = NodeState.READY;
-    private final String nodeId;
-    private String nodeName;
-    private OutPort outPort;
-    private InputDataObjectType inputDataObjectType;
-    private String name;
-
-    public WorkflowInputNodeImpl(String nodeId) {
-        this(nodeId, null);
-    }
-
-    public WorkflowInputNodeImpl(String nodeId, String nodeName) {
-        this.nodeId = nodeId;
-        this.nodeName = nodeName;
-    }
-
-    @Override
-    public String getId() {
-        return this.nodeId;
-    }
-
-    @Override
-    public String getName() {
-        return this.nodeName;
-    }
-
-    @Override
-    public NodeType getType() {
-        return NodeType.WORKFLOW_INPUT;
-    }
-
-    @Override
-    public NodeState getState() {
-        return myState;
-    }
-
-    @Override
-    public void setState(NodeState newState) {
-        if (newState.getLevel() > myState.getLevel()) {
-            myState = newState;
-        } else {
-            throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
-        }
-    }
-
-    @Override
-    public boolean isReady() {
-        return (inputDataObjectType.getValue() != null && !inputDataObjectType.getValue().equals(""))
-                || !inputDataObjectType.isIsRequired();
-    }
-
-    @Override
-    public InputDataObjectType getInputObject() {
-        return this.inputDataObjectType;
-    }
-
-    @Override
-    public void setInputObject(InputDataObjectType inputObject) {
-        this.inputDataObjectType = inputObject;
-    }
-
-    @Override
-    public OutPort getOutPort() {
-        return this.outPort;
-    }
-
-    @Override
-    public void setOutPort(OutPort outPort) {
-        this.outPort = outPort;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowNode.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowNode.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowNode.java
deleted file mode 100644
index efcf9c7..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowNode.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-public interface WorkflowNode {
-
-    public String getId();
-
-    public String getName();
-
-    public NodeType getType();
-
-    public NodeState getState();
-
-    public void setState(NodeState newState);
-
-    public boolean isReady();
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNode.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNode.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNode.java
deleted file mode 100644
index 14e4519..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-
-public interface WorkflowOutputNode extends WorkflowNode {
-
-    public OutputDataObjectType getOutputObject();
-
-    public void setOutputObject(OutputDataObjectType outputObject);
-
-    public InPort getInPort();
-
-    public void setInPort(InPort inPort);
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNodeImpl.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNodeImpl.java
deleted file mode 100644
index 6c80517..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/nodes/WorkflowOutputNodeImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.nodes;
-
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.simple.workflow.engine.dag.port.InPort;
-
-public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
-
-    private NodeState myState = NodeState.WAITING;
-    private final String nodeId;
-    private String nodeName;
-    private OutputDataObjectType outputDataObjectType;
-    private InPort inPort;
-
-    public WorkflowOutputNodeImpl(String nodeId) {
-        this(nodeId, null);
-    }
-
-    public WorkflowOutputNodeImpl(String nodeId, String nodeName) {
-        this.nodeId = nodeId;
-        this.nodeName = nodeName;
-    }
-
-    @Override
-    public String getId() {
-        return this.nodeId;
-    }
-
-    @Override
-    public String getName() {
-        return this.nodeName;
-    }
-
-    @Override
-    public NodeType getType() {
-        return NodeType.WORKFLOW_OUTPUT;
-    }
-
-    @Override
-    public NodeState getState() {
-        return myState;
-    }
-
-    @Override
-    public void setState(NodeState newState) {
-        if (newState.getLevel() > myState.getLevel()) {
-            myState = newState;
-        } else {
-            throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
-        }
-    }
-
-    @Override
-    public boolean isReady() {
-        return !(inPort.getInputObject() == null || inPort.getInputObject().getValue() == null
-                || inPort.getInputObject().getValue().equals(""));
-    }
-
-    @Override
-    public OutputDataObjectType getOutputObject() {
-        return this.outputDataObjectType;
-    }
-
-    @Override
-    public void setOutputObject(OutputDataObjectType outputObject) {
-        this.outputDataObjectType = outputObject;
-    }
-
-    @Override
-    public InPort getInPort() {
-        return this.inPort;
-    }
-
-    @Override
-    public void setInPort(InPort inPort) {
-        this.inPort = inPort;
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/509f2037/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/port/InPort.java
----------------------------------------------------------------------
diff --git a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/port/InPort.java b/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/port/InPort.java
deleted file mode 100644
index bb4a112..0000000
--- a/modules/simple-workflow/src/main/java/org/apache/airavata/simple/workflow/engine/dag/port/InPort.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.simple.workflow.engine.dag.port;
-
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.simple.workflow.engine.dag.edge.Edge;
-
-public interface InPort extends Port {
-
-    public void setInputObject(InputDataObjectType inputObject);
-
-    public InputDataObjectType getInputObject();
-
-    public Edge getEdge();
-
-    public void addEdge(Edge edge);
-
-    public String getDefaultValue();
-
-    public void setDefaultValue(String defaultValue);
-
-}