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 2013/11/13 22:29:33 UTC

svn commit: r1541732 - in /airavata/trunk/modules/registry: airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ registry-api/src/main/java/org/apache/airavata/registry/api/impl/

Author: chathuri
Date: Wed Nov 13 21:29:32 2013
New Revision: 1541732

URL: http://svn.apache.org/r1541732
Log:
applying patch from Viknesh - AIRAVATA-925

Modified:
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java?rev=1541732&r1=1541731&r2=1541732&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java Wed Nov 13 21:29:32 2013
@@ -21,11 +21,6 @@
 
 package org.apache.airavata.persistance.registry.jpa.resources;
 
-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.Users;
-import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
 import org.apache.airavata.registry.api.exception.worker.ExperimentLazyLoadedException;
 import org.apache.airavata.registry.api.impl.ExperimentDataImpl;
 import org.apache.airavata.registry.api.impl.WorkflowExecutionDataImpl;
@@ -41,8 +36,6 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.Date;
 
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
 
 public class ExperimentDataRetriever {
     private static final Logger logger = LoggerFactory.getLogger(ExperimentDataRetriever.class);
@@ -121,10 +114,20 @@ public class ExperimentDataRetriever {
             workflowInstances.add(workflowInstance);
             Date lastUpdateDate = getTime(rs.getString(9));
             String wdStatus = rs.getString(7);
+            WorkflowExecutionStatus workflowExecutionStatus = new WorkflowExecutionStatus(workflowInstance,
+                    createExecutionStatus(wdStatus),lastUpdateDate);
             workflowInstanceData = new WorkflowExecutionDataImpl(null,
-                    workflowInstance, new WorkflowExecutionStatus(workflowInstance,
-                    createExecutionStatus(wdStatus),lastUpdateDate), null);
-            workflowInstanceData.setExperimentData((ExperimentDataImpl)experimentData);
+                    workflowInstance, workflowExecutionStatus, null);
+            ExperimentDataImpl expData = (ExperimentDataImpl) experimentData;
+            workflowInstanceData.setExperimentData(expData);
+            // Set the last updated workflow's status and time as the experiment's status
+            if(expData.getExecutionStatus()!=null) {
+            	if(expData.getExecutionStatus().getStatusUpdateTime().compareTo(workflowExecutionStatus.getStatusUpdateTime())<0) {
+            		expData.setExecutionStatus(workflowExecutionStatus);
+                }
+            } else {
+            	expData.setExecutionStatus(workflowExecutionStatus);
+            }
             experimentData.getWorkflowExecutionDataList().add(workflowInstanceData);
         }
         WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowInstanceData.getWorkflowExecution(), rs.getString(10));

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java?rev=1541732&r1=1541731&r2=1541732&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java Wed Nov 13 21:29:32 2013
@@ -70,12 +70,18 @@ public class ExperimentDataImpl implemen
 
     @Override
     public WorkflowExecutionStatus.State getState() throws ExperimentLazyLoadedException {
-        return getWorkflowExecutionDataList().get(0).getState();
+        if (executionStatus != null)
+            return executionStatus.getExecutionStatus();
+        else
+            return getWorkflowExecutionDataList().get(0).getState();
     }
 
     @Override
     public Date getStatusUpdateTime() throws ExperimentLazyLoadedException {
-        return getWorkflowExecutionDataList().get(0).getStatusUpdateTime();
+        if (executionStatus != null)
+            return executionStatus.getStatusUpdateTime();
+        else
+            return getWorkflowExecutionDataList().get(0).getStatusUpdateTime();
     }
 
     @Override