Repository: airavata
Updated Branches:
  refs/heads/master 77758cb9f -> 457e20d55


fixing updating and getting job details


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

Branch: refs/heads/master
Commit: 457e20d5552cd338ae8e65a6b7cb39b6d29ff64f
Parents: 77758cb
Author: chathuri <[email protected]>
Authored: Wed Mar 12 14:05:56 2014 -0400
Committer: chathuri <[email protected]>
Committed: Wed Mar 12 14:05:56 2014 -0400

----------------------------------------------------------------------
 .../job/monitor/AiravataJobStatusUpdator.java   | 24 ++++++++------
 .../registry/jpa/impl/ExperimentRegistry.java   | 33 ++++++++++----------
 .../registry/jpa/impl/RegistryImpl.java         |  4 +--
 3 files changed, 32 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/457e20d5/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
index 6dc007c..601cc27 100644
--- 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
+++ 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/AiravataJobStatusUpdator.java
@@ -26,6 +26,7 @@ import org.apache.airavata.job.monitor.state.JobStatus;
 import org.apache.airavata.model.workspace.experiment.JobDetails;
 import org.apache.airavata.model.workspace.experiment.JobState;
 import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
+import org.apache.airavata.registry.cpi.CompositeIdentifier;
 import org.apache.airavata.registry.cpi.Registry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -70,7 +71,9 @@ public class AiravataJobStatusUpdator{
         JobState state = jobStatus.getState();
         if (state != null) {
             try {
-                updateJobStatus(jobStatus.getMonitorID().getJobID(), state);
+                String taskID = jobStatus.getMonitorID().getTaskID();
+                String jobID = jobStatus.getMonitorID().getJobID();
+                updateJobStatus(taskID, jobID, state);
             } catch (Exception e) {
                 logger.error("Error persisting data" + 
e.getLocalizedMessage(), e);
             }
@@ -111,13 +114,14 @@ public class AiravataJobStatusUpdator{
             }
         }
     }
