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 <[email protected]> Authored: Mon Jul 6 16:10:46 2015 -0400 Committer: Chathuri Wimalasena <[email protected]> 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());
