airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chath...@apache.org
Subject git commit: adding resources util methods to data models - AIRAVATA-1017
Date Tue, 18 Feb 2014 18:27:40 GMT
Repository: airavata
Updated Branches:
  refs/heads/master a584c2c76 -> 0e2e21ce5


adding resources util methods to data models - AIRAVATA-1017


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

Branch: refs/heads/master
Commit: 0e2e21ce550f53c24302055285fa24adcfa5e991
Parents: a584c2c
Author: chathuri <chathuri@apache.org>
Authored: Tue Feb 18 13:27:30 2014 -0500
Committer: chathuri <chathuri@apache.org>
Committed: Tue Feb 18 13:27:30 2014 -0500

----------------------------------------------------------------------
 .../registry/jpa/model/ErrorDetail.java         | 178 ++++++++++
 .../registry/jpa/model/ErrorDetails.java        | 178 ----------
 .../registry/jpa/model/Experiment.java          |  12 +
 .../registry/jpa/model/TaskDetail.java          |  14 +-
 .../jpa/resources/ApplicationInputResource.java |  18 +-
 .../resources/ApplicationOutputResource.java    |  18 +-
 .../jpa/resources/ErrorDetailResource.java      |  54 +--
 .../jpa/resources/ExperimentResource.java       | 148 +++++++--
 .../jpa/resources/JobDetailResource.java        |  10 +-
 .../jpa/resources/NodeInputResource.java        |  10 +-
 .../jpa/resources/NodeOutputResource.java       |  10 +-
 .../registry/jpa/resources/StatusResource.java  |  14 +-
 .../registry/jpa/resources/Utils.java           | 328 ++++++++++++-------
 .../src/main/resources/registry-mysql.sql       |  13 +-
 14 files changed, 598 insertions(+), 407 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java