-    public  void updateJobStatus(String jobID, JobState state) throws 
Exception {
-                       JobDetails details = new JobDetails();
-                       
org.apache.airavata.model.workspace.experiment.JobStatus status = new 
org.apache.airavata.model.workspace.experiment.JobStatus();
-                       status.setJobState(state);
-                       
status.setTimeOfStateChange(Calendar.getInstance().getTimeInMillis());
-               details.setJobStatus(status);
-               details.setJobID(jobID);
-                       
airavataRegistry.update(org.apache.airavata.registry.cpi.DataType.JOB_DETAIL, 
details, jobID);
-       }
+    public  void updateJobStatus(String taskId, String jobID, JobState state) 
throws Exception {
+        JobDetails details = new JobDetails();
+        org.apache.airavata.model.workspace.experiment.JobStatus status = new 
org.apache.airavata.model.workspace.experiment.JobStatus();
+        status.setJobState(state);
+        status.setTimeOfStateChange(Calendar.getInstance().getTimeInMillis());
+        details.setJobStatus(status);
+        details.setJobID(jobID);
+        CompositeIdentifier ids = new CompositeIdentifier(taskId, jobID);
+        
airavataRegistry.update(org.apache.airavata.registry.cpi.DataType.JOB_DETAIL, 
details, ids);
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/457e20d5/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 5ce3855..ae6fcea 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
@@ -26,8 +26,6 @@ import org.apache.airavata.model.workspace.experiment.*;
 import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
-import org.apache.airavata.persistance.registry.jpa.model.ErrorDetail;
-import org.apache.airavata.persistance.registry.jpa.model.WorkflowNodeDetail;
 import org.apache.airavata.persistance.registry.jpa.resources.*;
 import 
org.apache.airavata.persistance.registry.jpa.utils.ThriftDataModelConversion;
 import org.apache.airavata.registry.cpi.CompositeIdentifier;
@@ -37,8 +35,9 @@ import org.apache.airavata.registry.cpi.utils.StatusType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.sql.Timestamp;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
 
 public class ExperimentRegistry {
     private GatewayResource gatewayResource;
@@ -515,14 +514,13 @@ public class ExperimentRegistry {
         }
     }
 
-    public String updateJobStatus(JobStatus status, String jobId) throws 
Exception {
+    public String updateJobStatus(JobStatus status, CompositeIdentifier ids) 
throws Exception {
         try {
             ExperimentResource experiment = (ExperimentResource) 
gatewayResource.create(ResourceType.EXPERIMENT);
             WorkflowNodeDetailResource workflowNode = 
(WorkflowNodeDetailResource) 
experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-            TaskDetailResource taskDetail = (TaskDetailResource) 
workflowNode.create(ResourceType.TASK_DETAIL);
-            JobDetailResource jobDetail = taskDetail.getJobDetail(jobId);
+            TaskDetailResource taskDetail = 
workflowNode.getTaskDetail((String)ids.getTopLevelIdentifier());
+            JobDetailResource jobDetail = 
taskDetail.getJobDetail((String)ids.getSecondLevelIdentifier());
             StatusResource statusResource = jobDetail.getJobStatus();
-            taskDetail = jobDetail.getTaskDetailResource();
             workflowNode = taskDetail.getWorkflowNodeDetailResource();
             experiment = workflowNode.getExperimentResource();
             statusResource.setExperimentResource(experiment);
@@ -884,7 +882,8 @@ public class ExperimentRegistry {
             List<JobDetails> jobDetailsList = taskDetails.getJobDetailsList();
             if (jobDetailsList != null && !jobDetailsList.isEmpty()){
                 for (JobDetails job : jobDetailsList){
-                    updateJobDetails(job, job.getJobID());
+                    CompositeIdentifier ids = new CompositeIdentifier(taskId, 
job.getJobID());
+                    updateJobDetails(job, ids);
                 }
             }
 
@@ -1007,7 +1006,7 @@ public class ExperimentRegistry {
             if (jobStatus != null){
                 JobStatus status = getJobStatus(ids);
                 if (status != null){
-                    updateJobStatus(jobStatus, 
(String)ids.getSecondLevelIdentifier());
+                    updateJobStatus(jobStatus, ids);
                 }else {
                     addJobStatus(jobStatus, ids);
                 }
@@ -1034,25 +1033,25 @@ public class ExperimentRegistry {
         }
     }
 
-    public void updateJobDetails(JobDetails jobDetails, String jobId) throws 
Exception {
+    // ids - taskId + jobid
+    public void updateJobDetails(JobDetails jobDetails, CompositeIdentifier 
ids) throws Exception {
         try {
             ExperimentResource experiment = (ExperimentResource) 
gatewayResource.create(ResourceType.EXPERIMENT);
             WorkflowNodeDetailResource workflowNode = 
(WorkflowNodeDetailResource) 
experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-            TaskDetailResource taskDetail = (TaskDetailResource) 
workflowNode.create(ResourceType.TASK_DETAIL);
+            String taskId = (String) ids.getTopLevelIdentifier();
+            TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
+            String jobId = (String) ids.getSecondLevelIdentifier();
             JobDetailResource jobDetail = taskDetail.getJobDetail(jobId);
-            TaskDetailResource taskDetailResource = 
jobDetail.getTaskDetailResource();
-            jobDetail.setTaskDetailResource(taskDetailResource);
+            jobDetail.setTaskDetailResource(taskDetail);
             jobDetail.setJobDescription(jobDetails.getJobDescription());
             
jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime()));
             
jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed());
             jobDetail.save();
-            String taskId = taskDetailResource.getTaskId();
-            CompositeIdentifier ids = new CompositeIdentifier(taskId, jobId);
             JobStatus jobStatus = jobDetails.getJobStatus();
             if (jobStatus != null){
                 JobStatus status = getJobStatus(ids);
                 if (status != null){
-                    updateJobStatus(jobStatus, jobId);
+                    updateJobStatus(jobStatus, ids);
                 }else {
                     addJobStatus(jobStatus, ids);
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/457e20d5/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
index 549e7c1..8acdab0 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
@@ -206,10 +206,10 @@ public class RegistryImpl implements Registry {
                     experimentRegistry.updateTaskStatus((TaskStatus) 
newObjectToUpdate, (String) identifier);
                     break;
                 case JOB_DETAIL:
-                    experimentRegistry.updateJobDetails((JobDetails) 
newObjectToUpdate, (String) identifier);
+                    experimentRegistry.updateJobDetails((JobDetails) 
newObjectToUpdate, (CompositeIdentifier) identifier);
                     break;
                 case JOB_STATUS:
-                    experimentRegistry.updateJobStatus((JobStatus) 
newObjectToUpdate, (String) identifier);
+                    experimentRegistry.updateJobStatus((JobStatus) 
newObjectToUpdate, (CompositeIdentifier) identifier);
                     break;
                 case APPLICATION_STATUS:
                     
experimentRegistry.updateApplicationStatus((ApplicationStatus) 
newObjectToUpdate, (String) identifier);

Reply via email to