You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/04/18 17:04:31 UTC

git commit: fixing AIRAVATA-1145

Repository: airavata
Updated Branches:
  refs/heads/master 3d229e209 -> 18ee7cd24


fixing AIRAVATA-1145


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

Branch: refs/heads/master
Commit: 18ee7cd24dc36732ff344c6cab67045c4e1775d1
Parents: 3d229e2
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Fri Apr 18 11:04:26 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Apr 18 11:04:26 2014 -0400

----------------------------------------------------------------------
 .../job/monitor/AiravataExperimentStatusUpdator.java      |  9 +++++----
 .../airavata/job/monitor/AiravataTaskStatusUpdator.java   |  1 +
 .../persistance/registry/jpa/impl/ExperimentRegistry.java | 10 +++++++---
 .../registry/jpa/resources/TaskDetailResource.java        |  3 +++
 4 files changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/18ee7cd2/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataExperimentStatusUpdator.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataExperimentStatusUpdator.java b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataExperimentStatusUpdator.java
index f0fd239..e4d905a 100644
--- a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataExperimentStatusUpdator.java
+++ b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataExperimentStatusUpdator.java
@@ -46,12 +46,12 @@ public class AiravataExperimentStatusUpdator implements AbstractActivityListener
     }
 
     @Subscribe
-    public void updateRegistry(ExperimentStatus taskStatus) {
-        ExperimentState state = taskStatus.getState();
+    public void updateRegistry(ExperimentStatus experimentStatus) {
+        ExperimentState state = experimentStatus.getState();
         if (state != null) {
             try {
-                String taskID = taskStatus.getMonitorID().getTaskID();
-                updateExperimentStatus(taskID, state);
+                String experimentID = experimentStatus.getMonitorID().getExperimentID();
+                updateExperimentStatus(experimentID, state);
             } catch (Exception e) {
                 logger.error("Error persisting data" + e.getLocalizedMessage(), e);
             }
@@ -67,6 +67,7 @@ public class AiravataExperimentStatusUpdator implements AbstractActivityListener
         org.apache.airavata.model.workspace.experiment.ExperimentStatus status = new org.apache.airavata.model.workspace.experiment.ExperimentStatus();
         status.setExperimentState(state);
         status.setTimeOfStateChange(Calendar.getInstance().getTimeInMillis());
+        details.setExperimentStatus(status);
         airavataRegistry.update(org.apache.airavata.registry.cpi.DataType.EXPERIMENT, details, experimentId);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/18ee7cd2/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataTaskStatusUpdator.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataTaskStatusUpdator.java b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataTaskStatusUpdator.java
index bcee819..8ba94d6 100644
--- a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataTaskStatusUpdator.java
+++ b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataTaskStatusUpdator.java
@@ -95,6 +95,7 @@ public class AiravataTaskStatusUpdator implements AbstractActivityListener{
         org.apache.airavata.model.workspace.experiment.TaskStatus status = new org.apache.airavata.model.workspace.experiment.TaskStatus();
         status.setExecutionState(state);
         status.setTimeOfStateChange(Calendar.getInstance().getTimeInMillis());
+        details.setTaskStatus(status);
         airavataRegistry.update(org.apache.airavata.registry.cpi.DataType.TASK_DETAIL, details, taskId);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/18ee7cd2/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 4c054d6..3fa7b5f 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
@@ -477,7 +477,12 @@ public class ExperimentRegistry {
             ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
             WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
             TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
-            StatusResource statusResource = workflowNode.geTaskStatus(taskId);
+            StatusResource statusResource;
+            if (taskDetail.isTaskStatusExist(taskId)){
+                statusResource = workflowNode.geTaskStatus(taskId);
+            } else {
+                statusResource = (StatusResource)taskDetail.create(ResourceType.STATUS);
+            }
             statusResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource());
             statusResource.setWorkflowNodeDetail(taskDetail.getWorkflowNodeDetailResource());
             statusResource.setTaskDetailResource(taskDetail);
@@ -860,8 +865,7 @@ public class ExperimentRegistry {
             ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
             WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
             TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
-            taskDetail.setWorkflowNodeDetailResource(workflowNode);
-            taskDetail.setTaskId(getTaskID(workflowNode.getNodeName()));
+//            taskDetail.setWorkflowNodeDetailResource(workflowNode);
             taskDetail.setApplicationId(taskDetails.getApplicationId());
             taskDetail.setApplicationVersion(taskDetails.getApplicationVersion());
             taskDetail.setCreationTime(AiravataUtils.getTime(taskDetails.getCreationTime()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/18ee7cd2/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 21895f0..52b17ed 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
@@ -538,4 +538,7 @@ public class TaskDetailResource extends AbstractResource {
         return (DataTransferDetailResource)get(ResourceType.DATA_TRANSFER_DETAIL, dataTransferId);
     }
 
+    public  boolean isTaskStatusExist (String taskId){
+        return isExists(ResourceType.STATUS, taskId);
+    }
 }