You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/07/02 19:57:08 UTC

git commit: https://issues.apache.org/jira/browse/AIRAVATA-1309

Repository: airavata
Updated Branches:
  refs/heads/master 54d02d48f -> 85348aec9


https://issues.apache.org/jira/browse/AIRAVATA-1309


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

Branch: refs/heads/master
Commit: 85348aec99e734b8c0e49b1771ac06af3a9578f4
Parents: 54d02d4
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Wed Jul 2 13:56:56 2014 -0400
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Wed Jul 2 13:56:56 2014 -0400

----------------------------------------------------------------------
 .../model/util/ExperimentModelUtil.java         | 33 ++++++++++++++++++++
 .../experimentModel.thrift                      | 23 +++++++-------
 .../registry/jpa/impl/ExperimentRegistry.java   |  4 +--
 .../registry/jpa/model/TaskDetail.java          | 25 +++++----------
 .../jpa/resources/TaskDetailResource.java       | 24 +++++---------
 .../registry/jpa/resources/Utils.java           |  3 +-
 .../jpa/utils/ThriftDataModelConversion.java    |  3 +-
 .../src/main/resources/registry-derby.sql       |  3 +-
 .../src/main/resources/registry-mysql.sql       |  3 +-
 9 files changed, 66 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
index 2ac23f7..1b53d38 100644
--- a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
@@ -142,6 +142,39 @@ public class ExperimentModelUtil {
         return taskDetails;
     }
 
