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 2015/07/06 22:21:20 UTC

airavata git commit: Fixing NPEs at registry level

Repository: airavata
Updated Branches:
  refs/heads/master b5b522ba4 -> 1bc3ce8b7


Fixing NPEs at registry level


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

Branch: refs/heads/master
Commit: 1bc3ce8b7010395648d27227a5d1a0756e85c434
Parents: b5b522b
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jul 6 16:10:46 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jul 6 16:10:46 2015 -0400

----------------------------------------------------------------------
 .../catalog/impl/ExperimentRegistry.java        | 30 +++++++++++---------
 .../resources/AbstractExpCatResource.java       |  2 +-
 .../catalog/resources/ExperimentResource.java   |  8 ++++--
 .../catalog/resources/ProcessResource.java      | 10 +++++--
 .../utils/ThriftDataModelConversion.java        |  1 +
 5 files changed, 32 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1bc3ce8b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index c1463a2..413fbe5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -242,9 +242,12 @@ public class ExperimentRegistry {
     }
 
     public String addProcess(ProcessModel process, String expId) throws RegistryException {
+
         try {
             ProcessResource processResource = new ProcessResource();
-            processResource.setProcessId(getProcessID(expId));
+            String processId = getProcessID(expId);
+            process.setProcessId(processId);
+            processResource.setProcessId(processId);
             processResource.setExperimentId(expId);
             processResource.setCreationTime(AiravataUtils.getTime(process.getCreationTime()));
             processResource.setLastUpdateTime(AiravataUtils.getTime(process.getLastUpdateTime()));
@@ -286,7 +289,7 @@ public class ExperimentRegistry {
             logger.error(expId, "Error while adding process...", e);
             throw new RegistryException(e);
         }
-        return expId;
+        return process.getProcessId();
     }
 
 
@@ -364,17 +367,18 @@ public class ExperimentRegistry {
             processResource.setProcessId(processID);
             ProcessStatusResource status = processResource.getProcessStatus();
             if (status == null) {
-                status = (ProcessStatusResource) processResource.create(ResourceType.EXPERIMENT_STATUS);
-            }
-            if (isValidStatusTransition(ProcessState.valueOf(status.getState()), processStatus.getState())) {
-                status.setStatusId(getStatusID(processID));
-                status.setProcessId(processID);
-                status.setTimeOfStateChange(AiravataUtils.getTime(processStatus.getTimeOfStateChange()));
-                status.setState(processStatus.getState().toString());
-                status.setReason(processStatus.getReason());
-                status.save();
-                logger.debug(processID, "Added process {} status to {}.", processID, processStatus.toString());
-            }
+                status = (ProcessStatusResource) processResource.create(ResourceType.PROCESS_STATUS);
+            }
+            status.setStatusId(getStatusID(processID));
+            status.setProcessId(processID);
+            status.setTimeOfStateChange(AiravataUtils.getTime(processStatus.getTimeOfStateChange()));
+            ProcessState state = processStatus.getState();
+            if (state != null){
+                status.setState(state.toString());
+            }
+            status.setReason(processStatus.getReason());
+            status.save();
+            logger.debug(processID, "Added process {} status to {}.", processID, processStatus.toString());
         } catch (Exception e) {
             logger.error(processID, "Error while adding process status...", e);
             throw new RegistryException(e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/1bc3ce8b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
index 315e2e8..8df4ac2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
@@ -105,7 +105,7 @@ public abstract class AbstractExpCatResource implements ExperimentCatResource {
 	// Task table
     public final class TaskConstants {
         public static final String TASK_ID = "taskId";
-        public static final String PROCESS_ID = "processId";
+        public static final String PROCESS_ID = "parentProcessId";
     }
 
     // Task Error table

http://git-wip-us.apache.org/repos/asf/airavata/blob/1bc3ce8b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
index ea55bec..c32a636 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
@@ -21,6 +21,7 @@
 
 package org.apache.airavata.registry.core.experiment.catalog.resources;
 
+import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
 import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
@@ -506,8 +507,11 @@ public class ExperimentResource extends AbstractExpCatResource {
         }else{
             ExperimentStatusResource max = experimentStatusResources.get(0);
             for(int i=1; i<experimentStatusResources.size();i++){
-                if(experimentStatusResources.get(i).getTimeOfStateChange().after(max.getTimeOfStateChange())){
-                    max = experimentStatusResources.get(i);
+                Timestamp timeOfStateChange = experimentStatusResources.get(i).getTimeOfStateChange();
+                if (timeOfStateChange != null){
+                    if(timeOfStateChange.after(max.getTimeOfStateChange())){
+                        max = experimentStatusResources.get(i);
+                    }
                 }
             }
             return max;

http://git-wip-us.apache.org/repos/asf/airavata/blob/1bc3ce8b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
index cdd1cfe..5a95f97 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
@@ -21,6 +21,7 @@
 
 package org.apache.airavata.registry.core.experiment.catalog.resources;
 
+import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
 import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
@@ -448,10 +449,10 @@ public class ProcessResource extends AbstractExpCatResource {
             process.setCreationTime(creationTime);
             process.setLastUpdateTime(lastUpdateTime);
             process.setProcessDetail(processDetail);
-            process.setApplicationInterfaceId(applicationInterfaceId);
             process.setTaskDag(taskDag);
             process.setComputeResourceId(computeResourceId);
             process.setApplicationInterfaceId(applicationInterfaceId);
+            process.setApplicationDeploymentId(applicationDeploymentId);
             process.setGatewayExecutionId(gatewayExecutionId);
             process.setEnableEmailNotification(enableEmailNotification);
             process.setEmailAddresses(emailAddresses);
@@ -507,8 +508,11 @@ public class ProcessResource extends AbstractExpCatResource {
         }else{
             ProcessStatusResource max = processStatusResources.get(0);
             for(int i=1; i<processStatusResources.size();i++){
-                if(processStatusResources.get(i).getTimeOfStateChange().after(max.getTimeOfStateChange())){
-                    max = processStatusResources.get(i);
+                Timestamp timeOfStateChange = processStatusResources.get(i).getTimeOfStateChange();
+                if (timeOfStateChange != null){
+                    if(timeOfStateChange.after(max.getTimeOfStateChange())){
+                        max = processStatusResources.get(i);
+                    }
                 }
             }
             return max;

http://git-wip-us.apache.org/repos/asf/airavata/blob/1bc3ce8b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index b022653..e3e6a5f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -119,6 +119,7 @@ public class ThriftDataModelConversion {
             experiment.setCreationTime(experimentResource.getCreationTime().getTime());
             experiment.setUserName(experimentResource.getUserName());
             experiment.setExperimentName(experimentResource.getExperimentName());
+            experiment.setExecutionId(experimentResource.getExecutionId());
             experiment.setDescription(experimentResource.getDescription());
             experiment.setEnableEmailNotification(experimentResource.getEnableEmailNotification());
             experiment.setGatewayExecutionId(experimentResource.getGatewayExecutionId());