new file mode 100644
index 0000000..6c6e6cd
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java
@@ -0,0 +1,178 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "ERROR_DETAIL")
+public class ErrorDetail {
+    @Id
+    @GeneratedValue
+    @Column(name = "ERROR_ID")
+    private int errorID;
+    @Column(name = "EXPERIMENT_ID")
+    private String expId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "NODE_INSTANCE_ID")
+    private String nodeId;
+    @Column(name = "CREATION_TIME")
+    private Timestamp creationTime;
+    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    private String actualErrorMsg;
+    @Column(name = "USER_FRIEDNLY_ERROR_MSG")
+    private String userFriendlyErrorMsg;
+    @Column(name = "TRANSIENT_OR_PERSISTENT")
+    private boolean transientPersistent;
+    @Column(name = "ERROR_CATEGORY")
+    private String errorCategory;
+    @Column(name = "CORRECTIVE_ACTION")
+    private String correctiveAction;
+    @Column(name = "ACTIONABLE_GROUP")
+    private String actionableGroup;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "EXPERIMENT_ID")
+    private Experiment experiment;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "NODE_INSTANCE_ID")
+    private WorkflowNodeDetail nodeDetails;
+
+    public int getErrorID() {
+        return errorID;
+    }
+
+    public void setErrorID(int errorID) {
+        this.errorID = errorID;
+    }
+
+    public String getExpId() {
+        return expId;
+    }
+
+    public void setExpId(String expId) {
+        this.expId = expId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getNodeId() {
+        return nodeId;
+    }
+
+    public void setNodeId(String nodeId) {
+        this.nodeId = nodeId;
+    }
+
+    public Timestamp getCreationTime() {
+        return creationTime;
+    }
+
+    public void setCreationTime(Timestamp creationTime) {
+        this.creationTime = creationTime;
+    }
+
+    public String getActualErrorMsg() {
+        return actualErrorMsg;
+    }
+
+    public void setActualErrorMsg(String actualErrorMsg) {
+        this.actualErrorMsg = actualErrorMsg;
+    }
+
+    public String getUserFriendlyErrorMsg() {
+        return userFriendlyErrorMsg;
+    }
+
+    public void setUserFriendlyErrorMsg(String userFriendlyErrorMsg) {
+        this.userFriendlyErrorMsg = userFriendlyErrorMsg;
+    }
+
+    public boolean isTransientPersistent() {
+        return transientPersistent;
+    }
+
+    public void setTransientPersistent(boolean transientPersistent) {
+        this.transientPersistent = transientPersistent;
+    }
+
+    public String getErrorCategory() {
+        return errorCategory;
+    }
+
+    public void setErrorCategory(String errorCategory) {
+        this.errorCategory = errorCategory;
+    }
+
+    public String getActionableGroup() {
+        return actionableGroup;
+    }
+
+    public void setActionableGroup(String actionableGroup) {
+        this.actionableGroup = actionableGroup;
+    }
+
+    public Experiment getExperiment() {
+        return experiment;
+    }
+
+    public void setExperiment(Experiment experiment) {
+        this.experiment = experiment;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+
+    public WorkflowNodeDetail getNodeDetails() {
+        return nodeDetails;
+    }
+
+    public void setNodeDetails(WorkflowNodeDetail nodeDetails) {
+        this.nodeDetails = nodeDetails;
+    }
+
+    public String getCorrectiveAction() {
+        return correctiveAction;
+    }
+
+    public void setCorrectiveAction(String correctiveAction) {
+        this.correctiveAction = correctiveAction;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
deleted file mode 100644
index 47194f3..0000000
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.persistance.registry.jpa.model;
-
-import javax.persistence.*;
-import java.sql.Timestamp;
-
-@Entity
-@Table(name = "ERROR_DETAIL")
-public class ErrorDetails {
-    @Id
-    @GeneratedValue
-    @Column(name = "ERROR_ID")
-    private int errorID;
-    @Column(name = "EXPERIMENT_ID")
-    private String expId;
-    @Column(name = "TASK_ID")
-    private String taskId;
-    @Column(name = "NODE_INSTANCE_ID")
-    private String nodeId;
-    @Column(name = "CREATION_TIME")
-    private Timestamp creationTime;
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
-    private String actualErrorMsg;
-    @Column(name = "USER_FRIEDNLY_ERROR_MSG")
-    private String userFriendlyErrorMsg;
-    @Column(name = "TRANSIENT_OR_PERSISTENT")
-    private boolean transientPersistent;
-    @Column(name = "ERROR_CATEGORY")
-    private String errorCategory;
-    @Column(name = "CORRECTIVE_ACTION")
-    private String correctiveAction;
-    @Column(name = "ACTIONABLE_GROUP")
-    private String actionableGroup;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "EXPERIMENT_ID")
-    private Experiment experiment;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "TASK_ID")
-    private TaskDetail task;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "NODE_INSTANCE_ID")
-    private WorkflowNodeDetail nodeDetails;
-
-    public int getErrorID() {
-        return errorID;
-    }
-
-    public void setErrorID(int errorID) {
-        this.errorID = errorID;
-    }
-
-    public String getExpId() {
-        return expId;
-    }
-
-    public void setExpId(String expId) {
-        this.expId = expId;
-    }
-
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
-    public String getNodeId() {
-        return nodeId;
-    }
-
-    public void setNodeId(String nodeId) {
-        this.nodeId = nodeId;
-    }
-
-    public Timestamp getCreationTime() {
-        return creationTime;
-    }
-
-    public void setCreationTime(Timestamp creationTime) {
-        this.creationTime = creationTime;
-    }
-
-    public String getActualErrorMsg() {
-        return actualErrorMsg;
-    }
-
-    public void setActualErrorMsg(String actualErrorMsg) {
-        this.actualErrorMsg = actualErrorMsg;
-    }
-
-    public String getUserFriendlyErrorMsg() {
-        return userFriendlyErrorMsg;
-    }
-
-    public void setUserFriendlyErrorMsg(String userFriendlyErrorMsg) {
-        this.userFriendlyErrorMsg = userFriendlyErrorMsg;
-    }
-
-    public boolean isTransientPersistent() {
-        return transientPersistent;
-    }
-
-    public void setTransientPersistent(boolean transientPersistent) {
-        this.transientPersistent = transientPersistent;
-    }
-
-    public String getErrorCategory() {
-        return errorCategory;
-    }
-
-    public void setErrorCategory(String errorCategory) {
-        this.errorCategory = errorCategory;
-    }
-
-    public String getActionableGroup() {
-        return actionableGroup;
-    }
-
-    public void setActionableGroup(String actionableGroup) {
-        this.actionableGroup = actionableGroup;
-    }
-
-    public Experiment getExperiment() {
-        return experiment;
-    }
-
-    public void setExperiment(Experiment experiment) {
-        this.experiment = experiment;
-    }
-
-    public TaskDetail getTask() {
-        return task;
-    }
-
-    public void setTask(TaskDetail task) {
-        this.task = task;
-    }
-
-    public WorkflowNodeDetail getNodeDetails() {
-        return nodeDetails;
-    }
-
-    public void setNodeDetails(WorkflowNodeDetail nodeDetails) {
-        this.nodeDetails = nodeDetails;
-    }
-
-    public String getCorrectiveAction() {
-        return correctiveAction;
-    }
-
-    public void setCorrectiveAction(String correctiveAction) {
-        this.correctiveAction = correctiveAction;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
index c83440b..2e5de5b 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
@@ -62,6 +62,10 @@ public class Experiment {
     @JoinColumn(name = "project_name")
     private Project project;
 
+    @ManyToOne(cascade=CascadeType.MERGE)
+    @JoinColumn(name = "EXECUTION_USER", referencedColumnName = "USER_NAME")
+    private Users user;
+
     public String getExpId() {
         return expId;
     }
@@ -173,4 +177,12 @@ public class Experiment {
     public void setProject(Project project) {
         this.project = project;
     }
+
+    public Users getUser() {
+        return user;
+    }
+
+    public void setUser(Users user) {
+        this.user = user;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
index ae04b0e..0d962a9 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/TaskDetail.java
@@ -21,6 +21,8 @@
 
 package org.apache.airavata.persistance.registry.jpa.model;
 
+import org.apache.airavata.registry.api.workflow.WorkflowNodeType;
+
 import javax.persistence.*;
 import java.sql.Timestamp;
 
@@ -40,8 +42,8 @@ public class TaskDetail {
     private String appVersion;
 
     @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "EXPERIMENT_ID")
-    private Experiment experiment;
+    @JoinColumn(name = "NODE_INSTANCE_ID")
+    private WorkflowNodeDetail nodeDetail;
 
     public String getTaskId() {
         return taskId;
@@ -83,11 +85,11 @@ public class TaskDetail {
         this.appVersion = appVersion;
     }
 
-    public Experiment getExperiment() {
-        return experiment;
+    public WorkflowNodeDetail getNodeDetail() {
+        return nodeDetail;
     }
 
-    public void setExperiment(Experiment experiment) {
-        this.experiment = experiment;
+    public void setNodeDetail(WorkflowNodeDetail nodeDetail) {
+        this.nodeDetail = nodeDetail;
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
index 833ba91..d54f46a 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
@@ -27,20 +27,12 @@ import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import java.util.List;
 
 public class ApplicationInputResource extends AbstractResource {
-    private String taskId;
+    private TaskDetailResource taskDetailResource;
     private String inputKey;
     private String inputType;
     private String metadata;
     private String value;
 
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
     public String getInputKey() {
         return inputKey;
     }
@@ -73,6 +65,14 @@ public class ApplicationInputResource extends AbstractResource {
         this.value = value;
     }
 
+    public TaskDetailResource getTaskDetailResource() {
+        return taskDetailResource;
+    }
+
+    public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
+        this.taskDetailResource = taskDetailResource;
+    }
+
     @Override
     public Resource create(ResourceType type) {
         return null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
index 9a7bf2f..5edd3bf 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
@@ -27,20 +27,12 @@ import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import java.util.List;
 
 public class ApplicationOutputResource extends AbstractResource {
-    private String taskId;
+    private TaskDetailResource taskDetailResource;
     private String outputKey;
     private String outputType;
     private String metadata;
     private String value;
 
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
     public String getOutputKey() {
         return outputKey;
     }
@@ -73,6 +65,14 @@ public class ApplicationOutputResource extends AbstractResource {
         this.value = value;
     }
 
+    public TaskDetailResource getTaskDetailResource() {
+        return taskDetailResource;
+    }
+
+    public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
+        this.taskDetailResource = taskDetailResource;
+    }
+
     @Override
     public Resource create(ResourceType type) {
         return null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/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 6bf7541..a43175d 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
@@ -29,9 +29,9 @@ import java.util.List;
 
 public class ErrorDetailResource extends AbstractResource {
     private int errorId;
-    private String expId;
-    private String taskId;
-    private String nodeInstanceId;
+    private ExperimentResource experimentResource;
+    private TaskDetailResource taskDetailResource;
+    private WorkflowNodeDetailResource nodeDetail;
     private Timestamp creationTime;
     private String actualErrorMsg;
     private String userFriendlyErrorMsg;
@@ -48,30 +48,6 @@ public class ErrorDetailResource extends AbstractResource {
         this.errorId = errorId;
     }
 
-    public String getExpId() {
-        return expId;
-    }
-
-    public void setExpId(String expId) {
-        this.expId = expId;
-    }
-
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
-    public String getNodeInstanceId() {
-        return nodeInstanceId;
-    }
-
-    public void setNodeInstanceId(String nodeInstanceId) {
-        this.nodeInstanceId = nodeInstanceId;
-    }
-
     public Timestamp getCreationTime() {
         return creationTime;
     }
@@ -128,6 +104,30 @@ public class ErrorDetailResource extends AbstractResource {
         this.actionableGroup = actionableGroup;
     }
 
+    public ExperimentResource getExperimentResource() {
+        return experimentResource;
+    }
+
+    public void setExperimentResource(ExperimentResource experimentResource) {
+        this.experimentResource = experimentResource;
+    }
+
+    public TaskDetailResource getTaskDetailResource() {
+        return taskDetailResource;
+    }
+
+    public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
+        this.taskDetailResource = taskDetailResource;
+    }
+
+    public WorkflowNodeDetailResource getNodeDetail() {
+        return nodeDetail;
+    }
+
+    public void setNodeDetail(WorkflowNodeDetailResource nodeDetail) {
+        this.nodeDetail = nodeDetail;
+    }
+
     @Override
     public Resource create(ResourceType type) {
         return null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
index 63f1e48..468ed53 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
@@ -30,10 +30,7 @@ import javax.persistence.Query;
 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.Experiment;
-import org.apache.airavata.persistance.registry.jpa.model.Gateway;
-import org.apache.airavata.persistance.registry.jpa.model.Project;
-import org.apache.airavata.persistance.registry.jpa.model.Users;
+import org.apache.airavata.persistance.registry.jpa.model.*;
 import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
 import org.bouncycastle.jce.provider.JDKPSSSigner;
 import org.slf4j.Logger;
@@ -47,6 +44,7 @@ public class ExperimentResource extends AbstractResource {
     private GatewayResource gateway;
     private ProjectResource project;
     private String expName;
+    private String description;
     private String applicationId;
     private String applicationVersion;
     private String workflowTemplateId;
@@ -117,6 +115,14 @@ public class ExperimentResource extends AbstractResource {
         this.workflowExecutionId = workflowExecutionId;
     }
 
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
     /**
      * Since experiments are at the leaf level, this method is not
      * valid for an experiment
@@ -135,6 +141,36 @@ public class ExperimentResource extends AbstractResource {
                 return experimentOutputResource;
             case WORKFLOW_NODE_DETAIL:
                 WorkflowNodeDetailResource nodeDetailResource = new WorkflowNodeDetailResource();
+                nodeDetailResource.setExperimentResource(this);
+                return nodeDetailResource;
+            case ERROR_DETAIL:
+                ErrorDetailResource errorDetailResource = new ErrorDetailResource();
+                errorDetailResource.setExperimentResource(this);
+                return errorDetailResource;
+            case STATUS:
+                StatusResource statusResource = new StatusResource();
+                statusResource.setExperimentResource(this);
+                return statusResource;
+            case CONFIG_DATA:
+                ConfigDataResource configDataResource = new ConfigDataResource();
+                configDataResource.setExperimentResource(this);
+                return configDataResource;
+            case COMPUTATIONAL_RESOURCE_SCHEDULING:
+                ComputationSchedulingResource schedulingResource = new ComputationSchedulingResource();
+                schedulingResource.setExperimentResource(this);
+                return schedulingResource;
+            case ADVANCE_INPUT_DATA_HANDLING:
+                AdvanceInputDataHandlingResource dataHandlingResource = new AdvanceInputDataHandlingResource();
+                dataHandlingResource.setExperimentResource(this);
+                return dataHandlingResource;
+            case ADVANCE_OUTPUT_DATA_HANDLING:
+                AdvancedOutputDataHandlingResource outputDataHandlingResource = new AdvancedOutputDataHandlingResource();
+                outputDataHandlingResource.setExperimentResource(this);
+                return outputDataHandlingResource;
+            case QOS_PARAM:
+                QosParamResource qosParamResource = new QosParamResource();
+                qosParamResource.setExperimentResource(this);
+                return qosParamResource;
 	        default:
                 logger.error("Unsupported resource type for experiment resource.", new IllegalArgumentException());
 	            throw new IllegalArgumentException("Unsupported resource type for experiment resource.");
@@ -148,21 +184,77 @@ public class ExperimentResource extends AbstractResource {
      * @return UnsupportedOperationException
      */
     public void remove(ResourceType type, Object name) {
-//        EntityManager em = ResourceUtils.getEntityManager();
-//        em.getTransaction().begin();
-//        Query q;
-//        QueryGenerator generator;
-//        switch (type){
-//            case EXPERIMENT_DATA:
-//                generator = new QueryGenerator(EXPERIMENT_DATA);
-//                generator.setParameter(ExperimentDataConstants.EXPERIMENT_ID, name);
-//                q = generator.deleteQuery(em);
-//                q.executeUpdate();
-//                break;
-//        }
-//        em.getTransaction().commit();
-//        em.close();
-
+        EntityManager em = ResourceUtils.getEntityManager();
+        em.getTransaction().begin();
+        Query q;
+        QueryGenerator generator;
+        switch (type){
+            case EXPERIMENT_INPUT:
+                generator = new QueryGenerator(EXPERIMENT_INPUT);
+                generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case EXPERIMENT_OUTPUT:
+                generator = new QueryGenerator(EXPERIMENT_OUTPUT);
+                generator.setParameter(ExperimentOutputConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case WORKFLOW_NODE_DETAIL:
+                generator = new QueryGenerator(WORKFLOW_NODE_DETAIL);
+                generator.setParameter(WorkflowNodeDetailsConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case ERROR_DETAIL:
+                generator = new QueryGenerator(ERROR_DETAIL);
+                generator.setParameter(ErrorDetailConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case STATUS:
+                generator = new QueryGenerator(STATUS);
+                generator.setParameter(StatusConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case CONFIG_DATA:
+                generator = new QueryGenerator(CONFIG_DATA);
+                generator.setParameter(ExperimentConfigurationDataConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case COMPUTATIONAL_RESOURCE_SCHEDULING:
+                generator = new QueryGenerator(COMPUTATIONAL_RESOURCE_SCHEDULING);
+                generator.setParameter(ComputationalResourceSchedulingConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case ADVANCE_INPUT_DATA_HANDLING:
+                generator = new QueryGenerator(ADVANCE_INPUT_DATA_HANDLING);
+                generator.setParameter(AdvancedInputDataHandlingConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case ADVANCE_OUTPUT_DATA_HANDLING:
+                generator = new QueryGenerator(ADVANCE_OUTPUT_DATA_HANDLING);
+                generator.setParameter(AdvancedOutputDataHandlingConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            case QOS_PARAM:
+                generator = new QueryGenerator(QOS_PARAMS);
+                generator.setParameter(QosParamsConstants.EXPERIMENT_ID, name);
+                q = generator.deleteQuery(em);
+                q.executeUpdate();
+                break;
+            default:
+                logger.error("Unsupported resource type for experiment resource.", new IllegalArgumentException());
+                break;
+        }
+        em.getTransaction().commit();
+        em.close();
     }
 
     /**
@@ -177,15 +269,15 @@ public class ExperimentResource extends AbstractResource {
         QueryGenerator generator;
         Query q;
         switch (type) {
-//            case EXPERIMENT_DATA:
-//                generator = new QueryGenerator(EXPERIMENT_DATA);
-//                generator.setParameter(ExperimentDataConstants.EXPERIMENT_ID, name);
-//                q = generator.selectQuery(em);
-//                Experiment_Data experimentData = (Experiment_Data)q.getSingleResult();
-//                ExperimentDataResource experimentDataResource = (ExperimentDataResource)Utils.getResource(ResourceType.EXPERIMENT_DATA, experimentData);
-//                em.getTransaction().commit();
-//                em.close();
-//                return experimentDataResource;
+            case EXPERIMENT_INPUT:
+                generator = new QueryGenerator(EXPERIMENT_INPUT);
+                generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, name);
+                q = generator.selectQuery(em);
+                Experiment_Input experimentInput = (Experiment_Input)q.getSingleResult();
+                ExperimentInputResource inputResource = (ExperimentInputResource)Utils.getResource(ResourceType.EXPERIMENT_INPUT, experimentInput);
+                em.getTransaction().commit();
+                em.close();
+                return inputResource;
             default:
                 em.getTransaction().commit();
                 em.close();

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java
index b4f731b..8bab116 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java
@@ -29,7 +29,7 @@ import java.util.List;
 
 public class JobDetailResource extends AbstractResource {
     private String jobId;
-    private String taskId;
+    private TaskDetailResource taskDetailResource;
     private String jobDescription;
     private Timestamp creationTime;
 
@@ -41,12 +41,12 @@ public class JobDetailResource extends AbstractResource {
         this.jobId = jobId;
     }
 
-    public String getTaskId() {
-        return taskId;
+    public TaskDetailResource getTaskDetailResource() {
+        return taskDetailResource;
     }
 
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
+    public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
+        this.taskDetailResource = taskDetailResource;
     }
 
     public String getJobDescription() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
index dd7d484..2ada52f 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
@@ -27,18 +27,18 @@ import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import java.util.List;
 
 public class NodeInputResource extends AbstractResource {
-    private String nodeInstanceId;
+    private WorkflowNodeDetailResource nodeDetailResource;
     private String inputKey;
     private String inputType;
     private String metadata;
     private String value;
 
-    public String getNodeInstanceId() {
-        return nodeInstanceId;
+    public WorkflowNodeDetailResource getNodeDetailResource() {
+        return nodeDetailResource;
     }
 
-    public void setNodeInstanceId(String nodeInstanceId) {
-        this.nodeInstanceId = nodeInstanceId;
+    public void setNodeDetailResource(WorkflowNodeDetailResource nodeDetailResource) {
+        this.nodeDetailResource = nodeDetailResource;
     }
 
     public String getInputKey() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
index 9d27c22..b105157 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
@@ -27,18 +27,18 @@ import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import java.util.List;
 
 public class NodeOutputResource extends AbstractResource {
-    private String nodeInstanceId;
+    private WorkflowNodeDetailResource nodeDetailResource;
     private String outputKey;
     private String outputType;
     private String metadata;
     private String value;
 
-    public String getNodeInstanceId() {
-        return nodeInstanceId;
+    public WorkflowNodeDetailResource getNodeDetailResource() {
+        return nodeDetailResource;
     }
 
-    public void setNodeInstanceId(String nodeInstanceId) {
-        this.nodeInstanceId = nodeInstanceId;
+    public void setNodeDetailResource(WorkflowNodeDetailResource nodeDetailResource) {
+        this.nodeDetailResource = nodeDetailResource;
     }
 
     public String getOutputKey() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/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 0db1d72..2101ecb 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
@@ -23,8 +23,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.model.DataTransferDetail;
-import org.apache.airavata.persistance.registry.jpa.model.WorkflowNodeDetail;
 
 import java.sql.Timestamp;
 import java.util.List;
@@ -32,8 +30,8 @@ import java.util.List;
 public class StatusResource extends AbstractResource {
     private int statusId;
     private ExperimentResource experimentResource;
-    private WorkflowNodeDetail workflowNodeDetail;
-    private DataTransferDetail dataTransferDetail;
+    private WorkflowNodeDetailResource workflowNodeDetail;
+    private DataTransferDetailResource dataTransferDetail;
     private TaskDetailResource taskDetailResource;
     private String jobId;
     private String state;
@@ -56,19 +54,19 @@ public class StatusResource extends AbstractResource {
         this.experimentResource = experimentResource;
     }
 
-    public WorkflowNodeDetail getWorkflowNodeDetail() {
+    public WorkflowNodeDetailResource getWorkflowNodeDetail() {
         return workflowNodeDetail;
     }
 
-    public void setWorkflowNodeDetail(WorkflowNodeDetail workflowNodeDetail) {
+    public void setWorkflowNodeDetail(WorkflowNodeDetailResource workflowNodeDetail) {
         this.workflowNodeDetail = workflowNodeDetail;
     }
 
-    public DataTransferDetail getDataTransferDetail() {
+    public DataTransferDetailResource getDataTransferDetail() {
         return dataTransferDetail;
     }
 
-    public void setDataTransferDetail(DataTransferDetail dataTransferDetail) {
+    public void setDataTransferDetail(DataTransferDetailResource dataTransferDetail) {
         this.dataTransferDetail = dataTransferDetail;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/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 d09adb1..9311571 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
@@ -269,19 +269,19 @@ public class Utils {
                     throw  new IllegalArgumentException("Object should be a Gateway Worker.");
                 }
             case EXPERIMENT_INPUT:
-//                if (o instanceof  Experiment_Input){
-//                    return createExperimentInput((Experiment_Input)o);
-//                }else {
-//                    logger.error("Object should be a Experiment input data.", new IllegalArgumentException());
-//                    throw new IllegalArgumentException("Object should be a Experiment input data.");
-//                }
+                if (o instanceof  Experiment_Input){
+                    return createExperimentInput((Experiment_Input)o);
+                }else {
+                    logger.error("Object should be a Experiment input data.", new IllegalArgumentException());
+                    throw new IllegalArgumentException("Object should be a Experiment input data.");
+                }
             case EXPERIMENT_OUTPUT:
-//                if (o instanceof  Experiment_Output){
-//                    return createExperimentOutput((Experiment_Output)o);
-//                }else {
-//                    logger.error("Object should be a Experiment output data.", new IllegalArgumentException());
-//                    throw new IllegalArgumentException("Object should be a Experiment output data.");
-//                }
+                if (o instanceof  Experiment_Output){
+                    return createExperimentOutput((Experiment_Output)o);
+                }else {
+                    logger.error("Object should be a Experiment output data.", new IllegalArgumentException());
+                    throw new IllegalArgumentException("Object should be a Experiment output data.");
+                }
             default:
         }
         return null;
@@ -347,26 +347,7 @@ public class Utils {
         return applicationDescriptorResource;
     }
 
-    /**
-     * @deprecated
-     * @param o Experiment model object
-     * @return  Experiment resource object
-     */
-//    private static Resource createExperiment(Experiment o) {
-//        ExperimentResource experimentResource = new ExperimentResource();
-//        GatewayResource gatewayResource = (GatewayResource)createGateway(o.getGateway());
-//        experimentResource.setGateway(gatewayResource);
-//        Gateway_Worker gateway_worker = new Gateway_Worker();
-//        gateway_worker.setGateway(o.getGateway());
-//        gateway_worker.setUser(o.getUser());
-//        WorkerResource workerResource = (WorkerResource) createGatewayWorker(gateway_worker);
-//        experimentResource.setWorker(workerResource);
-//        ProjectResource projectResource = (ProjectResource)createProject(o.getProject());
-//        experimentResource.setProject(projectResource);
-//        experimentResource.setExpID(o.getExperiment_ID());
-//        experimentResource.setSubmittedDate(o.getSubmitted_date());
-//        return experimentResource;
-//    }
+
 
     /**
      *
@@ -466,102 +447,207 @@ public class Utils {
     }
 
     /**
-     * @param o Experiment Data model object
-     * @return Experiment Data resource object
+     * @param o Experiment model object
+     * @return  Experiment resource object
      */
-//    private static Resource createExperimentData(Experiment_Data o){
-//        ExperimentDataResource experimentDataResource = new ExperimentDataResource();
-//        experimentDataResource.setExperimentID(o.getExperiment_ID());
-//        experimentDataResource.setExpName(o.getName());
-//        experimentDataResource.setUserName(o.getUsername());
-//        return experimentDataResource;
-//    }
+    private static Resource createExperiment(Experiment o) {
+        ExperimentResource experimentResource = new ExperimentResource();
+        GatewayResource gatewayResource = (GatewayResource)createGateway(o.getGateway());
+        experimentResource.setGateway(gatewayResource);
+        Gateway_Worker gateway_worker = new Gateway_Worker();
+        gateway_worker.setGateway(o.getGateway());
+        gateway_worker.setUser(o.getUser());
+        WorkerResource workerResource = (WorkerResource) createGatewayWorker(gateway_worker);
+        experimentResource.setWorker(workerResource);
+        ProjectResource projectResource = (ProjectResource)createProject(o.getProject());
+        experimentResource.setProject(projectResource);
+        experimentResource.setExpID(o.getExpId());
+        experimentResource.setCreationTime(o.getCreationTime());
+        experimentResource.setDescription(o.getExpDesc());
+        experimentResource.setApplicationId(o.getApplicationId());
+        experimentResource.setApplicationVersion(o.getAppVersion());
+        experimentResource.setWorkflowTemplateId(o.getWorkflowTemplateId());
+        experimentResource.setWorkflowTemplateVersion(o.getWorkflowTemplateVersion());
+        experimentResource.setWorkflowExecutionId(o.getWorkflowExecutionId());
+        return experimentResource;
+    }
 
-//    private static Resource createExperimentConfigData(Experiment_Configuration_Data o){
-//        ExperimentConfigDataResource exConfigDataResource = new ExperimentConfigDataResource();
-//        ExperimentMetadataResource experimentMetadata = (ExperimentMetadataResource)createExperimentMetadata(o.getExperiment_metadata());
-//        exConfigDataResource.setExMetadata(experimentMetadata);
-//        exConfigDataResource.setAiravataAutoSchedule(o.isAiravata_auto_schedule());
-//        exConfigDataResource.setCleanAfterJob(o.isClean_after_job());
-//        exConfigDataResource.setCpuCount(o.getTotal_cpu_count());
-//        exConfigDataResource.setDataRegURL(o.getData_reg_url());
-//        exConfigDataResource.setJobStartTime(o.getJob_start_time());
-//        exConfigDataResource.setNodeCount(o.getNode_count());
-//        exConfigDataResource.setNumberOfThreads(o.getNumber_of_threads());
-//        exConfigDataResource.setOutputDataDir(o.getOutput_data_dir());
-//        exConfigDataResource.setOverrideManualSchedule(o.isOverride_manual_schedule());
-//        exConfigDataResource.setPersistOutputData(o.isPersist_output_data());
-//        exConfigDataResource.setPhysicalMemory(o.getTotal_physical_memory());
-//        exConfigDataResource.setProjectAccount(o.getComputational_project_account());
-//        exConfigDataResource.setQueueName(o.getQueue_name());
-//        exConfigDataResource.setResourceHostID(o.getResource_host_id());
-//        exConfigDataResource.setStageInputsToWDir(o.isStage_input_files_to_working_dir());
-//        exConfigDataResource.setWallTimeLimit(o.getWalltime_limit());
-//        exConfigDataResource.setOverrideManualSchedule(o.isOverride_manual_schedule());
-//        exConfigDataResource.setWorkingDir(o.getUnique_working_dir());
-//        exConfigDataResource.setWorkingDirParent(o.getWorking_dir_parent());
-//        exConfigDataResource.setApplicationID(o.getApplication_id());
-//        exConfigDataResource.setApplicationVersion(o.getApplication_version());
-//        exConfigDataResource.setWorkflowTemplateId(o.getWorkflow_template_id());
-//        exConfigDataResource.setWorkflowTemplateVersion(o.getWorkflow_template_version());
-//        exConfigDataResource.setStartExecutionAt(o.getStart_execution_at());
-//        exConfigDataResource.setExecuteBefore(o.getExecute_before());
-//        exConfigDataResource.setNumberOfRetries(o.getNumber_of_retries());
-//        return exConfigDataResource;
-//    }
+    private static Resource createExperimentInput (Experiment_Input o){
+        ExperimentInputResource eInputResource = new ExperimentInputResource();
+        ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
+        eInputResource.setExperimentResource(experimentResource);
+        eInputResource.setInputType(o.getInputType());
+        eInputResource.setMetadata(o.getMetadata());
+        eInputResource.setExperimentKey(o.getEx_key());
+        eInputResource.setValue(o.getValue());
+        return eInputResource;
+    }
 
-    /**
-     *
-     * @param o Experiment MetaData model object
-     * @return Experiment MetaData resource object
-     */
-//    private static Resource createExperimentMetadata(Experiment_Metadata o) {
-//        ExperimentMetadataResource experimentMetadataResource = new ExperimentMetadataResource();
-//        experimentMetadataResource.setExpID(o.getExperiment_id());
-//        experimentMetadataResource.setDescription(o.getDescription());
-//        Gateway_Worker gw = new Gateway_Worker();
-//        gw.setGateway(o.getGateway());
-//        experimentMetadataResource.setExecutionUser(o.getExecution_user());
-//        experimentMetadataResource.setShareExp(o.isShare_experiment());
-//        experimentMetadataResource.setSubmittedDate(o.getSubmitted_date());
-//        GatewayResource gResource = (GatewayResource)createGateway(o.getGateway());
-//        experimentMetadataResource.setGateway(gResource);
-//        ProjectResource pResource = (ProjectResource)createProject(o.getProject());
-//        experimentMetadataResource.setProject(pResource);
-//        experimentMetadataResource.setExperimentName(o.getExperiment_name());
-//        return experimentMetadataResource;
-//    }
+    private static Resource createExperimentOutput (Experiment_Output o){
+        ExperimentOutputResource eOutputResource = new ExperimentOutputResource();
+        ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
+        eOutputResource.setExperimentResource(experimentResource);
+        eOutputResource.setExperimentKey(o.getEx_key());
+        eOutputResource.setValue(o.getValue());
+        eOutputResource.setOutputType(o.getOutputKeyType());
+        eOutputResource.setMetadata(o.getMetadata());
+        return eOutputResource;
+    }
 
-//    private static Resource createExperimentSummary (Experiment_Summary o){
-//        ExperimentSummaryResource summaryResource = new ExperimentSummaryResource();
-//        ExperimentMetadataResource metadata = (ExperimentMetadataResource)createExperimentMetadata(o.getExperiment_metadata());
-//        summaryResource.setExperimentMetadataResource(metadata);
-//        summaryResource.setLastUpdateTime(o.getLast_update_time());
-//        summaryResource.setStatus(o.getStatus());
-//        return summaryResource;
-//    }
+    private static Resource createWorkflowNodeDetail (WorkflowNodeDetail o){
+        WorkflowNodeDetailResource nodeDetailResource = new WorkflowNodeDetailResource();
+        ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
+        nodeDetailResource.setExperimentResource(experimentResource);
+        nodeDetailResource.setCreationTime(o.getCreationTime());
+        nodeDetailResource.setNodeInstanceId(o.getNodeId());
+        nodeDetailResource.setNodeName(o.getNodeName());
+        return nodeDetailResource;
+    }
 
-//    private static Resource createExperimentInput (Experiment_Input o){
-//        ExperimentInputResource eInputResource = new ExperimentInputResource();
-//        ExperimentMetadataResource metadata = (ExperimentMetadataResource)createExperimentMetadata(o.getExperiment_metadata());
-//        eInputResource.setExperimentMetadataResource(metadata);
-//        eInputResource.setExperimentKey(o.getEx_key());
-//        eInputResource.setValue(o.getValue());
-//        return eInputResource;
-//    }
+    private static Resource createTaskDetail(TaskDetail o){
+        TaskDetailResource taskDetailResource = new TaskDetailResource();
+        WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetail());
+        taskDetailResource.setWorkflowNodeDetailResource(nodeDetailResource);
+        taskDetailResource.setCreationTime(o.getCreationTime());
+        taskDetailResource.setTaskId(o.getTaskId());
+        taskDetailResource.setApplicationId(o.getAppId());
+        taskDetailResource.setApplicationVersion(o.getAppVersion());
+        return taskDetailResource;
+    }
 
-//    private static Resource createExperimentOutput (Experiment_Output o){
-//        ExperimentOutputResource eOutputResource = new ExperimentOutputResource();
-//        ExperimentMetadataResource metadata = (ExperimentMetadataResource)createExperimentMetadata(o.getExperiment_metadata());
-//        eOutputResource.setExperimentMetadataResource(metadata);
-//        eOutputResource.setExperimentKey(o.getEx_key());
-//        eOutputResource.setValue(o.getValue());
-//        return eOutputResource;
-//    }
+    private static Resource createErrorDetail (ErrorDetail o){
+        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);
+        errorDetailResource.setErrorId(o.getErrorID());
+        errorDetailResource.setCreationTime(o.getCreationTime());
+        errorDetailResource.setActualErrorMsg(o.getActualErrorMsg());
+        errorDetailResource.setUserFriendlyErrorMsg(o.getUserFriendlyErrorMsg());
+        errorDetailResource.setTransientPersistent(o.isTransientPersistent());
+        errorDetailResource.setErrorCategory(o.getErrorCategory());
+        errorDetailResource.setCorrectiveAction(o.getCorrectiveAction());
+        errorDetailResource.setActionableGroup(o.getActionableGroup());
+        return errorDetailResource;
+    }
 
-    /**
-     *
-     * @param o  Workflow_Data model object
+    private static Resource createApplicationInput (ApplicationInput o){
+        ApplicationInputResource inputResource = new ApplicationInputResource();
+        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+        inputResource.setTaskDetailResource(taskDetailResource);
+        inputResource.setInputKey(o.getInputKey());
+        inputResource.setInputType(o.getInputKeyType());
+        inputResource.setValue(o.getValue());
+        inputResource.setMetadata(o.getMetadata());
+        return inputResource;
+    }
+
+    private static Resource createApplicationOutput (ApplicationOutput o){
+        ApplicationOutputResource outputResource = new ApplicationOutputResource();
+        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+        outputResource.setTaskDetailResource(taskDetailResource);
+        outputResource.setOutputType(o.getOutputKeyType());
+        outputResource.setOutputKey(o.getOutputKey());
+        outputResource.setValue(o.getValue());
+        outputResource.setMetadata(o.getMetadata());
+        return outputResource;
+    }
+
+    private static Resource createNodeInput (NodeInput o){
+        NodeInputResource inputResource = new NodeInputResource();
+        WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetails());
+        inputResource.setNodeDetailResource(nodeDetailResource);
+        inputResource.setInputKey(o.getInputKey());
+        inputResource.setInputType(o.getInputKeyType());
+        inputResource.setValue(o.getValue());
+        inputResource.setMetadata(o.getMetadata());
+        return inputResource;
+    }
+
+    private static Resource createNodeOutput (NodeOutput o){
+        NodeOutputResource outputResource = new NodeOutputResource();
+        WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNode());
+        outputResource.setNodeDetailResource(nodeDetailResource);
+        outputResource.setOutputType(o.getOutputKeyType());
+        outputResource.setOutputKey(o.getOutputKey());
+        outputResource.setValue(o.getValue());
+        outputResource.setMetadata(o.getMetadata());
+        return outputResource;
+    }
+
+    private static Resource createJobDetail (JobDetail o){
+        JobDetailResource jobDetailResource = new JobDetailResource();
+        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+        jobDetailResource.setTaskDetailResource(taskDetailResource);
+        jobDetailResource.setJobDescription(o.getJobDescription());
+        jobDetailResource.setJobId(o.getJobId());
+        jobDetailResource.setCreationTime(o.getCreationTime());
+        return jobDetailResource;
+    }
+
+    private static Resource createDataTransferResource (DataTransferDetail o){
+        DataTransferDetailResource transferDetailResource = new DataTransferDetailResource();
+        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+        transferDetailResource.setTaskDetailResource(taskDetailResource);
+        transferDetailResource.setTransferId(o.getTransferId());
+        transferDetailResource.setCreationTime(o.getCreationTime());
+        transferDetailResource.setTransferDescription(o.getTransferDesc());
+        return transferDetailResource;
+    }
+
+    private static Resource createStatusResource (Status o){
+        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);
+        statusResource.setStatusId(o.getStatusId());
+        statusResource.setJobId(o.getJobId());
+        statusResource.setState(o.getState());
+        statusResource.setStatusUpdateTime(o.getStatusUpdateTime());
+        statusResource.setStatusType(o.getStatusType());
+        return statusResource;
+    }
+
+    private static Resource createExConfigDataResource (ExperimentConfigData o){
+        ConfigDataResource configDataResource = new ConfigDataResource();
+        ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
+        configDataResource.setExperimentResource(experimentResource);
+        configDataResource.setAiravataAutoSchedule(o.isAiravataAutoSchedule());
+        configDataResource.setOverrideManualParams(o.isOverrideManualParams());
+        configDataResource.setShareExp(o.isShareExp());
+        return configDataResource;
+    }
+
+    private static Resource createComputationalScheduling (Computational_Resource_Scheduling o){
+        ComputationSchedulingResource schedulingResource = new ComputationSchedulingResource();
+        ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
+        schedulingResource.setExperimentResource(experimentResource);
+        TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
+        schedulingResource.setTaskDetailResource(taskDetailResource);
+        schedulingResource.setSchedulingId(o.getSchedulingId());
+        schedulingResource.setResourceHostId(o.getResourceHostId());
+        schedulingResource.setCpuCount(o.getCpuCount());
+        schedulingResource.setNodeCount(o.getNodeCount());
+        schedulingResource.setNumberOfThreads(o.getNumberOfThreads());
+        schedulingResource.setQueueName(o.getQueueName());
+        schedulingResource.setWalltimeLimit(o.getWallTimeLimit());
+        schedulingResource.setJobStartTime(o.getJobStartTime());
+        schedulingResource.setPhysicalMemory(o.getTotalPhysicalmemory());
+        schedulingResource.setProjectName(o.getProjectName());
+        return schedulingResource;
+    }
+
+        /**
+         *
+         * @param o  Workflow_Data model object
      * @return  WorkflowDataResource object
      */
 //    private static Resource createWorkflowData(Workflow_Data o){

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2e21ce/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index 59ea82d..304cad6 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -130,7 +130,7 @@ CREATE TABLE EXPERIMENT
         GATEWAY_NAME VARCHAR(255),
         EXECUTION_USER VARCHAR(255),
         PROJECT_NAME VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        CREATION_TIME TIMESTAMP DEFAULT NOW(),
         EXPERIMENT_NAME VARCHAR(255),
         EXPERIMENT_DESCRIPTION VARCHAR(255),
         APPLICATION_ID VARCHAR(255),
@@ -140,6 +140,7 @@ CREATE TABLE EXPERIMENT
         WORKFLOW_EXECUTION_ID VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID),
         FOREIGN KEY (GATEWAY_NAME) REFERENCES GATEWAY(GATEWAY_NAME) ON DELETE CASCADE,
+        FOREIGN KEY (EXECUTION_USER) REFERENCES USERS(EXECUTION_USER) ON DELETE CASCADE,
         FOREIGN KEY (PROJECT_NAME) REFERENCES PROJECT(PROJECT_NAME) ON DELETE CASCADE
 );
 
@@ -169,7 +170,7 @@ CREATE TABLE WORKFLOW_NODE_DETAIL
 (
         EXPERIMENT_ID VARCHAR(255),
         NODE_INSTANCE_ID VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        CREATION_TIME TIMESTAMP DEFAULT NOW(),
         NODE_NAME VARCHAR(255),
         PRIMARY KEY(NODE_INSTANCE_ID),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
@@ -179,7 +180,7 @@ CREATE TABLE TASK_DETAIL
 (
         TASK_ID VARCHAR(255),
         NODE_INSTANCE_ID VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        CREATION_TIME TIMESTAMP DEFAULT NOW(),
         APPLICATION_ID VARCHAR(255),
         APPLICATION_VERSION VARCHAR(255),
         PRIMARY KEY(TASK_ID),
@@ -192,7 +193,7 @@ CREATE TABLE ERROR_DETAIL
          EXPERIMENT_ID VARCHAR(255),
          TASK_ID VARCHAR(255),
          NODE_INSTANCE_ID VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+         CREATION_TIME TIMESTAMP DEFAULT NOW(),
          ACTUAL_ERROR_MESSAGE LONGTEXT,
          USER_FRIEDNLY_ERROR_MSG VARCHAR(255),
          TRANSIENT_OR_PERSISTENT SMALLINT,
@@ -254,7 +255,7 @@ CREATE TABLE JOB_DETAIL
         JOB_ID VARCHAR(255),
         TASK_ID VARCHAR(255),
         JOB_DESCRIPTION VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        CREATION_TIME TIMESTAMP DEFAULT NOW(),
         PRIMARY KEY (TASK_ID, JOB_ID),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -263,7 +264,7 @@ CREATE TABLE DATA_TRANSFER_DETAIL
 (
         TRANSFER_ID VARCHAR(255),
         TASK_ID VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        CREATION_TIME TIMESTAMP DEFAULT NOW(),
         TRANSFER_DESC VARCHAR(255),
         PRIMARY KEY(TRANSFER_ID),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE


Mime
View raw message