+    public static TaskDetails cloneTaskFromWorkflowNodeDetails(Experiment experiment, WorkflowNodeDetails nodeDetails){
+        TaskDetails taskDetails = new TaskDetails();
+        taskDetails.setCreationTime(nodeDetails.getCreationTime());
+        String[] split = nodeDetails.getExecutionUnitData().split("/");
+        taskDetails.setApplicationId(split[0]);
+        taskDetails.setApplicationVersion(split[1]);
+        List<DataObjectType> experimentInputs = nodeDetails.getNodeInputs();
+        if (experimentInputs != null){
+            taskDetails.setApplicationInputs(experimentInputs);
+        }
+
+        List<DataObjectType> experimentOutputs = nodeDetails.getNodeOutputs();
+        if (experimentOutputs != null){
+            taskDetails.setApplicationOutputs(experimentOutputs);
+        }
+
+        UserConfigurationData configData = experiment.getUserConfigurationData();
+        if (configData != null){
+            ComputationalResourceScheduling scheduling = configData.getComputationalResourceScheduling();
+            if (scheduling != null){
+                taskDetails.setTaskScheduling(scheduling);
+            }
+            AdvancedInputDataHandling advanceInputDataHandling = configData.getAdvanceInputDataHandling();
+            if (advanceInputDataHandling != null){
+                taskDetails.setAdvancedInputDataHandling(advanceInputDataHandling);
+            }
+            AdvancedOutputDataHandling outputHandling = configData.getAdvanceOutputDataHandling();
+            if (outputHandling != null){
+                taskDetails.setAdvancedOutputDataHandling(outputHandling);
+            }
+        }
+        return taskDetails;
+    }
     public static WorkflowNodeDetails createWorkflowNode (String nodeName,
                                                           List<DataObjectType> nodeInputs){
         WorkflowNodeDetails wfnod = new WorkflowNodeDetails();

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/airavata-api/thrift-interface-descriptions/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/experimentModel.thrift b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
index a8bff9d..295720a 100644
--- a/airavata-api/thrift-interface-descriptions/experimentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
@@ -63,6 +63,7 @@ enum ExperimentState {
     EXECUTING,
     CANCELING,
     CANCELED,
+    SUSPENDED,
     COMPLETED,
     FAILED,
     UNKNOWN
@@ -78,6 +79,7 @@ enum WorkflowNodeState {
     EXECUTING,
     CANCELING,
     CANCELED,
+    SUSPENDED,
     COMPLETED,
     FAILED,
     UNKNOWN
@@ -301,17 +303,16 @@ struct TaskDetails {
     2: optional i64 creationTime,
     3: optional string applicationId,
     4: optional string applicationVersion,
-    5: optional string hostDescriptorId,
-    6: optional string applicationDescriptorId,
-    7: optional list<DataObjectType> applicationInputs,
-    8: optional list<DataObjectType> applicationOutputs,
-    9: optional ComputationalResourceScheduling taskScheduling,
-    10: optional AdvancedInputDataHandling advancedInputDataHandling,
-    11: optional AdvancedOutputDataHandling advancedOutputDataHandling,
-    12: optional TaskStatus taskStatus,
-    13: optional list<JobDetails> jobDetailsList,
-    14: optional list<DataTransferDetails> dataTransferDetailsList,
-    15: optional list<ErrorDetails> errors
+    5: optional string applicationDeploymentId,
+    6: optional list<DataObjectType> applicationInputs,
+    7: optional list<DataObjectType> applicationOutputs,
+    8: optional ComputationalResourceScheduling taskScheduling,
+    9: optional AdvancedInputDataHandling advancedInputDataHandling,
+    10: optional AdvancedOutputDataHandling advancedOutputDataHandling,
+    11: optional TaskStatus taskStatus,
+    12: optional list<JobDetails> jobDetailsList,
+    13: optional list<DataTransferDetails> dataTransferDetailsList,
+    14: optional list<ErrorDetails> errors
 }
 
 enum ExecutionUnit {

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index 7ca3141..094329f 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -905,8 +905,8 @@ public class ExperimentRegistry {
             taskDetail.setApplicationId(taskDetails.getApplicationId());
             taskDetail.setApplicationVersion(taskDetails.getApplicationVersion());
             taskDetail.setCreationTime(AiravataUtils.getTime(taskDetails.getCreationTime()));
-            taskDetail.setHostDescriptorId(taskDetails.getHostDescriptorId());
-            taskDetail.setApplicationDescriptorId(taskDetails.getApplicationDescriptorId());
+            taskDetail.setApplicationDeploymentId(taskDetails.getApplicationDeploymentId());
+
             taskDetail.save();
             List<DataObjectType> applicationInputs = taskDetails.getApplicationInputs();
             if (applicationInputs != null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
index 5d0e6b2..07f700a 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
@@ -24,6 +24,7 @@ package org.apache.airavata.persistance.registry.jpa.model;
 import org.apache.openjpa.persistence.DataCache;
 
 import javax.persistence.*;
+
 import java.io.Serializable;
 import java.sql.Timestamp;
 
@@ -43,11 +44,9 @@ public class TaskDetail implements Serializable {
     @Column(name = "APPLICATION_VERSION")
     private String appVersion;
 
-    @Column(name = "HOST_ID")
-    private String hostDescriptorId;
-    @Column(name = "APPLICATION_DESC_ID")
-    private String applicationDescriptorId;
-    
+    @Column(name = "APPLICATION_DEPLOYMENT_ID")
+    private String applicationDeploymentId;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "NODE_INSTANCE_ID")
     private WorkflowNodeDetail nodeDetail;
@@ -100,19 +99,11 @@ public class TaskDetail implements Serializable {
         this.nodeDetail = nodeDetail;
     }
 
-	public String getHostDescriptorId() {
-		return hostDescriptorId;
-	}
-
-	public void setHostDescriptorId(String hostDescriptorId) {
-		this.hostDescriptorId = hostDescriptorId;
-	}
-
-	public String getApplicationDescriptorId() {
-		return applicationDescriptorId;
+	public String getApplicationDeploymentId() {
+		return applicationDeploymentId;
 	}
 
-	public void setApplicationDescriptorId(String applicationDescriptorId) {
-		this.applicationDescriptorId = applicationDescriptorId;
+	public void setApplicationDeploymentId(String applicationDeploymentId) {
+		this.applicationDeploymentId = applicationDeploymentId;
 	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
index bc7ee1f..a66ab79 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
@@ -45,9 +45,8 @@ public class TaskDetailResource extends AbstractResource {
     private Timestamp creationTime;
     private String applicationId;
     private String applicationVersion;
-    private String hostDescriptorId;
-    private String applicationDescriptorId;
-
+    private String applicationDeploymentId;
+    
     public String getTaskId() {
         return taskId;
     }
@@ -502,8 +501,7 @@ public class TaskDetailResource extends AbstractResource {
 		taskDetail.setCreationTime(creationTime);
 		taskDetail.setAppId(applicationId);
 		taskDetail.setAppVersion(applicationVersion);
-		taskDetail.setHostDescriptorId(getHostDescriptorId());
-		taskDetail.setApplicationDescriptorId(getApplicationDescriptorId());
+		taskDetail.setApplicationDeploymentId(getApplicationDeploymentId());
 	}
 
     public List<ApplicationInputResource> getApplicationInputs() throws RegistryException{
@@ -600,19 +598,11 @@ public class TaskDetailResource extends AbstractResource {
         return isExists(ResourceType.STATUS, taskId);
     }
 
-	public String getApplicationDescriptorId() {
-		return applicationDescriptorId;
-	}
-
-	public void setApplicationDescriptorId(String applicationDescriptorId) {
-		this.applicationDescriptorId = applicationDescriptorId;
-	}
-
-	public String getHostDescriptorId() {
-		return hostDescriptorId;
+	public String getApplicationDeploymentId() {
+		return applicationDeploymentId;
 	}
 
-	public void setHostDescriptorId(String hostDescriptorId) {
-		this.hostDescriptorId = hostDescriptorId;
+	public void setApplicationDeploymentId(String applicationDeploymentId) {
+		this.applicationDeploymentId = applicationDeploymentId;
 	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index b46f8c4..352cfa4 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -639,8 +639,7 @@ public class Utils {
             taskDetailResource.setTaskId(o.getTaskId());
             taskDetailResource.setApplicationId(o.getAppId());
             taskDetailResource.setApplicationVersion(o.getAppVersion());
-            taskDetailResource.setHostDescriptorId(o.getHostDescriptorId());
-            taskDetailResource.setApplicationDescriptorId(o.getApplicationDescriptorId());
+            taskDetailResource.setApplicationDeploymentId(o.getApplicationDeploymentId());
         }
         return taskDetailResource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
index 5085f4d..26f5dc4 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
@@ -427,8 +427,7 @@ public class ThriftDataModelConversion {
             taskDetails.setApplicationInputs(getApplicationInputs(applicationInputs));
             List<ApplicationOutputResource> applicationOutputs = taskDetailResource.getApplicationOutputs();
             taskDetails.setApplicationOutputs(getApplicationOutputs(applicationOutputs));
-            taskDetails.setHostDescriptorId(taskDetailResource.getHostDescriptorId());
-            taskDetails.setApplicationDescriptorId(taskDetailResource.getApplicationDescriptorId());
+            taskDetails.setApplicationDeploymentId(taskDetailResource.getApplicationDeploymentId());
             if (taskDetailResource.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, taskId)){
                 ComputationSchedulingResource computationScheduling = taskDetailResource.getComputationScheduling(taskId);
                 taskDetails.setTaskScheduling(getComputationalResourceScheduling(computationScheduling));

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
index 3cd75c1..f7b530a 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
@@ -198,8 +198,7 @@ CREATE TABLE TASK_DETAIL
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         APPLICATION_ID VARCHAR(255),
         APPLICATION_VERSION VARCHAR(255),
-        HOST_ID VARCHAR(255),
-        APPLICATION_DESC_ID VARCHAR(255),
+        APPLICATION_DEPLOYMENT_ID VARCHAR(255),
         PRIMARY KEY(TASK_ID),
         FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/85348aec/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index 68c0f7b..f689540 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -197,8 +197,7 @@ CREATE TABLE TASK_DETAIL
         CREATION_TIME TIMESTAMP DEFAULT NOW(),
         APPLICATION_ID VARCHAR(255),
         APPLICATION_VERSION VARCHAR(255),
-        HOST_ID VARCHAR(255),
-        APPLICATION_DESC_ID VARCHAR(255),
+        APPLICATION_DEPLOYMENT_ID VARCHAR(255),
         PRIMARY KEY(TASK_ID),
         FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );