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
|