You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/06/02 04:07:13 UTC
[2/4] airavata git commit: some improvements to experiment-catalog
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 6e6d2ee..4619c33 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
@@ -40,12 +40,26 @@ import java.util.List;
public class JobDetailResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(JobDetailResource.class);
private String jobId;
- private TaskDetailResource taskDetailResource;
+ private String taskId;
private String jobDescription;
private Timestamp creationTime;
private String computeResourceConsumed;
private String jobName;
private String workingDir;
+ private StatusResource jobStatus;
+ private List<ErrorDetailResource> errors;
+
+ public void setJobStatus(StatusResource jobStatus) {
+ this.jobStatus = jobStatus;
+ }
+
+ public List<ErrorDetailResource> getErrors() {
+ return errors;
+ }
+
+ public void setErrors(List<ErrorDetailResource> errors) {
+ this.errors = errors;
+ }
public String getJobName() {
return jobName;
@@ -71,12 +85,12 @@ public class JobDetailResource extends AbstractResource {
this.jobId = jobId;
}
- public TaskDetailResource getTaskDetailResource() {
- return taskDetailResource;
+ public String getTaskId() {
+ return taskId;
}
- public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
- this.taskDetailResource = taskDetailResource;
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
}
public String getJobDescription() {
@@ -273,16 +287,14 @@ public class JobDetailResource extends AbstractResource {
EntityManager em = null;
try {
em = ResourceUtils.getEntityManager();
- JobDetail existingJobDetail = em.find(JobDetail.class, new JobDetails_PK(jobId, taskDetailResource.getTaskId()));
+ JobDetail existingJobDetail = em.find(JobDetail.class, new JobDetails_PK(jobId, taskId));
em.close();
em = ResourceUtils.getEntityManager();
em.getTransaction().begin();
JobDetail jobDetail = new JobDetail();
- TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
jobDetail.setJobId(jobId);
- jobDetail.setTask(taskDetail);
- jobDetail.setTaskId(taskDetailResource.getTaskId());
+ jobDetail.setTaskId(taskId);
jobDetail.setCreationTime(creationTime);
jobDetail.setJobName(jobName);
jobDetail.setWorkingDir(workingDir);
@@ -292,8 +304,7 @@ public class JobDetailResource extends AbstractResource {
jobDetail.setComputeResourceConsumed(computeResourceConsumed);
if (existingJobDetail != null) {
existingJobDetail.setJobId(jobId);
- existingJobDetail.setTask(taskDetail);
- existingJobDetail.setTaskId(taskDetailResource.getTaskId());
+ existingJobDetail.setTaskId(taskId);
existingJobDetail.setCreationTime(creationTime);
if (jobDescription != null) {
existingJobDetail.setJobDescription(jobDescription.toCharArray());
@@ -320,7 +331,11 @@ public class JobDetailResource extends AbstractResource {
}
}
- public StatusResource getJobStatus() throws RegistryException{
+ public StatusResource getJobStatus() {
+ return jobStatus;
+ }
+
+ public StatusResource getJobStatus1() throws RegistryException{
List<Resource> resources = get(ResourceType.STATUS);
for (Resource resource : resources) {
StatusResource jobStatus = (StatusResource) resource;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 4efb8a4..4e38472 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
public class NodeInputResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(NodeInputResource.class);
- private WorkflowNodeDetailResource nodeDetailResource;
+ private String nodeId;
private String inputKey;
private String dataType;
private String metadata;
@@ -99,12 +99,12 @@ public class NodeInputResource extends AbstractResource {
this.userFriendlyDesc = userFriendlyDesc;
}
- public WorkflowNodeDetailResource getNodeDetailResource() {
- return nodeDetailResource;
+ public String getNodeId() {
+ return nodeId;
}
- public void setNodeDetailResource(WorkflowNodeDetailResource nodeDetailResource) {
- this.nodeDetailResource = nodeDetailResource;
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
}
public String getInputKey() {
@@ -175,15 +175,13 @@ public class NodeInputResource extends AbstractResource {
EntityManager em = null;
try {
em = ResourceUtils.getEntityManager();
- NodeInput existingInput = em.find(NodeInput.class, new NodeInput_PK(inputKey, nodeDetailResource.getNodeInstanceId()));
+ NodeInput existingInput = em.find(NodeInput.class, new NodeInput_PK(inputKey, nodeId));
em.close();
em = ResourceUtils.getEntityManager();
em.getTransaction().begin();
NodeInput nodeInput = new NodeInput();
- WorkflowNodeDetail nodeDetail = em.find(WorkflowNodeDetail.class, nodeDetailResource.getNodeInstanceId());
- nodeInput.setNodeDetails(nodeDetail);
- nodeInput.setNodeId(nodeDetail.getNodeId());
+ nodeInput.setNodeId(nodeId);
nodeInput.setInputKey(inputKey);
nodeInput.setDataType(dataType);
nodeInput.setValue(value);
@@ -197,8 +195,7 @@ public class NodeInputResource extends AbstractResource {
nodeInput.setDataStaged(dataStaged);
if (existingInput != null){
- existingInput.setNodeDetails(nodeDetail);
- existingInput.setNodeId(nodeDetail.getNodeId());
+ existingInput.setNodeId(nodeId);
existingInput.setInputKey(inputKey);
existingInput.setDataType(dataType);
existingInput.setValue(value);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 ceb323b..24459b0 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
public class NodeOutputResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(NodeOutputResource.class);
- private WorkflowNodeDetailResource nodeDetailResource;
+ private String nodeId;
private String outputKey;
private String dataType;
private String value;
@@ -98,12 +98,12 @@ public class NodeOutputResource extends AbstractResource {
this.dataNameLocation = dataNameLocation;
}
- public WorkflowNodeDetailResource getNodeDetailResource() {
- return nodeDetailResource;
+ public String getNodeId() {
+ return nodeId;
}
- public void setNodeDetailResource(WorkflowNodeDetailResource nodeDetailResource) {
- this.nodeDetailResource = nodeDetailResource;
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
}
public String getOutputKey() {
@@ -159,15 +159,13 @@ public class NodeOutputResource extends AbstractResource {
EntityManager em = null;
try {
em = ResourceUtils.getEntityManager();
- NodeOutput existingOutput = em.find(NodeOutput.class, new NodeOutput_PK(outputKey, nodeDetailResource.getNodeInstanceId()));
+ NodeOutput existingOutput = em.find(NodeOutput.class, new NodeOutput_PK(outputKey, nodeId));
em.close();
em = ResourceUtils.getEntityManager();
em.getTransaction().begin();
NodeOutput nodeOutput = new NodeOutput();
- WorkflowNodeDetail nodeDetail = em.find(WorkflowNodeDetail.class, nodeDetailResource.getNodeInstanceId());
- nodeOutput.setNode(nodeDetail);
- nodeOutput.setNodeId(nodeDetail.getNodeId());
+ nodeOutput.setNodeId(nodeId);
nodeOutput.setOutputKey(outputKey);
nodeOutput.setDataType(dataType);
nodeOutput.setValue(value);
@@ -179,8 +177,7 @@ public class NodeOutputResource extends AbstractResource {
nodeOutput.setSearchQuery(searchQuery);
if (existingOutput != null) {
- existingOutput.setNode(nodeDetail);
- existingOutput.setNodeId(nodeDetail.getNodeId());
+ existingOutput.setNodeId(nodeId);
existingOutput.setOutputKey(outputKey);
existingOutput.setDataType(dataType);
existingOutput.setValue(value);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NotificationEmailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NotificationEmailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NotificationEmailResource.java
index 5ac864f..fc29b13 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NotificationEmailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NotificationEmailResource.java
@@ -36,8 +36,8 @@ public class NotificationEmailResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(NotificationEmailResource.class);
private int emailId = 0;
- private ExperimentResource experimentResource;
- private TaskDetailResource taskDetailResource;
+ private String experimentId;
+ private String taskId;
private String emailAddress;
@@ -49,20 +49,20 @@ public class NotificationEmailResource extends AbstractResource {
this.emailAddress = emailAddress;
}
- public ExperimentResource getExperimentResource() {
- return experimentResource;
+ public String getExperimentId() {
+ return experimentId;
}
- public void setExperimentResource(ExperimentResource experimentResource) {
- this.experimentResource = experimentResource;
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
}
- public TaskDetailResource getTaskDetailResource() {
- return taskDetailResource;
+ public String getTaskId() {
+ return taskId;
}
- public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
- this.taskDetailResource = taskDetailResource;
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
}
public Resource create(ResourceType type) throws RegistryException {
@@ -97,14 +97,8 @@ public class NotificationEmailResource extends AbstractResource {
}else {
notification_email = new Notification_Email();
}
- Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
- notification_email.setExperiment(experiment);
- notification_email.setExperiment_id(experiment.getExpId());
- if (taskDetailResource != null){
- TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
- notification_email.setTaskDetail(taskDetail);
- notification_email.setTaskId(taskDetail.getTaskId());
- }
+ notification_email.setExperiment_id(experimentId);
+ notification_email.setTaskId(taskId);
notification_email.setEmailAddress(emailAddress);
em.persist(notification_email);
emailId = notification_email.getEmailId();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
index 4dc4160..4d73de2 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
@@ -41,7 +41,7 @@ public class ProjectResource extends AbstractResource {
private final static Logger logger = LoggerFactory.getLogger(ProjectResource.class);
private String name;
private String id;
- private GatewayResource gateway;
+ private String gatewayId;
private WorkerResource worker;
private String description;
private Timestamp creationTime;
@@ -54,27 +54,15 @@ public class ProjectResource extends AbstractResource {
/**
*
- * @param worker gateway worker
- * @param gateway gateway
- * @param projectId project name
- */
- public ProjectResource(WorkerResource worker, GatewayResource gateway, String projectId) {
- this.setWorker(worker);
- this.setGateway(gateway);
- this.id = projectId;
- }
-
- /**
- *
* @param type child resource type
* @return child resource
*/
public Resource create(ResourceType type) throws RegistryException {
if (type == ResourceType.EXPERIMENT) {
ExperimentResource experimentResource = new ExperimentResource();
- experimentResource.setGateway(getGateway());
+ experimentResource.setGatewayId(gatewayId);
experimentResource.setExecutionUser(worker.getUser());
- experimentResource.setProject(this);
+ experimentResource.setProjectId(id);
return experimentResource;
} else if (type == ResourceType.PROJECT_USER){
ProjectUserResource pr = new ProjectUserResource();
@@ -348,9 +336,7 @@ public class ProjectResource extends AbstractResource {
Project project = new Project();
project.setProject_id(id);
project.setProject_name(name);
- Gateway modelGateway = em.find(Gateway.class, gateway.getGatewayId());
- project.setGateway(modelGateway);
- project.setGateway_id(modelGateway.getGateway_id());
+ project.setGateway_id(gatewayId);
Users user = em.find(Users.class, worker.getUser());
project.setUsers(user);
project.setUser_name(user.getUser_name());
@@ -359,8 +345,7 @@ public class ProjectResource extends AbstractResource {
if (existingProject != null) {
existingProject.setProject_name(name);
- existingProject.setGateway(modelGateway);
- existingProject.setGateway_id(modelGateway.getGateway_id());
+ existingProject.setGateway_id(gatewayId);
existingProject.setUsers(user);
existingProject.setUser_name(user.getUser_name());
existingProject.setDescription(description);
@@ -425,21 +410,13 @@ public class ProjectResource extends AbstractResource {
this.worker = worker;
}
- /**
- *
- * @return gateway resource
- */
- public GatewayResource getGateway() {
- return gateway;
- }
+ public String getGatewayId() {
+ return gatewayId;
+ }
- /**
- *
- * @param gateway gateway resource
- */
- public void setGateway(GatewayResource gateway) {
- this.gateway = gateway;
- }
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
public String getDescription() {
return description;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java
index 6f906cd..f9a8b33 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java
@@ -37,8 +37,8 @@ import java.util.List;
public class QosParamResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(QosParamResource.class);
private int qosId;
- private ExperimentResource experimentResource;
- private TaskDetailResource taskDetailResource;
+ private String experimentId;
+ private String taskId;
private String startExecutionAt;
private String executeBefore;
private int noOfRetries;
@@ -51,20 +51,20 @@ public class QosParamResource extends AbstractResource {
this.qosId = qosId;
}
- public ExperimentResource getExperimentResource() {
- return experimentResource;
+ public String getExperimentId() {
+ return experimentId;
}
- public void setExperimentResource(ExperimentResource experimentResource) {
- this.experimentResource = experimentResource;
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
}
- public TaskDetailResource getTaskDetailResource() {
- return taskDetailResource;
+ public String getTaskId() {
+ return taskId;
}
- public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
- this.taskDetailResource = taskDetailResource;
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
}
public String getStartExecutionAt() {
@@ -122,14 +122,8 @@ public class QosParamResource extends AbstractResource {
em = ResourceUtils.getEntityManager();
em.getTransaction().begin();
QosParam qosParam = new QosParam();
- Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
- if (taskDetailResource != null) {
- TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
- qosParam.setTaskId(taskDetailResource.getTaskId());
- qosParam.setTask(taskDetail);
- }
- qosParam.setExpId(experimentResource.getExpID());
- qosParam.setExperiment(experiment);
+ qosParam.setTaskId(taskId);
+ qosParam.setExpId(experimentId);
qosParam.setStartExecutionAt(startExecutionAt);
qosParam.setExecuteBefore(executeBefore);
qosParam.setNoOfRetries(noOfRetries);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 169e1c7..cecf925 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
@@ -36,10 +36,10 @@ import java.util.List;
public class StatusResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(StatusResource.class);
private int statusId = 0;
- private ExperimentResource experimentResource;
- private WorkflowNodeDetailResource workflowNodeDetail;
- private DataTransferDetailResource dataTransferDetail;
- private TaskDetailResource taskDetailResource;
+ private String experimentId;
+ private String nodeId;
+ private String transferId;
+ private String taskId;
private String jobId;
private String state;
private Timestamp statusUpdateTime;
@@ -53,36 +53,36 @@ public class StatusResource extends AbstractResource {
this.statusId = statusId;
}
- public ExperimentResource getExperimentResource() {
- return experimentResource;
+ public String getExperimentId() {
+ return experimentId;
}
- public void setExperimentResource(ExperimentResource experimentResource) {
- this.experimentResource = experimentResource;
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
}
- public WorkflowNodeDetailResource getWorkflowNodeDetail() {
- return workflowNodeDetail;
+ public String getNodeId() {
+ return nodeId;
}
- public void setWorkflowNodeDetail(WorkflowNodeDetailResource workflowNodeDetail) {
- this.workflowNodeDetail = workflowNodeDetail;
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
}
- public DataTransferDetailResource getDataTransferDetail() {
- return dataTransferDetail;
+ public String getTransferId() {
+ return transferId;
}
- public void setDataTransferDetail(DataTransferDetailResource dataTransferDetail) {
- this.dataTransferDetail = dataTransferDetail;
+ public void setTransferId(String transferId) {
+ this.transferId = transferId;
}
- public TaskDetailResource getTaskDetailResource() {
- return taskDetailResource;
+ public String getTaskId() {
+ return taskId;
}
- public void setTaskDetailResource(TaskDetailResource taskDetailResource) {
- this.taskDetailResource = taskDetailResource;
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
}
public String getJobId() {
@@ -154,25 +154,11 @@ public class StatusResource extends AbstractResource {
} else {
status = new Status();
}
- Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
- if (taskDetailResource != null) {
- TaskDetail taskDetail = em.find(TaskDetail.class, taskDetailResource.getTaskId());
- status.setTask(taskDetail);
- status.setTaskId(taskDetailResource.getTaskId());
- }
- if (workflowNodeDetail != null) {
- WorkflowNodeDetail nodeDetail = em.find(WorkflowNodeDetail.class, workflowNodeDetail.getNodeInstanceId());
- status.setNode(nodeDetail);
- status.setNodeId(workflowNodeDetail.getNodeInstanceId());
- }
- if (dataTransferDetail != null) {
- DataTransferDetail transferDetail = em.find(DataTransferDetail.class, dataTransferDetail.getTransferId());
- status.setTransferDetail(transferDetail);
- status.setTransferId(dataTransferDetail.getTransferId());
- }
- status.setExperiment(experiment);
+ status.setExpId(experimentId);
+ status.setTaskId(taskId);
+ status.setNodeId(nodeId);
+ status.setTransferId(transferId);
status.setJobId(jobId);
- status.setExpId(experimentResource.getExpID());
status.setState(state);
status.setStatusUpdateTime(statusUpdateTime);
status.setStatusType(statusType);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
index 791c9f9..995704e 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java
@@ -40,12 +40,90 @@ import java.util.List;
public class TaskDetailResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(TaskDetailResource.class);
private String taskId;
- private WorkflowNodeDetailResource workflowNodeDetailResource;
+ private String nodeId;
private Timestamp creationTime;
private String applicationId;
private String applicationVersion;
private String applicationDeploymentId;
private boolean enableEmailNotifications;
+ private List<ApplicationInputResource> applicationInputs;
+ private List<ApplicationOutputResource> applicationOutputs;
+ private ComputationSchedulingResource schedulingResource;
+ private AdvanceInputDataHandlingResource inputDataHandlingResource;
+ private AdvancedOutputDataHandlingResource outputDataHandlingResource;
+ private StatusResource taskStatus;
+ private List<JobDetailResource> jobDetailResources;
+ private List<DataTransferDetailResource> transferDetailResourceList;
+ private List<NotificationEmailResource> emailResourceList;
+ private List<ErrorDetailResource> errors;
+
+ public List<JobDetailResource> getJobDetailResources() {
+ return jobDetailResources;
+ }
+
+ public void setJobDetailResources(List<JobDetailResource> jobDetailResources) {
+ this.jobDetailResources = jobDetailResources;
+ }
+
+ public void setApplicationInputs(List<ApplicationInputResource> applicationInputs) {
+ this.applicationInputs = applicationInputs;
+ }
+
+ public void setApplicationOutputs(List<ApplicationOutputResource> applicationOutputs) {
+ this.applicationOutputs = applicationOutputs;
+ }
+
+ public ComputationSchedulingResource getSchedulingResource() {
+ return schedulingResource;
+ }
+
+ public void setSchedulingResource(ComputationSchedulingResource schedulingResource) {
+ this.schedulingResource = schedulingResource;
+ }
+
+ public AdvanceInputDataHandlingResource getInputDataHandlingResource() {
+ return inputDataHandlingResource;
+ }
+
+ public void setInputDataHandlingResource(AdvanceInputDataHandlingResource inputDataHandlingResource) {
+ this.inputDataHandlingResource = inputDataHandlingResource;
+ }
+
+ public AdvancedOutputDataHandlingResource getOutputDataHandlingResource() {
+ return outputDataHandlingResource;
+ }
+
+ public void setOutputDataHandlingResource(AdvancedOutputDataHandlingResource outputDataHandlingResource) {
+ this.outputDataHandlingResource = outputDataHandlingResource;
+ }
+
+ public void setTaskStatus(StatusResource taskStatus) {
+ this.taskStatus = taskStatus;
+ }
+
+ public List<DataTransferDetailResource> getTransferDetailResourceList() {
+ return transferDetailResourceList;
+ }
+
+ public void setTransferDetailResourceList(List<DataTransferDetailResource> transferDetailResourceList) {
+ this.transferDetailResourceList = transferDetailResourceList;
+ }
+
+ public List<NotificationEmailResource> getEmailResourceList() {
+ return emailResourceList;
+ }
+
+ public void setEmailResourceList(List<NotificationEmailResource> emailResourceList) {
+ this.emailResourceList = emailResourceList;
+ }
+
+ public List<ErrorDetailResource> getErrors() {
+ return errors;
+ }
+
+ public void setErrors(List<ErrorDetailResource> errors) {
+ this.errors = errors;
+ }
public boolean isEnableEmailNotifications() {
return enableEmailNotifications;
@@ -63,12 +141,12 @@ public class TaskDetailResource extends AbstractResource {
this.taskId = taskId;
}
- public WorkflowNodeDetailResource getWorkflowNodeDetailResource() {
- return workflowNodeDetailResource;
+ public String getNodeId() {
+ return nodeId;
}
- public void setWorkflowNodeDetailResource(WorkflowNodeDetailResource workflowNodeDetailResource) {
- this.workflowNodeDetailResource = workflowNodeDetailResource;
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
}
public Timestamp getCreationTime() {
@@ -100,47 +178,47 @@ public class TaskDetailResource extends AbstractResource {
switch (type){
case ERROR_DETAIL:
ErrorDetailResource errorDetailResource = new ErrorDetailResource();
- errorDetailResource.setTaskDetailResource(this);
+ errorDetailResource.setTaskId(taskId);
return errorDetailResource;
case NOTIFICATION_EMAIL:
NotificationEmailResource emailResource = new NotificationEmailResource();
- emailResource.setTaskDetailResource(this);
+ emailResource.setTaskId(taskId);
return emailResource;
case APPLICATION_INPUT:
ApplicationInputResource applicationInputResource = new ApplicationInputResource();
- applicationInputResource.setTaskDetailResource(this);
+ applicationInputResource.setTaskId(taskId);
return applicationInputResource;
case APPLICATION_OUTPUT:
ApplicationOutputResource applicationOutputResource = new ApplicationOutputResource();
- applicationOutputResource.setTaskDetailResource(this);
+ applicationOutputResource.setTaskId(taskId);
return applicationOutputResource;
case JOB_DETAIL:
JobDetailResource jobDetailResource = new JobDetailResource();
- jobDetailResource.setTaskDetailResource(this);
+ jobDetailResource.setTaskId(taskId);
return jobDetailResource;
case DATA_TRANSFER_DETAIL:
DataTransferDetailResource dataTransferDetailResource = new DataTransferDetailResource();
- dataTransferDetailResource.setTaskDetailResource(this);
+ dataTransferDetailResource.setTaskId(taskId);
return dataTransferDetailResource;
case STATUS:
StatusResource statusResource = new StatusResource();
- statusResource.setTaskDetailResource(this);
+ statusResource.setTaskId(taskId);
return statusResource;
case COMPUTATIONAL_RESOURCE_SCHEDULING:
ComputationSchedulingResource schedulingResource = new ComputationSchedulingResource();
- schedulingResource.setTaskDetailResource(this);
+ schedulingResource.setTaskId(taskId);
return schedulingResource;
case ADVANCE_INPUT_DATA_HANDLING:
AdvanceInputDataHandlingResource inputDataHandlingResource = new AdvanceInputDataHandlingResource();
- inputDataHandlingResource.setTaskDetailResource(this);
+ inputDataHandlingResource.setTaskId(taskId);
return inputDataHandlingResource;
case ADVANCE_OUTPUT_DATA_HANDLING:
AdvancedOutputDataHandlingResource outputDataHandlingResource = new AdvancedOutputDataHandlingResource();
- outputDataHandlingResource.setTaskDetailResource(this);
+ outputDataHandlingResource.setTaskId(taskId);
return outputDataHandlingResource;
case QOS_PARAM:
QosParamResource qosParamResource = new QosParamResource();
- qosParamResource.setTaskDetailResource(this);
+ qosParamResource.setTaskId(taskId);
return qosParamResource;
default:
logger.error("Unsupported resource type for task detail resource.", new IllegalArgumentException());
@@ -513,13 +591,12 @@ public class TaskDetailResource extends AbstractResource {
em.close();
em = ResourceUtils.getEntityManager();
em.getTransaction().begin();
- WorkflowNodeDetail workflowNodeDetail = em.find(WorkflowNodeDetail.class, workflowNodeDetailResource.getNodeInstanceId());
if (taskDetail != null) {
- updateTaskDetail(taskDetail, workflowNodeDetail);
+ updateTaskDetail(taskDetail, nodeId);
em.merge(taskDetail);
} else {
taskDetail = new TaskDetail();
- updateTaskDetail(taskDetail, workflowNodeDetail);
+ updateTaskDetail(taskDetail, nodeId);
em.persist(taskDetail);
}
em.getTransaction().commit();
@@ -536,11 +613,9 @@ public class TaskDetailResource extends AbstractResource {
}
}
- private void updateTaskDetail(TaskDetail taskDetail,
- WorkflowNodeDetail workflowNodeDetail) {
+ private void updateTaskDetail(TaskDetail taskDetail, String nodeId) {
taskDetail.setTaskId(taskId);
- taskDetail.setNodeDetail(workflowNodeDetail);
- taskDetail.setNodeId(workflowNodeDetailResource.getNodeInstanceId());
+ taskDetail.setNodeId(nodeId);
taskDetail.setCreationTime(creationTime);
taskDetail.setAppId(applicationId);
taskDetail.setAppVersion(applicationVersion);
@@ -548,7 +623,15 @@ public class TaskDetailResource extends AbstractResource {
taskDetail.setApplicationDeploymentId(getApplicationDeploymentId());
}
- public List<ApplicationInputResource> getApplicationInputs() throws RegistryException{
+ public List<ApplicationInputResource> getApplicationInputs() {
+ return applicationInputs;
+ }
+
+ public List<ApplicationOutputResource> getApplicationOutputs() {
+ return applicationOutputs;
+ }
+
+ public List<ApplicationInputResource> getApplicationInputs1() throws RegistryException{
List<ApplicationInputResource> applicationInputResources = new ArrayList<ApplicationInputResource>();
List<Resource> resources = get(ResourceType.APPLICATION_INPUT);
for (Resource resource : resources) {
@@ -558,7 +641,7 @@ public class TaskDetailResource extends AbstractResource {
return applicationInputResources;
}
- public List<ApplicationOutputResource> getApplicationOutputs() throws RegistryException{
+ public List<ApplicationOutputResource> getApplicationOutputs1() throws RegistryException{
List<ApplicationOutputResource> outputResources = new ArrayList<ApplicationOutputResource>();
List<Resource> resources = get(ResourceType.APPLICATION_OUTPUT);
for (Resource resource : resources) {
@@ -568,7 +651,11 @@ public class TaskDetailResource extends AbstractResource {
return outputResources;
}
- public StatusResource getTaskStatus() throws RegistryException{
+ public StatusResource getTaskStatus() {
+ return taskStatus;
+ }
+
+ public StatusResource getTaskStatus1() throws RegistryException{
List<Resource> resources = get(ResourceType.STATUS);
for (Resource resource : resources) {
StatusResource taskStatus = (StatusResource) resource;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 24b4049..ae42089 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
@@ -31,6 +31,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Collection;
import java.util.Iterator;
@@ -380,8 +382,7 @@ public class Utils {
if (o != null){
projectResource.setId(o.getProject_id());
projectResource.setName(o.getProject_name());
- GatewayResource gatewayResource = (GatewayResource)createGateway(o.getGateway());
- projectResource.setGateway(gatewayResource);
+ projectResource.setGatewayId(o.getGateway_id());
Gateway_Worker gateway_worker = new Gateway_Worker();
gateway_worker.setGateway(o.getGateway());
gateway_worker.setUser(o.getUsers());
@@ -428,11 +429,10 @@ public class Utils {
*/
private static Resource createGatewayWorker(Gateway_Worker o) {
if (o != null){
- GatewayResource gatewayResource = new GatewayResource(o.getGateway().getGateway_id());
- gatewayResource.setDomain(o.getGateway().getGateway_name());
- gatewayResource.setDomain(o.getGateway().getDomain());
- gatewayResource.setEmailAddress(o.getGateway().getEmailAddress());
- return new WorkerResource(o.getUser_name(), gatewayResource);
+ WorkerResource workerResource = new WorkerResource();
+ workerResource.setGatewayId(o.getGateway_id());
+ workerResource.setUser(o.getUser_name());
+ return workerResource;
}
return null;
}
@@ -459,13 +459,9 @@ public class Utils {
private static Resource createExperiment(Experiment o) {
ExperimentResource experimentResource = new ExperimentResource();
if (o != null){
- GatewayResource gatewayResource = (GatewayResource)createGateway(o.getGateway());
- experimentResource.setGateway(gatewayResource);
+ experimentResource.setGatewayId(o.getGatewayId());
experimentResource.setExecutionUser(o.getExecutionUser());
- if (o.getProject() != null){
- ProjectResource projectResource = (ProjectResource)createProject(o.getProject());
- experimentResource.setProject(projectResource);
- }
+ experimentResource.setProjectId(o.getProjectID());
experimentResource.setExpID(o.getExpId());
experimentResource.setExpName(o.getExpName());
experimentResource.setCreationTime(o.getCreationTime());
@@ -477,8 +473,39 @@ public class Utils {
experimentResource.setWorkflowExecutionId(o.getWorkflowExecutionId());
experimentResource.setEnableEmailNotifications(o.isAllowNotification());
experimentResource.setGatewayExecutionId(o.getGatewayExecutionId());
- }
+ if (o.getExperimentInputs() != null && !o.getExperimentInputs().isEmpty()){
+ experimentResource.setExperimentInputResources(getExperimentInputs(o.getExperimentInputs()));
+ }
+ if (o.getExperimentOutputs() != null && !o.getExperimentOutputs().isEmpty()){
+ experimentResource.setExperimentOutputputResources(getExperimentOutputs(o.getExperimentOutputs()));
+ }
+ if (o.getResourceScheduling() != null){
+ experimentResource.setComputationSchedulingResource((ComputationSchedulingResource)createComputationalScheduling(o.getResourceScheduling()));
+ }
+ if (o.getUserConfigurationData() != null){
+ experimentResource.setUserConfigDataResource((ConfigDataResource)createExConfigDataResource(o.getUserConfigurationData()));
+ }
+
+ if (o.getWorkflowNodeDetails() != null && !o.getWorkflowNodeDetails().isEmpty()){
+ experimentResource.setWorkflowNodeDetailResourceList(getWorkflowNodeLit(o.getWorkflowNodeDetails()));
+ }
+
+ if (o.getStateChangeList() != null && !o.getStateChangeList().isEmpty()){
+ experimentResource.setStateChangeList(getStateChangeList(o.getStateChangeList()));
+ }
+
+ if (o.getErrorDetails() != null && !o.getErrorDetails().isEmpty()){
+ experimentResource.setErrorDetailList(getErrorList(o.getErrorDetails()));
+ }
+ if (o.getExperimentStatus() != null){
+ experimentResource.setExperimentStatus((StatusResource)createStatusResource(o.getExperimentStatus()));
+ }
+
+ if (o.getNotificationEmails() != null && !o.getNotificationEmails().isEmpty()){
+ experimentResource.setEmailResourceList(getEmailList(o.getNotificationEmails()));
+ }
+ }
return experimentResource;
}
@@ -493,40 +520,127 @@ public class Utils {
experimentSummaryResource.setExecutionUser(o.getExecutionUser());
experimentSummaryResource.setExpID(o.getExpId());
experimentSummaryResource.setExpName(o.getExpName());
- experimentSummaryResource.setProjectID(o.getProjectId());
+ experimentSummaryResource.setProjectID(o.getProjectID());
experimentSummaryResource.setCreationTime(o.getCreationTime());
experimentSummaryResource.setDescription(o.getExpDesc());
experimentSummaryResource.setApplicationId(o.getApplicationId());
- Collection<Status> statusList = o.getStatuses();
- if(statusList != null && statusList.size()>0){
- Iterator<Status> statusIterator = statusList.iterator();
- while(statusIterator.hasNext()){
- Status status = statusIterator.next();
- if(status.getStatusType().equals(StatusType.EXPERIMENT.toString())){
- StatusResource statusResource = new StatusResource();
- statusResource.setStatusId(status.getStatusId());
- statusResource.setJobId(status.getJobId());
- statusResource.setState(status.getState());
- statusResource.setStatusUpdateTime(status.getStatusUpdateTime());
- statusResource.setStatusType(status.getStatusType());
- experimentSummaryResource.setStatus(statusResource);
- break;
- }
- }
+ Status experimentStatus = o.getExperimentStatus();
+ if(experimentStatus != null) {
+ StatusResource statusResource = new StatusResource();
+ statusResource.setStatusId(experimentStatus.getStatusId());
+ statusResource.setJobId(experimentStatus.getJobId());
+ statusResource.setState(experimentStatus.getState());
+ statusResource.setStatusUpdateTime(experimentStatus.getStatusUpdateTime());
+ statusResource.setStatusType(experimentStatus.getStatusType());
+ experimentSummaryResource.setStatus(statusResource);
}
}
return experimentSummaryResource;
}
+ private static List<ExperimentInputResource> getExperimentInputs(List<Experiment_Input> inputs){
+ List<ExperimentInputResource> inputResources = new ArrayList<ExperimentInputResource>();
+ for (Experiment_Input input : inputs){
+ inputResources.add((ExperimentInputResource)createExperimentInput(input));
+ }
+ return inputResources;
+ }
+
+ private static List<ExperimentOutputResource> getExperimentOutputs(List<Experiment_Output> outputs){
+ List<ExperimentOutputResource> outputResources = new ArrayList<>();
+ for (Experiment_Output output : outputs){
+ outputResources.add((ExperimentOutputResource) createExperimentOutput(output));
+ }
+ return outputResources;
+ }
+
+ private static List<NodeInputResource> getNodeInputs(List<NodeInput> inputs){
+ List<NodeInputResource> inputResources = new ArrayList<NodeInputResource>();
+ for (NodeInput input : inputs){
+ inputResources.add((NodeInputResource)createNodeInput(input));
+ }
+ return inputResources;
+ }
+
+ private static List<NodeOutputResource> getNodeOutputs(List<NodeOutput> outputs){
+ List<NodeOutputResource> outputResources = new ArrayList<>();
+ for (NodeOutput output : outputs){
+ outputResources.add((NodeOutputResource) createNodeOutput(output));
+ }
+ return outputResources;
+ }
+
+ private static List<ApplicationInputResource> getApplicationInputs(List<ApplicationInput> inputs){
+ List<ApplicationInputResource> inputResources = new ArrayList<ApplicationInputResource>();
+ for (ApplicationInput input : inputs){
+ inputResources.add((ApplicationInputResource)createApplicationInput(input));
+ }
+ return inputResources;
+ }
+
+ private static List<ApplicationOutputResource> getApplicationOutputs(List<ApplicationOutput> outputs){
+ List<ApplicationOutputResource> outputResources = new ArrayList<>();
+ for (ApplicationOutput output : outputs){
+ outputResources.add((ApplicationOutputResource) createApplicationOutput(output));
+ }
+ return outputResources;
+ }
+
+ private static List<WorkflowNodeDetailResource> getWorkflowNodeLit(List<WorkflowNodeDetail> nodes){
+ List<WorkflowNodeDetailResource> nodeList = new ArrayList<>();
+ for (WorkflowNodeDetail node : nodes){
+ nodeList.add((WorkflowNodeDetailResource) createWorkflowNodeDetail(node));
+ }
+ return nodeList;
+ }
+
+ private static List<StatusResource> getStateChangeList(List<Status> statusList){
+ List<StatusResource> changeList = new ArrayList<>();
+ for (Status status : statusList){
+ changeList.add((StatusResource) createStatusResource(status));
+ }
+ return changeList;
+ }
+
+ private static List<ErrorDetailResource> getErrorList(List<ErrorDetail> errorDetails){
+ List<ErrorDetailResource> errors = new ArrayList<>();
+ for (ErrorDetail error : errorDetails){
+ errors.add((ErrorDetailResource) createErrorDetail(error));
+ }
+ return errors;
+ }
+
+ private static List<JobDetailResource> getJobDetails(List<JobDetail> jobDetails){
+ List<JobDetailResource> resources = new ArrayList<>();
+ for (JobDetail jobDetail : jobDetails){
+ resources.add((JobDetailResource) createJobDetail(jobDetail));
+ }
+ return resources;
+ }
+
+ private static List<DataTransferDetailResource> getDTDetails(List<DataTransferDetail> dataTransferDetails){
+ List<DataTransferDetailResource> resources = new ArrayList<>();
+ for (DataTransferDetail detail : dataTransferDetails){
+ resources.add((DataTransferDetailResource) createDataTransferResource(detail));
+ }
+ return resources;
+ }
+
+ private static List<NotificationEmailResource> getEmailList(List<Notification_Email> emails){
+ List<NotificationEmailResource> emailResources = new ArrayList<>();
+ for (Notification_Email email : emails){
+ emailResources.add((NotificationEmailResource) createNotificationEmail(email));
+ }
+ return emailResources;
+ }
+
private static Resource createNotificationEmail (Notification_Email o){
NotificationEmailResource emailResource = new NotificationEmailResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- emailResource.setExperimentResource(experimentResource);
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTaskDetail());
- emailResource.setTaskDetailResource(taskDetailResource);
+ emailResource.setExperimentId(o.getExperiment_id());
+ emailResource.setTaskId(o.getTaskId());
emailResource.setEmailAddress(o.getEmailAddress());
}
return emailResource;
@@ -535,8 +649,7 @@ public class Utils {
private static Resource createExperimentInput (Experiment_Input o){
ExperimentInputResource eInputResource = new ExperimentInputResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- eInputResource.setExperimentResource(experimentResource);
+ eInputResource.setExperimentId(o.getExperiment_id());
eInputResource.setDataType(o.getDataType());
eInputResource.setMetadata(o.getMetadata());
eInputResource.setExperimentKey(o.getEx_key());
@@ -547,11 +660,9 @@ public class Utils {
eInputResource.setRequired(o.isRequired());
eInputResource.setRequiredToCMD(o.isRequiredToCMD());
eInputResource.setDataStaged(o.isDataStaged());
-
if (o.getValue() != null){
eInputResource.setValue(new String(o.getValue()));
}
-
}
return eInputResource;
}
@@ -559,8 +670,7 @@ public class Utils {
private static Resource createExperimentOutput (Experiment_Output o){
ExperimentOutputResource eOutputResource = new ExperimentOutputResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- eOutputResource.setExperimentResource(experimentResource);
+ eOutputResource.setExperimentId(o.getExperiment_id());
eOutputResource.setExperimentKey(o.getEx_key());
if (o.getValue() != null){
eOutputResource.setValue(new String(o.getValue()));
@@ -579,29 +689,85 @@ public class Utils {
private static Resource createWorkflowNodeDetail (WorkflowNodeDetail o){
WorkflowNodeDetailResource nodeDetailResource = new WorkflowNodeDetailResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- nodeDetailResource.setExperimentResource(experimentResource);
+ nodeDetailResource.setExperimentId(o.getExpId());
nodeDetailResource.setCreationTime(o.getCreationTime());
nodeDetailResource.setNodeInstanceId(o.getNodeId());
nodeDetailResource.setNodeName(o.getNodeName());
nodeDetailResource.setExecutionUnit(o.getExecutionUnit());
nodeDetailResource.setExecutionUnitData(o.getExecutionUnitData());
+ if (o.getTaskDetails() != null && !o.getErrorDetails().isEmpty()){
+ nodeDetailResource.setTaskDetailResourceList(getTaskDetails(o.getTaskDetails()));
+ }
+
+ if (o.getNodeInputs() != null && !o.getNodeInputs().isEmpty()){
+ nodeDetailResource.setNodeInputs(getNodeInputs(o.getNodeInputs()));
+ }
+
+ if (o.getNodeOutputs() != null && !o.getNodeOutputs().isEmpty()){
+ nodeDetailResource.setNodeOutputs(getNodeOutputs(o.getNodeOutputs()));
+ }
+ if (o.getNodeStatus() != null){
+ nodeDetailResource.setNodeStatus((StatusResource) createStatusResource(o.getNodeStatus()));
+ }
+
+ if (o.getErrorDetails() != null && !o.getErrorDetails().isEmpty()){
+ nodeDetailResource.setErros(getErrorList(o.getErrorDetails()));
+ }
}
return nodeDetailResource;
}
+ private static List<TaskDetailResource> getTaskDetails (List<TaskDetail> taskDetails){
+ List<TaskDetailResource> tasks = new ArrayList<>();
+ for (TaskDetail detail : taskDetails){
+ tasks.add((TaskDetailResource) createTaskDetail(detail));
+ }
+ return tasks;
+ }
+
private static Resource createTaskDetail(TaskDetail o){
TaskDetailResource taskDetailResource = new TaskDetailResource();
if ( o != null){
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetail());
- taskDetailResource.setWorkflowNodeDetailResource(nodeDetailResource);
+ taskDetailResource.setNodeId(o.getNodeId());
taskDetailResource.setCreationTime(o.getCreationTime());
taskDetailResource.setTaskId(o.getTaskId());
taskDetailResource.setApplicationId(o.getAppId());
taskDetailResource.setApplicationVersion(o.getAppVersion());
taskDetailResource.setApplicationDeploymentId(o.getApplicationDeploymentId());
taskDetailResource.setEnableEmailNotifications(o.isAllowNotification());
+ if (o.getApplicationInputs() != null && !o.getApplicationInputs().isEmpty()){
+ taskDetailResource.setApplicationInputs(getApplicationInputs(o.getApplicationInputs()));
+ }
+ if (o.getApplicationOutputs() != null && !o.getApplicationOutputs().isEmpty()){
+ taskDetailResource.setApplicationOutputs(getApplicationOutputs(o.getApplicationOutputs()));
+ }
+ if (o.getResourceScheduling() != null){
+ taskDetailResource.setSchedulingResource((ComputationSchedulingResource) createComputationalScheduling(o.getResourceScheduling()));
+
+ }
+ if (o.getInputDataHandling() != null){
+ taskDetailResource.setInputDataHandlingResource((AdvanceInputDataHandlingResource) createAdvancedInputDataResource(o.getInputDataHandling()));
+ }
+ if (o.getOutputDataHandling() != null){
+ taskDetailResource.setOutputDataHandlingResource((AdvancedOutputDataHandlingResource) createAdvancedOutputDataResource(o.getOutputDataHandling()));
+ }
+ if (o.getErrorDetails() != null && !o.getErrorDetails().isEmpty()){
+ taskDetailResource.setErrors(getErrorList(o.getErrorDetails()));
+ }
+ if (o.getTaskStatus() != null){
+ taskDetailResource.setTaskStatus((StatusResource) createStatusResource(o.getTaskStatus()));
+ }
+ if (o.getNotificationEmails() != null && !o.getNotificationEmails().isEmpty()){
+ taskDetailResource.setEmailResourceList(getEmailList(o.getNotificationEmails()));
+ }
+ if (o.getJobDetails() != null && !o.getJobDetails().isEmpty()){
+ taskDetailResource.setJobDetailResources(getJobDetails(o.getJobDetails()));
+ }
+ if (o.getDataTransferDetails() != null && !o.getDataTransferDetails().isEmpty()){
+ taskDetailResource.setTransferDetailResourceList(getDTDetails(o.getDataTransferDetails()));
+ }
+
}
return taskDetailResource;
}
@@ -609,16 +775,9 @@ public class Utils {
private static Resource createErrorDetail (ErrorDetail o){
ErrorDetailResource errorDetailResource = new ErrorDetailResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- errorDetailResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- errorDetailResource.setTaskDetailResource(taskDetailResource);
- }
- if (o.getNodeDetails() != null){
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetails());
- errorDetailResource.setNodeDetail(nodeDetailResource);
- }
+ errorDetailResource.setExperimentId(o.getExpId());
+ errorDetailResource.setTaskId(o.getTaskId());
+ errorDetailResource.setNodeId(o.getNodeId());
errorDetailResource.setErrorId(o.getErrorID());
errorDetailResource.setJobId(o.getJobId());
errorDetailResource.setCreationTime(o.getCreationTime());
@@ -638,8 +797,7 @@ public class Utils {
private static Resource createApplicationInput (ApplicationInput o){
ApplicationInputResource inputResource = new ApplicationInputResource();
if (o != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- inputResource.setTaskDetailResource(taskDetailResource);
+ inputResource.setTaskId(o.getTaskId());
inputResource.setInputKey(o.getInputKey());
inputResource.setDataType(o.getDataType());
inputResource.setAppArgument(o.getAppArgument());
@@ -660,8 +818,7 @@ public class Utils {
private static Resource createApplicationOutput (ApplicationOutput o){
ApplicationOutputResource outputResource = new ApplicationOutputResource();
if (o != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- outputResource.setTaskDetailResource(taskDetailResource);
+ outputResource.setTaskId(o.getTaskId());
outputResource.setDataType(o.getDataType());
outputResource.setOutputKey(o.getOutputKey());
if (o.getValue() != null){
@@ -680,8 +837,7 @@ public class Utils {
private static Resource createNodeInput (NodeInput o){
NodeInputResource inputResource = new NodeInputResource();
if (o != null){
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNodeDetails());
- inputResource.setNodeDetailResource(nodeDetailResource);
+ inputResource.setNodeId(o.getNodeId());
inputResource.setInputKey(o.getInputKey());
inputResource.setDataType(o.getDataType());
inputResource.setValue(o.getValue());
@@ -700,8 +856,7 @@ public class Utils {
private static Resource createNodeOutput (NodeOutput o){
NodeOutputResource outputResource = new NodeOutputResource();
if (o != null){
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNode());
- outputResource.setNodeDetailResource(nodeDetailResource);
+ outputResource.setNodeId(o.getNodeId());
outputResource.setDataType(o.getDataType());
outputResource.setOutputKey(o.getOutputKey());
outputResource.setValue(o.getValue());
@@ -719,8 +874,7 @@ public class Utils {
private static Resource createJobDetail (JobDetail o){
JobDetailResource jobDetailResource = new JobDetailResource();
if (o != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- jobDetailResource.setTaskDetailResource(taskDetailResource);
+ jobDetailResource.setTaskId(o.getTaskId());
if (o.getJobDescription() != null){
jobDetailResource.setJobDescription(new String(o.getJobDescription()));
}
@@ -729,7 +883,8 @@ public class Utils {
jobDetailResource.setComputeResourceConsumed(o.getComputeResourceConsumed());
jobDetailResource.setJobName(o.getJobName());
jobDetailResource.setWorkingDir(o.getWorkingDir());
-
+ jobDetailResource.setJobStatus((StatusResource)createStatusResource(o.getJobStatus()));
+ jobDetailResource.setErrors(getErrorList(o.getErrorDetails()));
}
return jobDetailResource;
@@ -738,14 +893,15 @@ public class Utils {
private static Resource createDataTransferResource (DataTransferDetail o){
DataTransferDetailResource transferDetailResource = new DataTransferDetailResource();
if (o != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- transferDetailResource.setTaskDetailResource(taskDetailResource);
+ transferDetailResource.setTaskId(o.getTaskId());
transferDetailResource.setTransferId(o.getTransferId());
transferDetailResource.setCreationTime(o.getCreationTime());
if (o.getTransferDesc() != null){
transferDetailResource.setTransferDescription(new String(o.getTransferDesc()));
}
-
+ if (o.getDataTransferStatus() != null){
+ transferDetailResource.setDatatransferStatus((StatusResource)createStatusResource(o.getDataTransferStatus()));
+ }
}
return transferDetailResource;
}
@@ -753,20 +909,10 @@ public class Utils {
private static Resource createStatusResource (Status o){
StatusResource statusResource = new StatusResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- statusResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- statusResource.setTaskDetailResource(taskDetailResource);
- }
- if (o.getNode() != null){
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource)createWorkflowNodeDetail(o.getNode());
- statusResource.setWorkflowNodeDetail(nodeDetailResource);
- }
- if (o.getTransferDetail() != null){
- DataTransferDetailResource transferDetailResource = (DataTransferDetailResource)createDataTransferResource(o.getTransferDetail());
- statusResource.setDataTransferDetail(transferDetailResource);
- }
+ statusResource.setExperimentId(o.getExpId());
+ statusResource.setTaskId(o.getTaskId());
+ statusResource.setNodeId(o.getNodeId());
+ statusResource.setTransferId(o.getTransferId());
statusResource.setStatusId(o.getStatusId());
statusResource.setJobId(o.getJobId());
statusResource.setState(o.getState());
@@ -780,13 +926,25 @@ public class Utils {
private static Resource createExConfigDataResource (ExperimentConfigData o){
ConfigDataResource configDataResource = new ConfigDataResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- configDataResource.setExperimentResource(experimentResource);
+ configDataResource.setExperimentId(o.getExpId());
configDataResource.setAiravataAutoSchedule(o.isAiravataAutoSchedule());
configDataResource.setOverrideManualParams(o.isOverrideManualParams());
configDataResource.setShareExp(o.isShareExp());
configDataResource.setUserDn(o.getUserDn());
configDataResource.setGenerateCert(o.isGenerateCert());
+ if (o.getOutputDataHandling() != null){
+ configDataResource.setAdvancedOutputDataHandlingResource((AdvancedOutputDataHandlingResource) createAdvancedOutputDataResource(o.getOutputDataHandling()));
+ }
+ if (o.getInputDataHandling() != null){
+ configDataResource.setAdvanceInputDataHandlingResource((AdvanceInputDataHandlingResource) createAdvancedInputDataResource(o.getInputDataHandling()));
+ }
+ if (o.getResourceScheduling() != null){
+ configDataResource.setComputationSchedulingResource((ComputationSchedulingResource) createComputationalScheduling(o.getResourceScheduling()));
+ }
+ if (o.getQosParam() != null){
+ configDataResource.setQosParamResource((QosParamResource) createQosParamResource(o.getQosParam()));
+ }
+
}
return configDataResource;
}
@@ -794,12 +952,8 @@ public class Utils {
private static Resource createComputationalScheduling (Computational_Resource_Scheduling o){
ComputationSchedulingResource schedulingResource = new ComputationSchedulingResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- schedulingResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- schedulingResource.setTaskDetailResource(taskDetailResource);
- }
+ schedulingResource.setExperimentId(o.getExpId());
+ schedulingResource.setTaskId(o.getTaskId());
schedulingResource.setSchedulingId(o.getSchedulingId());
schedulingResource.setResourceHostId(o.getResourceHostId());
schedulingResource.setCpuCount(o.getCpuCount());
@@ -819,12 +973,8 @@ public class Utils {
private static Resource createAdvancedInputDataResource (AdvancedInputDataHandling o){
AdvanceInputDataHandlingResource dataHandlingResource = new AdvanceInputDataHandlingResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- dataHandlingResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- dataHandlingResource.setTaskDetailResource(taskDetailResource);
- }
+ dataHandlingResource.setExperimentId(o.getExpId());
+ dataHandlingResource.setTaskId(o.getTaskId());
dataHandlingResource.setDataHandlingId(o.getDataHandlingId());
dataHandlingResource.setWorkingDirParent(o.getParentWorkingDir());
dataHandlingResource.setWorkingDir(o.getWorkingDir());
@@ -838,12 +988,8 @@ public class Utils {
private static Resource createAdvancedOutputDataResource (AdvancedOutputDataHandling o){
AdvancedOutputDataHandlingResource dataHandlingResource = new AdvancedOutputDataHandlingResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- dataHandlingResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- dataHandlingResource.setTaskDetailResource(taskDetailResource);
- }
+ dataHandlingResource.setExperimentId(o.getExpId());
+ dataHandlingResource.setTaskId(o.getTaskId());
dataHandlingResource.setOutputDataHandlingId(o.getOutputDataHandlingId());
dataHandlingResource.setOutputDataDir(o.getOutputDataDir());
dataHandlingResource.setDataRegUrl(o.getDataRegUrl());
@@ -855,12 +1001,8 @@ public class Utils {
private static Resource createQosParamResource (QosParam o){
QosParamResource qosParamResource = new QosParamResource();
if (o != null){
- ExperimentResource experimentResource = (ExperimentResource)createExperiment(o.getExperiment());
- qosParamResource.setExperimentResource(experimentResource);
- if (o.getTask() != null){
- TaskDetailResource taskDetailResource = (TaskDetailResource)createTaskDetail(o.getTask());
- qosParamResource.setTaskDetailResource(taskDetailResource);
- }
+ qosParamResource.setExperimentId(o.getExpId());
+ qosParamResource.setTaskId(o.getTaskId());
qosParamResource.setQosId(o.getQosId());
qosParamResource.setExecuteBefore(o.getExecuteBefore());
qosParamResource.setStartExecutionAt(o.getStartExecutionAt());
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
index 60b003f..a9f0b38 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
@@ -49,23 +49,23 @@ import java.util.UUID;
public class WorkerResource extends AbstractResource {
private final static Logger logger = LoggerFactory.getLogger(WorkerResource.class);
private String user;
- private GatewayResource gateway;
+ private String gatewayId;
- /**
- *
- */
public WorkerResource() {
}
- /**
- *
- * @param user username
- * @param gateway gatewayResource
- */
- public WorkerResource(String user, GatewayResource gateway) {
- this.setUser(user);
- this.gateway=gateway;
- }
+ public WorkerResource(String user, String gatewayId) {
+ this.user = user;
+ this.gatewayId = gatewayId;
+ }
+
+ public String getGatewayId() {
+ return gatewayId;
+ }
+
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
/**
* Gateway worker can create child data structures such as projects and user workflows
@@ -78,13 +78,13 @@ public class WorkerResource extends AbstractResource {
case PROJECT:
ProjectResource projectResource = new ProjectResource();
projectResource.setWorker(this);
- projectResource.setGateway(gateway);
+ projectResource.setGatewayId(gatewayId);
result=projectResource;
break;
case EXPERIMENT:
ExperimentResource experimentResource = new ExperimentResource();
experimentResource.setExecutionUser(user);
- experimentResource.setGateway(gateway);
+ experimentResource.setGatewayId(gatewayId);
result = experimentResource;
break;
default:
@@ -259,9 +259,11 @@ public class WorkerResource extends AbstractResource {
case PROJECT:
generator = new QueryGenerator(PROJECT);
Users users = em.find(Users.class, getUser());
- Gateway gatewayModel = em.find(Gateway.class, gateway.getGatewayId());
+ Gateway gatewayModel = em.find(Gateway.class, gatewayId);
generator.setParameter("users", users);
- generator.setParameter("gateway", gatewayModel);
+ if (gatewayModel != null){
+ generator.setParameter("gateway", gatewayModel);
+ }
//ordering - only supported only by CREATION_TIME
if(orderByIdentifier != null && resultOrderType != null
@@ -334,7 +336,7 @@ public class WorkerResource extends AbstractResource {
EntityManager em = null;
try {
em = ResourceUtils.getEntityManager();
- Gateway_Worker existingWorker = em.find(Gateway_Worker.class, new Gateway_Worker_PK(gateway.getGatewayId(), user));
+ Gateway_Worker existingWorker = em.find(Gateway_Worker.class, new Gateway_Worker_PK(gatewayId, user));
em.close();
em = ResourceUtils.getEntityManager();
@@ -343,14 +345,11 @@ public class WorkerResource extends AbstractResource {
Users existingUser = em.find(Users.class, this.user);
gatewayWorker.setUser(existingUser);
gatewayWorker.setUser_name(existingUser.getUser_name());
- Gateway gatewaymodel = em.find(Gateway.class, gateway.getGatewayId());
- gatewayWorker.setGateway(gatewaymodel);
- gatewayWorker.setGateway_id(gatewaymodel.getGateway_id());
+ gatewayWorker.setGateway_id(gatewayId);
if (existingWorker != null) {
existingWorker.setUser_name(existingUser.getUser_name());
existingWorker.setUser(existingUser);
- existingWorker.setGateway(gatewaymodel);
- existingWorker.setGateway_id(gatewaymodel.getGateway_id());
+ existingWorker.setGateway_id(gatewayId);
gatewayWorker = em.merge(existingWorker);
} else {
em.persist(gatewayWorker);
@@ -388,22 +387,6 @@ public class WorkerResource extends AbstractResource {
/**
*
- * @return gateway resource
- */
- public GatewayResource getGateway() {
- return gateway;
- }
-
- /**
- *
- * @param gateway gateway resource
- */
- public void setGateway(GatewayResource gateway) {
- this.gateway = gateway;
- }
-
- /**
- *
* @param id project id
* @return whether the project is available under the user
*/
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java
index 9d2869d..0775f77 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java
@@ -39,19 +39,56 @@ import java.util.List;
public class WorkflowNodeDetailResource extends AbstractResource {
private static final Logger logger = LoggerFactory.getLogger(WorkflowNodeDetailResource.class);
- private ExperimentResource experimentResource;
+ private String experimentId;
private String nodeInstanceId;
private Timestamp creationTime;
private String nodeName;
private String executionUnit;
private String executionUnitData;
+ private List<TaskDetailResource> taskDetailResourceList;
+ private List<NodeInputResource> nodeInputs;
+ private List<NodeOutputResource> nodeOutputs;
+ private StatusResource nodeStatus;
+ private List<ErrorDetailResource> erros;
- public ExperimentResource getExperimentResource() {
- return experimentResource;
+ public List<TaskDetailResource> getTaskDetailResourceList() {
+ return taskDetailResourceList;
}
- public void setExperimentResource(ExperimentResource experimentResource) {
- this.experimentResource = experimentResource;
+ public void setTaskDetailResourceList(List<TaskDetailResource> taskDetailResourceList) {
+ this.taskDetailResourceList = taskDetailResourceList;
+ }
+
+ public void setNodeInputs(List<NodeInputResource> nodeInputs) {
+ this.nodeInputs = nodeInputs;
+ }
+
+ public void setNodeOutputs(List<NodeOutputResource> nodeOutputs) {
+ this.nodeOutputs = nodeOutputs;
+ }
+
+ public StatusResource getNodeStatus() {
+ return nodeStatus;
+ }
+
+ public void setNodeStatus(StatusResource nodeStatus) {
+ this.nodeStatus = nodeStatus;
+ }
+
+ public List<ErrorDetailResource> getErros() {
+ return erros;
+ }
+
+ public void setErros(List<ErrorDetailResource> erros) {
+ this.erros = erros;
+ }
+
+ public String getExperimentId() {
+ return experimentId;
+ }
+
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
}
public String getNodeInstanceId() {
@@ -82,23 +119,23 @@ public class WorkflowNodeDetailResource extends AbstractResource {
switch (type){
case TASK_DETAIL:
TaskDetailResource taskDetailResource = new TaskDetailResource();
- taskDetailResource.setWorkflowNodeDetailResource(this);
+ taskDetailResource.setNodeId(nodeInstanceId);
return taskDetailResource;
case ERROR_DETAIL:
ErrorDetailResource errorDetailResource = new ErrorDetailResource();
- errorDetailResource.setNodeDetail(this);
+ errorDetailResource.setNodeId(nodeInstanceId);;
return errorDetailResource;
case NODE_INPUT:
NodeInputResource nodeInputResource = new NodeInputResource();
- nodeInputResource.setNodeDetailResource(this);
+ nodeInputResource.setNodeId(nodeInstanceId);
return nodeInputResource;
case NODE_OUTPUT:
NodeOutputResource nodeOutputResource = new NodeOutputResource();
- nodeOutputResource.setNodeDetailResource(this);
+ nodeOutputResource.setNodeId(nodeInstanceId);
return nodeOutputResource;
case STATUS:
StatusResource statusResource = new StatusResource();
- statusResource.setWorkflowNodeDetail(this);
+ statusResource.setNodeId(nodeInstanceId);
return statusResource;
default:
logger.error("Unsupported resource type for workflow node detail resource.", new IllegalArgumentException());
@@ -349,17 +386,14 @@ public class WorkflowNodeDetailResource extends AbstractResource {
em.getTransaction().begin();
WorkflowNodeDetail workflowNodeDetail = new WorkflowNodeDetail();
workflowNodeDetail.setNodeId(nodeInstanceId);
- Experiment experiment = em.find(Experiment.class, experimentResource.getExpID());
- workflowNodeDetail.setExperiment(experiment);
- workflowNodeDetail.setExpId(experimentResource.getExpID());
+ workflowNodeDetail.setExpId(experimentId);
workflowNodeDetail.setCreationTime(creationTime);
workflowNodeDetail.setNodeName(nodeName);
workflowNodeDetail.setExecutionUnit(getExecutionUnit());
workflowNodeDetail.setExecutionUnitData(getExecutionUnitData());
if (existingNode != null) {
- existingNode.setExperiment(experiment);
- existingNode.setExpId(experimentResource.getExpID());
+ existingNode.setExpId(experimentId);
existingNode.setCreationTime(creationTime);
existingNode.setNodeName(nodeName);
existingNode.setExecutionUnit(getExecutionUnit());
@@ -383,7 +417,15 @@ public class WorkflowNodeDetailResource extends AbstractResource {
}
}
- public List<NodeInputResource> getNodeInputs() throws RegistryException{
+ public List<NodeInputResource> getNodeInputs() {
+ return nodeInputs;
+ }
+
+ public List<NodeOutputResource> getNodeOutputs() {
+ return nodeOutputs;
+ }
+
+ public List<NodeInputResource> getNodeInputs1() throws RegistryException{
List<NodeInputResource> nodeInputResourceList = new ArrayList<NodeInputResource>();
List<Resource> resources = get(ResourceType.NODE_INPUT);
for (Resource resource : resources) {
@@ -393,7 +435,7 @@ public class WorkflowNodeDetailResource extends AbstractResource {
return nodeInputResourceList;
}
- public List<NodeOutputResource> getNodeOutputs() throws RegistryException{
+ public List<NodeOutputResource> getNodeOutputs1() throws RegistryException{
List<NodeOutputResource> outputResources = new ArrayList<NodeOutputResource>();
List<Resource> resources = get(ResourceType.NODE_OUTPUT);
for (Resource resource : resources) {
@@ -421,12 +463,12 @@ public class WorkflowNodeDetailResource extends AbstractResource {
List<Resource> resources = get(ResourceType.STATUS);
for (Resource resource : resources) {
StatusResource taskStatus = (StatusResource) resource;
- if(taskStatus.getStatusType().equals(StatusType.TASK.toString()) && taskStatus.getTaskDetailResource().getTaskId().equals(taskId)){
+ if(taskStatus.getStatusType().equals(StatusType.TASK.toString()) && taskStatus.getTaskId().equals(taskId)){
if (taskStatus.getState() == null || taskStatus.getState().equals("") ){
taskStatus.setState("UNKNOWN");
}
return taskStatus;
- }
+ }
}
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
index 53b3919..28c5604 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
@@ -21,6 +21,7 @@
package org.apache.airavata.persistance.registry.jpa.utils;
+import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.model.appcatalog.appinterface.DataType;
import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
@@ -84,9 +85,7 @@ public class ThriftDataModelConversion {
public static Experiment getExperiment(ExperimentResource experimentResource) throws RegistryException {
if (experimentResource != null){
Experiment experiment = new Experiment();
- if (experimentResource.getProject()!= null){
- experiment.setProjectID(experimentResource.getProject().getId());
- }
+ experiment.setProjectID(experimentResource.getProjectId());
experiment.setExperimentID(experimentResource.getExpID());
experiment.setCreationTime(experimentResource.getCreationTime().getTime());
experiment.setUserName(experimentResource.getExecutionUser());
@@ -124,9 +123,8 @@ public class ThriftDataModelConversion {
if (errorDetails!= null && !errorDetails.isEmpty()){
experiment.setErrors(getErrorDetailList(errorDetails));
}
- String expID = experimentResource.getExpID();
- if (experimentResource.isExists(ResourceType.CONFIG_DATA, expID)){
- ConfigDataResource userConfigData = experimentResource.getUserConfigData(expID);
+ if (experimentResource.isExists(ResourceType.CONFIG_DATA, experimentResource.getExpID())){
+ ConfigDataResource userConfigData = experimentResource.getUserConfigData(experimentResource.getExpID());
experiment.setUserConfigurationData(getUserConfigData(userConfigData));
}
return experiment;
@@ -385,7 +383,11 @@ public class ThriftDataModelConversion {
status.setState("UNKNOWN");
}
jobStatus.setJobState(JobState.valueOf(status.getState()));
- jobStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
+ if (status.getStatusUpdateTime() == null){
+ jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+ }else {
+ jobStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
+ }
return jobStatus;
}
return null;
@@ -599,8 +601,9 @@ public class ThriftDataModelConversion {
data.setShareExperimentPublicly(resource.isShareExp());
data.setUserDN(resource.getUserDn());
data.setGenerateCert(resource.isGenerateCert());
- ExperimentResource experimentResource = resource.getExperimentResource();
- String expID = experimentResource.getExpID();
+ String expID = resource.getExperimentId();
+ ExperimentResource experimentResource = new ExperimentResource();
+ experimentResource.setExpID(expID);
if (experimentResource.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, expID)){
ComputationSchedulingResource computationScheduling = experimentResource.getComputationScheduling(expID);
data.setComputationalResourceScheduling(getComputationalResourceScheduling(computationScheduling));