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 <[email protected]> Authored: Fri Apr 18 11:04:26 2014 -0400 Committer: Chathuri Wimalasena <[email protected]> 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); + } }
