Fixed AIRAVATA-1043.

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

Branch: refs/heads/master
Commit: 2736d75c7cc04b1486190f86117cf1e545afc07b
Parents: 5fb684b
Author: raminder <[email protected]>
Authored: Mon Mar 3 15:28:01 2014 -0500
Committer: raminder <[email protected]>
Committed: Mon Mar 3 15:28:01 2014 -0500

----------------------------------------------------------------------
 .../job/monitor/AiravataJobStatusUpdator.java    | 19 +++++++++++++++++++
 .../airavata/gfac/handler/SCPOutputHandler.java  |  1 -
 .../apache/airavata/gfac/utils/GFacUtils.java    |  3 ++-
 3 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2736d75c/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 0a0fde5..a6d6c31 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
@@ -21,12 +21,16 @@
 package org.apache.airavata.job.monitor;
 
 import com.google.common.eventbus.Subscribe;
+
 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.Registry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Calendar;
 import java.util.concurrent.BlockingQueue;
 
 public class AiravataJobStatusUpdator{
@@ -64,6 +68,11 @@ public class AiravataJobStatusUpdator{
                 the registry accordingly, for now we are just printing to 
standard Out
                  */
         JobState state = jobStatus.getState();
+        try {
+                       
updateJobStatus(jobStatus.getMonitorID().getJobID(),state);
+               } catch (Exception e) {
+                       logger.error("Error persisting data" + 
e.getLocalizedMessage(),e);
+               }
         switch (state) {
             case COMPLETE:
                 logger.info("Job ID:" + jobStatus.getMonitorID().getJobID() + 
" is DONE");
@@ -97,4 +106,14 @@ public class AiravataJobStatusUpdator{
                 break;
         }
     }
+    public static void updateJobStatus(String jobID, JobState state) throws 
Exception {
+                       Registry registry = 
RegistryFactory.getDefaultRegistry();
+                       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);
+                       
registry.update(org.apache.airavata.registry.cpi.DataType.JOB_DETAIL, details, 
jobID);
+       }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/2736d75c/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
index eca0daf..555a889 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
@@ -104,7 +104,6 @@ public class SCPOutputHandler extends AbstractHandler{
             }
             status.setTransferState(TransferState.DOWNLOAD);
             detail.setTransferStatus(status);
-            detail.setTransferDescription("Output: " + 
stringMap.get(output.keySet()).toString());
             registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, 
jobExecutionContext.getTaskData().getTaskID());
         
         } catch (XmlException e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/2736d75c/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/utils/GFacUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/utils/GFacUtils.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/utils/GFacUtils.java
index e6b70e7..ad741b6 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/utils/GFacUtils.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/utils/GFacUtils.java
@@ -46,6 +46,7 @@ import 
org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
 import org.apache.airavata.registry.api.workflow.ApplicationJob;
 import 
org.apache.airavata.registry.api.workflow.ApplicationJob.ApplicationJobStatus;
 import org.apache.airavata.registry.cpi.ChildDataType;
+import org.apache.airavata.registry.cpi.CompositeIdentifier;
 import org.apache.airavata.registry.cpi.Registry;
 import org.apache.airavata.schemas.gfac.*;
 import org.apache.axiom.om.OMElement;
@@ -707,7 +708,7 @@ public class GFacUtils {
                        JobStatus status = new JobStatus();
                        status.setJobState(state);
                details.setJobStatus(status);
-                       registry.add(ChildDataType.JOB_DETAIL,details, taskID);
+                       registry.add(ChildDataType.JOB_DETAIL,details, new 
CompositeIdentifier(taskID, details.getJobID()));
                } catch (Exception e) {
                        throw new GFacException("Error persisting job status" + 
e.getLocalizedMessage(),e);
                }

Reply via email to