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 2014/02/25 23:08:10 UTC

git commit: fixing some issues with registry jpa models - AIRAVATA-1025

Repository: airavata
Updated Branches:
  refs/heads/master ec6357671 -> e20214088


fixing some issues with registry jpa models - AIRAVATA-1025


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

Branch: refs/heads/master
Commit: e202140889b842f5cf3291dc7285f90f79ae1110
Parents: ec63576
Author: chathuri <ch...@apache.org>
Authored: Tue Feb 25 17:08:05 2014 -0500
Committer: chathuri <ch...@apache.org>
Committed: Tue Feb 25 17:08:05 2014 -0500

----------------------------------------------------------------------
 .../jpa/resources/ErrorDetailResource.java      | 36 +++++----------
 .../registry/jpa/resources/StatusResource.java  | 48 +++++++-------------
 .../registry/jpa/resources/Utils.java           | 30 ++++++++----
 3 files changed, 48 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e2021408/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
index 06e37f4..9e97c17 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java
@@ -173,19 +173,20 @@ public class ErrorDetailResource extends AbstractResource {
     @Override
     public void save() {
         EntityManager em = ResourceUtils.getEntityManager();
-        ErrorDetail existingErrorDetail = em.find(ErrorDetail.class, errorId);
-        em.close();
-
-        em = ResourceUtils.getEntityManager();
         em.getTransaction().begin();
         ErrorDetail errorDetail = new ErrorDetail();
         errorDetail.setErrorID(errorId);
         Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
         errorDetail.setExperiment(experiment);
-        TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
-        errorDetail.setTask(taskDetail);
-        WorkflowNodeDetail workflowNodeDetail = em.find(WorkflowNodeDetail.class, nodeDetail.getNodeInstanceId());
-        errorDetail.setNodeDetails(workflowNodeDetail);
+        if (taskDetailResource != null){
+            TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
+            errorDetail.setTask(taskDetail);
+        }
+
+        if (nodeDetail != null){
+            WorkflowNodeDetail workflowNodeDetail = em.find(WorkflowNodeDetail.class, nodeDetail.getNodeInstanceId());
+            errorDetail.setNodeDetails(workflowNodeDetail);
+        }
         errorDetail.setCreationTime(creationTime);
         errorDetail.setActualErrorMsg(actualErrorMsg.toCharArray());
         errorDetail.setUserFriendlyErrorMsg(userFriendlyErrorMsg);
@@ -194,23 +195,8 @@ public class ErrorDetailResource extends AbstractResource {
         errorDetail.setCorrectiveAction(correctiveAction);
         errorDetail.setActionableGroup(actionableGroup);
         errorDetail.setJobId(jobId);
-        if (existingErrorDetail != null){
-            existingErrorDetail.setErrorID(errorId);
-            existingErrorDetail.setExperiment(experiment);
-            existingErrorDetail.setTask(taskDetail);
-            existingErrorDetail.setNodeDetails(workflowNodeDetail);
-            existingErrorDetail.setCreationTime(creationTime);
-            existingErrorDetail.setActualErrorMsg(actualErrorMsg.toCharArray());
-            existingErrorDetail.setUserFriendlyErrorMsg(userFriendlyErrorMsg);
-            existingErrorDetail.setTransientPersistent(transientPersistent);
-            existingErrorDetail.setErrorCategory(errorCategory);
-            existingErrorDetail.setCorrectiveAction(correctiveAction);
-            existingErrorDetail.setActionableGroup(actionableGroup);
-            existingErrorDetail.setJobId(jobId);
-            errorDetail = em.merge(existingErrorDetail);
-        }else {
-            em.merge(errorDetail);
-        }
+        em.persist(errorDetail);
+        errorId = errorDetail.getErrorID();
         em.getTransaction().commit();
         em.close();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/e2021408/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java
index 327e5e0..db2e8d3 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java
@@ -143,47 +143,33 @@ public class StatusResource extends AbstractResource {
     @Override
     public void save() {
         EntityManager em = ResourceUtils.getEntityManager();
-        Status existingStatus = em.find(Status.class, statusId);
-        em.close();
-
-        em = ResourceUtils.getEntityManager();
         em.getTransaction().begin();
         Status status = new Status();
         Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
-        TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
-        WorkflowNodeDetail nodeDetail = em.find(WorkflowNodeDetail.class, workflowNodeDetail.getNodeInstanceId());
-        DataTransferDetail transferDetail = em.find(DataTransferDetail.class, dataTransferDetail.getTransferId());
+        if (taskDetailResource != null){
+            TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
+            status.setTask(taskDetail);
+            status.setTaskId(taskDetailResource.getTaskId());
+        }
+        if (workflowNodeDetail != null){
+            WorkflowNodeDetail nodeDetail = em.find(WorkflowNodeDetail.class, workflowNodeDetail.getNodeInstanceId());
+            status.setNode(nodeDetail);
+            status.setNodeId(workflowNodeDetail.getNodeInstanceId());
+        }
+        if (dataTransferDetail != null){
+            DataTransferDetail transferDetail = em.find(DataTransferDetail.class, dataTransferDetail.getTransferId());
+            status.setTransferDetail(transferDetail);
+            status.setTransferId(dataTransferDetail.getTransferId());
+        }
         status.setStatusId(statusId);
         status.setExperiment(experiment);
-        status.setTask(taskDetail);
-        status.setNode(nodeDetail);
-        status.setTransferDetail(transferDetail);
         status.setJobId(jobId);
         status.setExpId(experimentResource.getExpID());
-        status.setTaskId(taskDetailResource.getTaskId());
-        status.setNodeId(workflowNodeDetail.getNodeInstanceId());
-        status.setTransferId(dataTransferDetail.getTransferId());
         status.setState(state);
         status.setStatusUpdateTime(statusUpdateTime);
         status.setStatusType(statusType);
-        if (existingStatus != null){
-            existingStatus.setStatusId(statusId);
-            existingStatus.setExperiment(experiment);
-            existingStatus.setTask(taskDetail);
-            existingStatus.setNode(nodeDetail);
-            existingStatus.setTransferDetail(transferDetail);
-            existingStatus.setJobId(jobId);
-            existingStatus.setExpId(experimentResource.getExpID());
-            existingStatus.setTaskId(taskDetailResource.getTaskId());
-            existingStatus.setNodeId(workflowNodeDetail.getNodeInstanceId());
-            existingStatus.setTransferId(dataTransferDetail.getTransferId());
-            existingStatus.setState(state);
-            existingStatus.setStatusUpdateTime(statusUpdateTime);
-            existingStatus.setStatusType(statusType);
-            status = em.merge(existingStatus);
-        }else {
-            em.merge(status);
-        }
+        em.persist(status);
+        statusId = status.getStatusId();
         em.getTransaction().commit();
         em.close();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/e2021408/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index 7e0cfeb..2d5c346 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -631,10 +631,14 @@ public class Utils {
         ErrorDetailResource errorDetailResource = new ErrorDetailResource();
         ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
         errorDetailResource.setExperimentResource(experimentResource);
-        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
-        errorDetailResource.setTaskDetailResource(taskDetailResource);
-        WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetails());
-        errorDetailResource.setNodeDetail(nodeDetailResource);
+        if (o.getTask() != null){
+            TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+            errorDetailResource.setTaskDetailResource(taskDetailResource);
+        }
+        if (o.getNodeDetails() != null){
+            WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetails());
+            errorDetailResource.setNodeDetail(nodeDetailResource);
+        }
         errorDetailResource.setErrorId(o.getErrorID());
         errorDetailResource.setJobId(o.getJobId());
         errorDetailResource.setCreationTime(o.getCreationTime());
@@ -716,12 +720,18 @@ public class Utils {
         StatusResource statusResource = new StatusResource();
         ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
         statusResource.setExperimentResource(experimentResource);
-        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
-        statusResource.setTaskDetailResource(taskDetailResource);
-        WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNode());
-        statusResource.setWorkflowNodeDetail(nodeDetailResource);
-        DataTransferDetailResource transferDetailResource = (DataTransferDetailResource)createDataTransferResource(o.getTransferDetail());
-        statusResource.setDataTransferDetail(transferDetailResource);
+        if (o.getTask() != null){
+            TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+            statusResource.setTaskDetailResource(taskDetailResource);
+        }
+        if (o.getNode() != null){
+            WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNode());
+            statusResource.setWorkflowNodeDetail(nodeDetailResource);
+        }
+        if (o.getTransferDetail() != null){
+            DataTransferDetailResource transferDetailResource = (DataTransferDetailResource)createDataTransferResource(o.getTransferDetail());
+            statusResource.setDataTransferDetail(transferDetailResource);
+        }
         statusResource.setStatusId(o.getStatusId());
         statusResource.setJobId(o.getJobId());
         statusResource.setState(o.getState());