You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/06/20 23:02:01 UTC
[10/11] airavata git commit: Fixing minor issues and fixing the
registry test cases
http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index b8d8b3c..7c31498 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -21,15 +21,20 @@
package org.apache.airavata.registry.core.experiment.catalog.impl;
-import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.model.commons.ErrorModel;
-import org.apache.airavata.model.commons.airavata_commonsConstants;
-import org.apache.airavata.model.experiment.*;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.experiment.ExperimentStatistics;
+import org.apache.airavata.model.experiment.ExperimentSummaryModel;
+import org.apache.airavata.model.experiment.UserConfigurationDataModel;
import org.apache.airavata.model.job.JobModel;
+import org.apache.airavata.model.process.ProcessModel;
import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
-import org.apache.airavata.model.status.*;
+import org.apache.airavata.model.status.ExperimentState;
+import org.apache.airavata.model.status.ExperimentStatus;
+import org.apache.airavata.model.status.JobStatus;
+import org.apache.airavata.model.status.TaskStatus;
import org.apache.airavata.model.task.TaskModel;
import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
@@ -41,12 +46,14 @@ import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
import org.apache.airavata.registry.cpi.RegistryException;
import org.apache.airavata.registry.cpi.ResultOrderType;
import org.apache.airavata.registry.cpi.utils.Constants;
-import org.apache.airavata.registry.cpi.utils.StatusType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.Timestamp;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
public class ExperimentRegistry {
private GatewayResource gatewayResource;
@@ -64,122 +71,124 @@ public class ExperimentRegistry {
}
public String addExperiment(ExperimentModel experiment, String gatewayId) throws RegistryException {
- String experimentID;
- try {
- if (!ExpCatResourceUtils.isUserExist(experiment.getUserName())) {
- ExpCatResourceUtils.addUser(experiment.getUserName(), null);
- }
-
- experimentID = getExperimentID(experiment.getExperimentName());
- experiment.setExperimentId(experimentID);
- ExperimentResource experimentResource = new ExperimentResource();
- experimentResource.setExpID(experimentID);
- experimentResource.setExpName(experiment.getExperimentName());
- experimentResource.setExecutionUser(experiment.getUserName());
- experimentResource.setGatewayId(gatewayId);
- experimentResource.setGatewayExecutionId(experiment.getGatewayExecutionId());
- experimentResource.setEnableEmailNotifications(experiment.isEnableEmailNotification());
- if (!workerResource.isProjectExists(experiment.getProjectId())) {
- logger.error("Project does not exist in the system..");
- throw new Exception("Project does not exist in the system, Please create the project first...");
- }
- experimentResource.setProjectId(experiment.getProjectId());
- experimentResource.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime()));
- experimentResource.setDescription(experiment.getDescription());
- experimentResource.setApplicationId(experiment.getExecutionId());
- experimentResource.save();
-
- List<String> emailAddresses = experiment.getEmailAddresses();
- if (emailAddresses != null && !emailAddresses.isEmpty()){
- for (String email : emailAddresses){
- NotificationEmailResource emailResource = new NotificationEmailResource();
- emailResource.setExperimentId(experimentID);
- emailResource.setEmailAddress(email);
- emailResource.save();
- }
- }
-
- List<InputDataObjectType> experimentInputs = experiment.getExperimentInputs();
- if (experimentInputs != null) {
- addExpInputs(experimentInputs, experimentResource);
- }
-
- UserConfigurationDataModel userConfigurationData = experiment.getUserConfigurationData();
- if (userConfigurationData != null) {
- addUserConfigData(userConfigurationData, experimentID);
- }
-
- List<OutputDataObjectType> experimentOutputs = experiment.getExperimentOutputs();
- if (experimentOutputs != null && !experimentOutputs.isEmpty()) {
- //TODO: short change.
-// for (DataObjectType output : experimentOutputs){
-// output.setValue("");
-// }
- addExpOutputs(experimentOutputs, experimentID);
- }
-
-// ExperimentStatus experimentStatus = experiment.getExperimentStatus();
-// if (experimentStatus != null){
-// updateExperimentStatus(experimentStatus, experimentID);
-// }else {
- ExperimentStatus experimentStatus = new ExperimentStatus();
- experimentStatus.setState(ExperimentState.CREATED);
- updateExperimentStatus(experimentStatus, experimentID);
-// }
-
-// List<WorkflowNodeDetails> workflowNodeDetailsList = experiment.getWorkflowNodeDetailsList();
-// if (workflowNodeDetailsList != null && !workflowNodeDetailsList.isEmpty()) {
-// for (WorkflowNodeDetails wf : workflowNodeDetailsList) {
-// addWorkflowNodeDetails(wf, experimentID);
+// String experimentID;
+// try {
+// if (!ExpCatResourceUtils.isUserExist(experiment.getUserName())) {
+// ExpCatResourceUtils.addUser(experiment.getUserName(), null);
+// }
+//
+// experimentID = getExperimentID(experiment.getExperimentName());
+// experiment.setExperimentId(experimentID);
+// ExperimentResource experimentResource = new ExperimentResource();
+// experimentResource.setExpID(experimentID);
+// experimentResource.setExpName(experiment.getExperimentName());
+// experimentResource.setExecutionUser(experiment.getUserName());
+// experimentResource.setGatewayId(gatewayId);
+// experimentResource.setGatewayExecutionId(experiment.getGatewayExecutionId());
+// experimentResource.setEnableEmailNotifications(experiment.isEnableEmailNotification());
+// if (!workerResource.isProjectExists(experiment.getProjectId())) {
+// logger.error("Project does not exist in the system..");
+// throw new Exception("Project does not exist in the system, Please create the project first...");
+// }
+// experimentResource.setProjectId(experiment.getProjectId());
+// experimentResource.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime()));
+// experimentResource.setDescription(experiment.getDescription());
+// experimentResource.setApplicationId(experiment.getExecutionId());
+// experimentResource.save();
+//
+// List<String> emailAddresses = experiment.getEmailAddresses();
+// if (emailAddresses != null && !emailAddresses.isEmpty()){
+// for (String email : emailAddresses){
+// NotificationEmailResource emailResource = new NotificationEmailResource();
+// emailResource.setExperimentId(experimentID);
+// emailResource.setEmailAddress(email);
+// emailResource.save();
// }
// }
- List<ErrorModel> errors = experiment.getErrors();
- if (errors != null && !errors.isEmpty()) {
- for (ErrorModel errror : errors) {
- addErrorDetails(errror, experimentID);
- }
- }
- } catch (Exception e) {
- logger.error("Error while saving experiment to registry", e);
- throw new RegistryException(e);
- }
- return experimentID;
- }
-
- public String addUserConfigData(UserConfigurationDataModel configurationData, String experimentID) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment(experimentID);
- ConfigDataResource configData = (ConfigDataResource) experiment.create(ResourceType.CONFIG_DATA);
- configData.setExperimentId(experimentID);
- configData.setAiravataAutoSchedule(configurationData.isAiravataAutoSchedule());
- configData.setOverrideManualParams(configurationData.isOverrideManualScheduledParams());
- configData.setShareExp(configurationData.isShareExperimentPublicly());
- configData.setUserDn(configurationData.getUserDN());
- configData.setGenerateCert(configurationData.isGenerateCert());
- configData.save();
- ComputationalResourceSchedulingModel resourceScheduling = configurationData.getComputationalResourceScheduling();
- if (resourceScheduling != null) {
- addComputationScheduling(resourceScheduling, experiment);
- }
-// AdvancedInputDataHandling inputDataHandling = configurationData.getAdvanceInputDataHandling();
-// if (inputDataHandling != null) {
-// addInputDataHandling(inputDataHandling, experiment);
+//
+// List<InputDataObjectType> experimentInputs = experiment.getExperimentInputs();
+// if (experimentInputs != null) {
+// addExpInputs(experimentInputs, experimentResource);
// }
//
-// AdvancedOutputDataHandling outputDataHandling = configurationData.getAdvanceOutputDataHandling();
-// if (outputDataHandling != null) {
-// addOutputDataHandling(outputDataHandling, experiment);
+// UserConfigurationDataModel userConfigurationData = experiment.getUserConfigurationData();
+// if (userConfigurationData != null) {
+// addUserConfigData(userConfigurationData, experimentID);
// }
//
-// QualityOfServiceParams qosParams = configurationData.getQosParams();
-// if (qosParams != null) {
-// addQosParams(qosParams, experiment);
+// List<OutputDataObjectType> experimentOutputs = experiment.getExperimentOutputs();
+// if (experimentOutputs != null && !experimentOutputs.isEmpty()) {
+// //TODO: short change.
+//// for (DataObjectType output : experimentOutputs){
+//// output.setValue("");
+//// }
+// addExpOutputs(experimentOutputs, experimentID);
// }
- } catch (Exception e) {
- logger.error("Unable to save user config data", e);
- throw new RegistryException(e);
- }
- return experimentID;
+//
+//// ExperimentStatus experimentStatus = experiment.getExperimentStatus();
+//// if (experimentStatus != null){
+//// updateExperimentStatus(experimentStatus, experimentID);
+//// }else {
+// ExperimentStatus experimentStatus = new ExperimentStatus();
+// experimentStatus.setState(ExperimentState.CREATED);
+// updateExperimentStatus(experimentStatus, experimentID);
+//// }
+//
+//// List<WorkflowNodeDetails> workflowNodeDetailsList = experiment.getWorkflowNodeDetailsList();
+//// if (workflowNodeDetailsList != null && !workflowNodeDetailsList.isEmpty()) {
+//// for (WorkflowNodeDetails wf : workflowNodeDetailsList) {
+//// addWorkflowNodeDetails(wf, experimentID);
+//// }
+//// }
+// List<ErrorModel> errors = experiment.getErrors();
+// if (errors != null && !errors.isEmpty()) {
+// for (ErrorModel errror : errors) {
+// addErrorDetails(errror, experimentID);
+// }
+// }
+// } catch (Exception e) {
+// logger.error("Error while saving experiment to registry", e);
+// throw new RegistryException(e);
+// }
+// return experimentID;
+ return null;
+ }
+
+ public String addUserConfigData(UserConfigurationDataModel configurationData, String experimentID) throws RegistryException {
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment(experimentID);
+// ConfigDataResource configData = (ConfigDataResource) experiment.create(ResourceType.CONFIG_DATA);
+// configData.setExperimentId(experimentID);
+// configData.setAiravataAutoSchedule(configurationData.isAiravataAutoSchedule());
+// configData.setOverrideManualParams(configurationData.isOverrideManualScheduledParams());
+// configData.setShareExp(configurationData.isShareExperimentPublicly());
+// configData.setUserDn(configurationData.getUserDN());
+// configData.setGenerateCert(configurationData.isGenerateCert());
+// configData.save();
+// ComputationalResourceSchedulingModel resourceScheduling = configurationData.getComputationalResourceScheduling();
+// if (resourceScheduling != null) {
+// addComputationScheduling(resourceScheduling, experiment);
+// }
+//// AdvancedInputDataHandling inputDataHandling = configurationData.getAdvanceInputDataHandling();
+//// if (inputDataHandling != null) {
+//// addInputDataHandling(inputDataHandling, experiment);
+//// }
+////
+//// AdvancedOutputDataHandling outputDataHandling = configurationData.getAdvanceOutputDataHandling();
+//// if (outputDataHandling != null) {
+//// addOutputDataHandling(outputDataHandling, experiment);
+//// }
+////
+//// QualityOfServiceParams qosParams = configurationData.getQosParams();
+//// if (qosParams != null) {
+//// addQosParams(qosParams, experiment);
+//// }
+// } catch (Exception e) {
+// logger.error("Unable to save user config data", e);
+// throw new RegistryException(e);
+// }
+// return experimentID;
+ return null;
}
// public void addQosParams(QualityOfServiceParams qosParams, ExperimentCatResource resource) throws RegistryException {
@@ -262,251 +271,255 @@ public class ExperimentRegistry {
// }
public void addComputationScheduling(ComputationalResourceSchedulingModel resourceScheduling, ExperimentCatResource resource) throws RegistryException {
- ComputationSchedulingResource cmsr = new ComputationSchedulingResource();
- try {
- if (resource instanceof ExperimentResource) {
- ExperimentResource experiment = (ExperimentResource) resource;
- cmsr.setExperimentId(experiment.getExpID());
- }
- if (resource instanceof TaskDetailResource) {
- TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
- String nodeId = taskDetailResource.getNodeId();
- ExperimentResource experimentResource = new ExperimentResource();
- WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId);
- cmsr.setExperimentId(workflowNode.getExperimentId());
- cmsr.setTaskId(taskDetailResource.getTaskId());
- }
- cmsr.setResourceHostId(resourceScheduling.getResourceHostId());
- cmsr.setCpuCount(resourceScheduling.getTotalCPUCount());
- cmsr.setNodeCount(resourceScheduling.getNodeCount());
- cmsr.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
- cmsr.setQueueName(resourceScheduling.getQueueName());
- cmsr.setWalltimeLimit(resourceScheduling.getWallTimeLimit());
- cmsr.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
- cmsr.setChessisName(resourceScheduling.getChessisNumber());
- cmsr.save();
- } catch (Exception e) {
- logger.error("Unable to save computational scheduling data", e);
- throw new RegistryException(e);
- }
+// ComputationSchedulingResource cmsr = new ComputationSchedulingResource();
+// try {
+// if (resource instanceof ExperimentResource) {
+// ExperimentResource experiment = (ExperimentResource) resource;
+// cmsr.setExperimentId(experiment.getExpID());
+// }
+// if (resource instanceof TaskDetailResource) {
+// TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
+// String nodeId = taskDetailResource.getNodeId();
+// ExperimentResource experimentResource = new ExperimentResource();
+// WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId);
+// cmsr.setExperimentId(workflowNode.getExperimentId());
+// cmsr.setTaskId(taskDetailResource.getTaskId());
+// }
+// cmsr.setResourceHostId(resourceScheduling.getResourceHostId());
+// cmsr.setCpuCount(resourceScheduling.getTotalCPUCount());
+// cmsr.setNodeCount(resourceScheduling.getNodeCount());
+// cmsr.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
+// cmsr.setQueueName(resourceScheduling.getQueueName());
+// cmsr.setWalltimeLimit(resourceScheduling.getWallTimeLimit());
+// cmsr.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
+// cmsr.setChessisName(resourceScheduling.getChessisNumber());
+// cmsr.save();
+// } catch (Exception e) {
+// logger.error("Unable to save computational scheduling data", e);
+// throw new RegistryException(e);
+// }
}
public void addExpInputs(List<InputDataObjectType> exInputs, ExperimentResource experimentResource) throws RegistryException {
- try {
- for (InputDataObjectType input : exInputs) {
- ExperimentInputResource resource = (ExperimentInputResource) experimentResource.create(ResourceType.EXPERIMENT_INPUT);
- resource.setExperimentId(experimentResource.getExpID());
- resource.setExperimentKey(input.getName());
- resource.setValue(input.getValue());
- if (input.getType() != null) {
- resource.setDataType(input.getType().toString());
- }
- resource.setMetadata(input.getMetaData());
- resource.setAppArgument(input.getApplicationArgument());
- resource.setInputOrder(input.getInputOrder());
- resource.setRequired(input.isIsRequired());
- resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Unable to save experiment inputs", e);
- throw new RegistryException(e);
- }
+// try {
+// for (InputDataObjectType input : exInputs) {
+// ExperimentInputResource resource = (ExperimentInputResource) experimentResource.create(ResourceType.EXPERIMENT_INPUT);
+// resource.setExperimentId(experimentResource.getExpID());
+// resource.setExperimentKey(input.getName());
+// resource.setValue(input.getValue());
+// if (input.getType() != null) {
+// resource.setDataType(input.getType().toString());
+// }
+// resource.setMetadata(input.getMetaData());
+// resource.setAppArgument(input.getApplicationArgument());
+// resource.setInputOrder(input.getInputOrder());
+// resource.setRequired(input.isIsRequired());
+// resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
+// resource.save();
+// }
+// } catch (Exception e) {
+// logger.error("Unable to save experiment inputs", e);
+// throw new RegistryException(e);
+// }
}
public void updateExpInputs(List<InputDataObjectType> exInputs, ExperimentResource experimentResource) throws RegistryException {
- try {
- List<ExperimentInputResource> experimentInputs = experimentResource.getExperimentInputs();
- for (InputDataObjectType input : exInputs) {
- for (ExperimentInputResource exinput : experimentInputs) {
- if (exinput.getExperimentKey().equals(input.getName())) {
- exinput.setValue(input.getValue());
- if (input.getType() != null) {
- exinput.setDataType(input.getType().toString());
- }
- exinput.setMetadata(input.getMetaData());
- exinput.setAppArgument(input.getApplicationArgument());
- exinput.setInputOrder(input.getInputOrder());
- exinput.setRequired(input.isIsRequired());
- exinput.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- exinput.save();
- }
- }
- }
- } catch (Exception e) {
- logger.error("Unable to update experiment inputs", e);
- throw new RegistryException(e);
- }
+// try {
+// List<ExperimentInputResource> experimentInputs = experimentResource.getExperimentInputs();
+// for (InputDataObjectType input : exInputs) {
+// for (ExperimentInputResource exinput : experimentInputs) {
+// if (exinput.getExperimentKey().equals(input.getName())) {
+// exinput.setValue(input.getValue());
+// if (input.getType() != null) {
+// exinput.setDataType(input.getType().toString());
+// }
+// exinput.setMetadata(input.getMetaData());
+// exinput.setAppArgument(input.getApplicationArgument());
+// exinput.setInputOrder(input.getInputOrder());
+// exinput.setRequired(input.isIsRequired());
+// exinput.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
+// exinput.save();
+// }
+// }
+// }
+// } catch (Exception e) {
+// logger.error("Unable to update experiment inputs", e);
+// throw new RegistryException(e);
+// }
}
public String addExpOutputs(List<OutputDataObjectType> exOutput, String expId) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment(expId);
- for (OutputDataObjectType output : exOutput) {
- ExperimentOutputResource resource = (ExperimentOutputResource) experiment.create(ResourceType.EXPERIMENT_OUTPUT);
- resource.setExperimentId(expId);
- resource.setExperimentKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.get());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding experiment outputs...", e);
- throw new RegistryException(e);
- }
- return expId;
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment(expId);
+// for (OutputDataObjectType output : exOutput) {
+// ExperimentOutputResource resource = (ExperimentOutputResource) experiment.create(ResourceType.EXPERIMENT_OUTPUT);
+// resource.setExperimentId(expId);
+// resource.setExperimentKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.get());
+// resource.save();
+// }
+// } catch (Exception e) {
+// logger.error("Error while adding experiment outputs...", e);
+// throw new RegistryException(e);
+// }
+// return expId;
+ return null;
}
public void updateExpOutputs(List<OutputDataObjectType> exOutput, String expId) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment(expId);
- List<ExperimentOutputResource> existingExpOutputs = experiment.getExperimentOutputs();
- for (OutputDataObjectType output : exOutput) {
- for (ExperimentOutputResource resource : existingExpOutputs) {
- if (resource.getExperimentKey().equals(output.getName())) {
- resource.setExperimentId(expId);
- resource.setExperimentKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.getMetaData());
- resource.save();
- }
- }
- }
- } catch (Exception e) {
- logger.error("Error while updating experiment outputs", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment(expId);
+// List<ExperimentOutputResource> existingExpOutputs = experiment.getExperimentOutputs();
+// for (OutputDataObjectType output : exOutput) {
+// for (ExperimentOutputResource resource : existingExpOutputs) {
+// if (resource.getExperimentKey().equals(output.getName())) {
+// resource.setExperimentId(expId);
+// resource.setExperimentKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.getMetaData());
+// resource.save();
+// }
+// }
+// }
+// } catch (Exception e) {
+// logger.error("Error while updating experiment outputs", e);
+// throw new RegistryException(e);
+// }
}
public String addNodeOutputs(List<OutputDataObjectType> wfOutputs, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
- WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getSecondLevelIdentifier());
- for (OutputDataObjectType output : wfOutputs) {
- NodeOutputResource resource = (NodeOutputResource) workflowNode.create(ResourceType.NODE_OUTPUT);
- resource.setNodeId(workflowNode.getNodeInstanceId());
- resource.setOutputKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.getMetaData());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding node outputs...", e);
- throw new RegistryException(e);
- }
- return (String) ids.getSecondLevelIdentifier();
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
+// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getSecondLevelIdentifier());
+// for (OutputDataObjectType output : wfOutputs) {
+// NodeOutputResource resource = (NodeOutputResource) workflowNode.create(ResourceType.NODE_OUTPUT);
+// resource.setNodeId(workflowNode.getNodeInstanceId());
+// resource.setOutputKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.getMetaData());
+// resource.save();
+// }
+// } catch (Exception e) {
+// logger.error("Error while adding node outputs...", e);
+// throw new RegistryException(e);
+// }
+// return (String) ids.getSecondLevelIdentifier();
+ return null;
}
public void updateNodeOutputs(List<OutputDataObjectType> wfOutputs, String nodeId) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId);
- List<NodeOutputResource> nodeOutputs = workflowNode.getNodeOutputs();
- for (OutputDataObjectType output : wfOutputs) {
- for (NodeOutputResource resource : nodeOutputs) {
- resource.setNodeId(workflowNode.getNodeInstanceId());
- resource.setOutputKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.getMetaData());
- resource.save();
- }
- }
- } catch (Exception e) {
- logger.error("Error while updating node outputs...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId);
+// List<NodeOutputResource> nodeOutputs = workflowNode.getNodeOutputs();
+// for (OutputDataObjectType output : wfOutputs) {
+// for (NodeOutputResource resource : nodeOutputs) {
+// resource.setNodeId(workflowNode.getNodeInstanceId());
+// resource.setOutputKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.getMetaData());
+// resource.save();
+// }
+// }
+// } catch (Exception e) {
+// logger.error("Error while updating node outputs...", e);
+// throw new RegistryException(e);
+// }
}
public String addApplicationOutputs(List<OutputDataObjectType> appOutputs, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getTopLevelIdentifier());
- TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier());
- for (OutputDataObjectType output : appOutputs) {
- ApplicationOutputResource resource = (ApplicationOutputResource) taskDetail.create(ResourceType.APPLICATION_OUTPUT);
- resource.setTaskId(taskDetail.getTaskId());
- resource.setOutputKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.getMetaData());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding application outputs...", e);
- throw new RegistryException(e);
- }
- return (String) ids.getSecondLevelIdentifier();
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getTopLevelIdentifier());
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier());
+// for (OutputDataObjectType output : appOutputs) {
+// ApplicationOutputResource resource = (ApplicationOutputResource) taskDetail.create(ResourceType.APPLICATION_OUTPUT);
+// resource.setTaskId(taskDetail.getTaskId());
+// resource.setOutputKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.getMetaData());
+// resource.save();
+// }
+// } catch (Exception e) {
+// logger.error("Error while adding application outputs...", e);
+// throw new RegistryException(e);
+// }
+// return (String) ids.getSecondLevelIdentifier();
+ return null;
}
public String updateExperimentStatus(ExperimentStatus experimentStatus, String expId) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment(expId);
- StatusResource status = experiment.getExperimentStatus();
- if (status == null) {
- status = (StatusResource) experiment.create(ResourceType.STATUS);
- }
- status.setExperimentId(expId);
- status.setStatusUpdateTime(AiravataUtils.getTime(experimentStatus.getTimeOfStateChange()));
-// if (status.getState() == null) {
-// status.setState(ExperimentState.UNKNOWN.name());
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment(expId);
+// StatusResource status = experiment.getExperimentStatus();
+// if (status == null) {
+// status = (StatusResource) experiment.create(ResourceType.STATUS);
+// }
+// status.setExperimentId(expId);
+// status.setStatusUpdateTime(AiravataUtils.getTime(experimentStatus.getTimeOfStateChange()));
+//// if (status.getState() == null) {
+//// status.setState(ExperimentState.UNKNOWN.name());
+//// }
+// if (isValidStatusTransition(ExperimentState.valueOf(status.getState()), experimentStatus.getState())) {
+// status.setState(experimentStatus.getState().toString());
+// status.setStatusType(StatusType.EXPERIMENT.toString());
+// status.save();
+// logger.debug(expId, "Updated experiment {} status to {}.", expId, experimentStatus.toString());
// }
- if (isValidStatusTransition(ExperimentState.valueOf(status.getState()), experimentStatus.getState())) {
- status.setState(experimentStatus.getState().toString());
- status.setStatusType(StatusType.EXPERIMENT.toString());
- status.save();
- logger.debug(expId, "Updated experiment {} status to {}.", expId, experimentStatus.toString());
- }
- } catch (Exception e) {
- logger.error(expId, "Error while updating experiment status...", e);
- throw new RegistryException(e);
- }
- return expId;
+// } catch (Exception e) {
+// logger.error(expId, "Error while updating experiment status...", e);
+// throw new RegistryException(e);
+// }
+// return expId;
+ return null;
}
// public String addWorkflowNodeStatus(WorkflowNodeStatus status, CompositeIdentifier ids) throws RegistryException {
@@ -554,53 +567,54 @@ public class ExperimentRegistry {
// }
public String addTaskStatus(TaskStatus status, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getTopLevelIdentifier());
- TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier());
- StatusResource statusResource = (StatusResource) workflowNode.create(ResourceType.STATUS);
- statusResource.setExperimentId(workflowNode.getExperimentId());
- statusResource.setNodeId(workflowNode.getNodeInstanceId());
- statusResource.setTaskId(taskDetail.getTaskId());
- statusResource.setStatusType(StatusType.TASK.toString());
- statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
- if (status.getState() == null) {
-// statusResource.setState(TaskState.UNKNOWN.toString());
- } else {
- statusResource.setState(status.getState().toString());
- }
- statusResource.save();
- return String.valueOf(statusResource.getStatusId());
- } catch (Exception e) {
- logger.error("Error while adding task status...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getTopLevelIdentifier());
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier());
+// StatusResource statusResource = (StatusResource) workflowNode.create(ResourceType.STATUS);
+// statusResource.setExperimentId(workflowNode.getExperimentId());
+// statusResource.setNodeId(workflowNode.getNodeInstanceId());
+// statusResource.setTaskId(taskDetail.getTaskId());
+// statusResource.setStatusType(StatusType.TASK.toString());
+// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
+// if (status.getState() == null) {
+//// statusResource.setState(TaskState.UNKNOWN.toString());
+// } else {
+// statusResource.setState(status.getState().toString());
+// }
+// statusResource.save();
+// return String.valueOf(statusResource.getStatusId());
+// } catch (Exception e) {
+// logger.error("Error while adding task status...", e);
+// throw new RegistryException(e);
+// }
+ return null;
}
public void updateTaskStatus(TaskStatus status, String taskId) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
- StatusResource statusResource;
- if (taskDetail.isTaskStatusExist(taskId)) {
- workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
- statusResource = workflowNode.getTaskStatus(taskId);
- } else {
- statusResource = (StatusResource) taskDetail.create(ResourceType.STATUS);
- }
- statusResource.setExperimentId(workflowNode.getExperimentId());
- statusResource.setNodeId(workflowNode.getNodeInstanceId());
- statusResource.setTaskId(taskId);
- statusResource.setStatusType(StatusType.TASK.toString());
- statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
- statusResource.setState(status.getState().toString());
- statusResource.save();
- logger.info(taskId, "Updated task {} status to {}.", taskId, status.toString());
- } catch (Exception e) {
- logger.error(taskId, "Error while updating task status to " + status.toString() + "...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
+// StatusResource statusResource;
+// if (taskDetail.isTaskStatusExist(taskId)) {
+// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
+// statusResource = workflowNode.getTaskStatus(taskId);
+// } else {
+// statusResource = (StatusResource) taskDetail.create(ResourceType.STATUS);
+// }
+// statusResource.setExperimentId(workflowNode.getExperimentId());
+// statusResource.setNodeId(workflowNode.getNodeInstanceId());
+// statusResource.setTaskId(taskId);
+// statusResource.setStatusType(StatusType.TASK.toString());
+// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
+// statusResource.setState(status.getState().toString());
+// statusResource.save();
+// logger.info(taskId, "Updated task {} status to {}.", taskId, status.toString());
+// } catch (Exception e) {
+// logger.error(taskId, "Error while updating task status to " + status.toString() + "...", e);
+// throw new RegistryException(e);
+// }
}
/**
@@ -609,52 +623,54 @@ public class ExperimentRegistry {
* @return status id
*/
public String addJobStatus(JobStatus status, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
- workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
- JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
- StatusResource statusResource = (StatusResource) jobDetail.create(ResourceType.STATUS);
- statusResource.setExperimentId(workflowNode.getExperimentId());
- statusResource.setNodeId(workflowNode.getNodeInstanceId());
- statusResource.setTaskId(taskDetail.getTaskId());
- statusResource.setStatusType(StatusType.JOB.toString());
- statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
- if (status.getJobState() == null) {
- statusResource.setState(JobState.UNKNOWN.toString());
- } else {
- statusResource.setState(status.getJobState().toString());
- }
- statusResource.save();
- return String.valueOf(statusResource.getStatusId());
- } catch (Exception e) {
- logger.error("Error while adding job status...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
+// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
+// JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
+// StatusResource statusResource = (StatusResource) jobDetail.create(ResourceType.STATUS);
+// statusResource.setExperimentId(workflowNode.getExperimentId());
+// statusResource.setNodeId(workflowNode.getNodeInstanceId());
+// statusResource.setTaskId(taskDetail.getTaskId());
+// statusResource.setStatusType(StatusType.JOB.toString());
+// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
+// if (status.getJobState() == null) {
+// statusResource.setState(JobState.UNKNOWN.toString());
+// } else {
+// statusResource.setState(status.getJobState().toString());
+// }
+// statusResource.save();
+// return String.valueOf(statusResource.getStatusId());
+// } catch (Exception e) {
+// logger.error("Error while adding job status...", e);
+// throw new RegistryException(e);
+// }
+ return null;
}
public String updateJobStatus(JobStatus status, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
- JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
- StatusResource statusResource = jobDetail.getJobStatus();
- workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
- statusResource.setExperimentId(workflowNode.getExperimentId());
- statusResource.setNodeId(workflowNode.getNodeInstanceId());
- statusResource.setTaskId(taskDetail.getTaskId());
- statusResource.setStatusType(StatusType.JOB.toString());
- statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
- statusResource.setState(status.getJobState().toString());
- statusResource.save();
- logger.info(ids.toString(), "Updated job status to {}", status.toString());
- return String.valueOf(statusResource.getStatusId());
- } catch (Exception e) {
- logger.error(ids.toString(), "Error while updating job status to " + status.toString() + " ...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
+// JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
+// StatusResource statusResource = jobDetail.getJobStatus();
+// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
+// statusResource.setExperimentId(workflowNode.getExperimentId());
+// statusResource.setNodeId(workflowNode.getNodeInstanceId());
+// statusResource.setTaskId(taskDetail.getTaskId());
+// statusResource.setStatusType(StatusType.JOB.toString());
+// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
+// statusResource.setState(status.getJobState().toString());
+// statusResource.save();
+// logger.info(ids.toString(), "Updated job status to {}", status.toString());
+// return String.valueOf(statusResource.getStatusId());
+// } catch (Exception e) {
+// logger.error(ids.toString(), "Error while updating job status to " + status.toString() + " ...", e);
+// throw new RegistryException(e);
+// }
+ return null;
}
// /**
@@ -874,56 +890,6 @@ public class ExperimentRegistry {
// }
- public void addWorkflowInputs(List<InputDataObjectType> wfInputs, WorkflowNodeDetailResource nodeDetailResource) throws RegistryException {
- try {
- for (InputDataObjectType input : wfInputs) {
- NodeInputResource resource = (NodeInputResource) nodeDetailResource.create(ResourceType.NODE_INPUT);
- resource.setNodeId(nodeDetailResource.getNodeInstanceId());
- resource.setInputKey(input.getName());
- resource.setValue(input.getValue());
- if (input.getType() != null) {
- resource.setDataType(input.getType().toString());
- }
- resource.setMetadata(input.getMetaData());
- resource.setAppArgument(input.getApplicationArgument());
- resource.setInputOrder(input.getInputOrder());
- resource.setRequired(input.isIsRequired());
- resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding workflow inputs...", e);
- throw new RegistryException(e);
- }
-
- }
-
- public void updateWorkflowInputs(List<InputDataObjectType> wfInputs, WorkflowNodeDetailResource nodeDetailResource) throws RegistryException {
- try {
- List<NodeInputResource> nodeInputs = nodeDetailResource.getNodeInputs();
- for (InputDataObjectType input : wfInputs) {
- for (NodeInputResource resource : nodeInputs) {
- resource.setNodeId(nodeDetailResource.getNodeInstanceId());
- resource.setInputKey(input.getName());
- resource.setValue(input.getValue());
- if (input.getType() != null) {
- resource.setDataType(input.getType().toString());
- }
- resource.setMetadata(input.getMetaData());
- resource.setAppArgument(input.getApplicationArgument());
- resource.setInputOrder(input.getInputOrder());
- resource.setRequired(input.isIsRequired());
- resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- resource.save();
- }
- }
- } catch (Exception e) {
- logger.error("Error while updating workflow inputs...", e);
- throw new RegistryException(e);
- }
-
- }
-
// public String addTaskDetails(TaskModel taskDetails, String nodeId) throws RegistryException {
// try {
// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
@@ -1081,207 +1047,132 @@ public class ExperimentRegistry {
// if (taskStatus != null) {
// updateTaskStatus(taskStatus, taskId);
// }
-// return taskDetail.getTaskId();
-// } catch (Exception e) {
-// logger.error("Error while updating task details...", e);
-// throw new RegistryException(e);
-// }
-// }
-
- public void addAppInputs(List<InputDataObjectType> appInputs, TaskDetailResource taskDetailResource) throws RegistryException {
- try {
- for (InputDataObjectType input : appInputs) {
- ApplicationInputResource resource = (ApplicationInputResource) taskDetailResource.create(ResourceType.APPLICATION_INPUT);
- resource.setTaskId(taskDetailResource.getTaskId());
- resource.setInputKey(input.getName());
- resource.setValue(input.getValue());
- if (input.getType() != null) {
- resource.setDataType(input.getType().toString());
- }
- resource.setMetadata(input.getMetaData());
- resource.setAppArgument(input.getApplicationArgument());
- resource.setInputOrder(input.getInputOrder());
- resource.setRequired(input.isIsRequired());
- resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding application inputs...", e);
- throw new RegistryException(e);
- }
-
- }
-
- public void addAppOutputs(List<OutputDataObjectType> appOytputs, TaskDetailResource taskDetailResource) throws RegistryException {
- try {
- for (OutputDataObjectType output : appOytputs) {
- ApplicationOutputResource resource = (ApplicationOutputResource) taskDetailResource.create(ResourceType.APPLICATION_OUTPUT);
- resource.setTaskId(taskDetailResource.getTaskId());
- resource.setOutputKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
- resource.save();
- }
- } catch (Exception e) {
- logger.error("Error while adding application outputs...", e);
- throw new RegistryException(e);
- }
-
- }
+// return taskDetail.getTaskId();
+// } catch (Exception e) {
+// logger.error("Error while updating task details...", e);
+// throw new RegistryException(e);
+// }
+// }
public void updateAppOutputs(List<OutputDataObjectType> appOutputs, String taskId) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
- List<ApplicationOutputResource> outputs = taskDetail.getApplicationOutputs();
- for (OutputDataObjectType output : appOutputs) {
- for (ApplicationOutputResource resource : outputs) {
- resource.setTaskId(taskId);
- resource.setOutputKey(output.getName());
- resource.setValue(output.getValue());
- if (output.getType() != null) {
- resource.setDataType(output.getType().toString());
- }
- resource.setRequired(output.isIsRequired());
- resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
- resource.setDataMovement(output.isDataMovement());
- resource.setDataNameLocation(output.getLocation());
- resource.setAppArgument(output.getApplicationArgument());
- resource.setSearchQuery(output.getSearchQuery());
-// resource.setMetadata(output.getMetaData());
- resource.save();
- }
- }
- } catch (Exception e) {
- logger.error("Error while updating application outputs...", e);
- throw new RegistryException(e);
- }
- }
-
- public void updateAppInputs(List<InputDataObjectType> appInputs, TaskDetailResource taskDetailResource) throws RegistryException {
- try {
- List<ApplicationInputResource> inputs = taskDetailResource.getApplicationInputs();
- for (InputDataObjectType input : appInputs) {
- for (ApplicationInputResource resource : inputs) {
- resource.setTaskId(taskDetailResource.getTaskId());
- resource.setInputKey(input.getName());
- resource.setValue(input.getValue());
- if (input.getType() != null) {
- resource.setDataType(input.getType().toString());
- }
- resource.setMetadata(input.getMetaData());
- resource.setAppArgument(input.getApplicationArgument());
- resource.setInputOrder(input.getInputOrder());
- resource.setRequired(input.isIsRequired());
- resource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
- resource.save();
- }
-
- }
- } catch (Exception e) {
- logger.error("Error while updating application inputs...", e);
- throw new RegistryException(e);
- }
-
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
+// List<ApplicationOutputResource> outputs = taskDetail.getApplicationOutputs();
+// for (OutputDataObjectType output : appOutputs) {
+// for (ApplicationOutputResource resource : outputs) {
+// resource.setTaskId(taskId);
+// resource.setOutputKey(output.getName());
+// resource.setValue(output.getValue());
+// if (output.getType() != null) {
+// resource.setDataType(output.getType().toString());
+// }
+// resource.setRequired(output.isIsRequired());
+// resource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+// resource.setDataMovement(output.isDataMovement());
+// resource.setDataNameLocation(output.getLocation());
+// resource.setAppArgument(output.getApplicationArgument());
+// resource.setSearchQuery(output.getSearchQuery());
+//// resource.setMetadata(output.getMetaData());
+// resource.save();
+// }
+// }
+// } catch (Exception e) {
+// logger.error("Error while updating application outputs...", e);
+// throw new RegistryException(e);
+// }
}
public String addJobDetails(JobModel jobDetails, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
- JobDetailResource jobDetail = taskDetail.createJobDetail((String) ids.getSecondLevelIdentifier());
- jobDetail.setTaskId(taskDetail.getTaskId());
- jobDetail.setJobDescription(jobDetails.getJobDescription());
- jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime()));
- jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed());
- jobDetail.setWorkingDir(jobDetails.getWorkingDir());
- jobDetail.setJobName(jobDetails.getJobName());
- jobDetail.save();
- JobStatus jobStatus = jobDetails.getJobStatus();
- if (jobStatus != null) {
- JobStatus status = getJobStatus(ids);
- if (status != null) {
- updateJobStatus(jobStatus, ids);
- } else {
- addJobStatus(jobStatus, ids);
- }
- }
- JobStatus applicationStatus = jobDetails.getJobStatus();
- if (applicationStatus != null) {
- JobStatus appStatus = getJobStatus(ids);
- if (appStatus != null) {
- updateJobStatus(applicationStatus, ids);
- } else {
- addJobStatus(applicationStatus, ids);
- }
- }
-// List<ErrorModel> errors = jobDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, ids.getSecondLevelIdentifier());
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
+// JobDetailResource jobDetail = taskDetail.createJobDetail((String) ids.getSecondLevelIdentifier());
+// jobDetail.setTaskId(taskDetail.getTaskId());
+// jobDetail.setJobDescription(jobDetails.getJobDescription());
+// jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime()));
+// jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed());
+// jobDetail.setWorkingDir(jobDetails.getWorkingDir());
+// jobDetail.setJobName(jobDetails.getJobName());
+// jobDetail.save();
+// JobStatus jobStatus = jobDetails.getJobStatus();
+// if (jobStatus != null) {
+// JobStatus status = getJobStatus(ids);
+// if (status != null) {
+// updateJobStatus(jobStatus, ids);
+// } else {
+// addJobStatus(jobStatus, ids);
// }
// }
- return jobDetail.getJobId();
- } catch (Exception e) {
- logger.error("Error while adding job details...", e);
- throw new RegistryException(e);
- }
+// JobStatus applicationStatus = jobDetails.getJobStatus();
+// if (applicationStatus != null) {
+// JobStatus appStatus = getJobStatus(ids);
+// if (appStatus != null) {
+// updateJobStatus(applicationStatus, ids);
+// } else {
+// addJobStatus(applicationStatus, ids);
+// }
+// }
+//// List<ErrorModel> errors = jobDetails.getErrors();
+//// if (errors != null && !errors.isEmpty()) {
+//// for (ErrorDetails error : errors) {
+//// addErrorDetails(error, ids.getSecondLevelIdentifier());
+//// }
+//// }
+// return jobDetail.getJobId();
+// } catch (Exception e) {
+// logger.error("Error while adding job details...", e);
+// throw new RegistryException(e);
+// }
+ return null;
}
// ids - taskId + jobid
public void updateJobDetails(JobModel jobDetails, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- String taskId = (String) ids.getTopLevelIdentifier();
- TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
- String jobId = (String) ids.getSecondLevelIdentifier();
- JobDetailResource jobDetail = taskDetail.getJobDetail(jobId);
- jobDetail.setTaskId(taskDetail.getTaskId());
- jobDetail.setJobDescription(jobDetails.getJobDescription());
- jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime()));
- jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed());
- jobDetail.setJobName(jobDetails.getJobName());
- jobDetail.setWorkingDir(jobDetails.getWorkingDir());
- jobDetail.save();
- JobStatus jobStatus = jobDetails.getJobStatus();
- if (jobStatus != null) {
- JobStatus status = getJobStatus(ids);
- if (status != null) {
- updateJobStatus(jobStatus, ids);
- } else {
- addJobStatus(jobStatus, ids);
- }
- }
- JobStatus applicationStatus = jobDetails.getJobStatus();
- if (applicationStatus != null) {
- JobStatus appStatus = getJobStatus(ids);
- if (appStatus != null) {
- updateJobStatus(applicationStatus, ids);
- } else {
- addJobStatus(applicationStatus, ids);
- }
- }
-// List<ErrorDetails> errors = jobDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, jobId);
+// try {
+// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// String taskId = (String) ids.getTopLevelIdentifier();
+// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
+// String jobId = (String) ids.getSecondLevelIdentifier();
+// JobDetailResource jobDetail = taskDetail.getJobDetail(jobId);
+// jobDetail.setTaskId(taskDetail.getTaskId());
+// jobDetail.setJobDescription(jobDetails.getJobDescription());
+// jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime()));
+// jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed());
+// jobDetail.setJobName(jobDetails.getJobName());
+// jobDetail.setWorkingDir(jobDetails.getWorkingDir());
+// jobDetail.save();
+// JobStatus jobStatus = jobDetails.getJobStatus();
+// if (jobStatus != null) {
+// JobStatus status = getJobStatus(ids);
+// if (status != null) {
+// updateJobStatus(jobStatus, ids);
+// } else {
+// addJobStatus(jobStatus, ids);
// }
// }
- } catch (Exception e) {
- logger.error("Error while updating job details...", e);
- throw new RegistryException(e);
- }
+// JobStatus applicationStatus = jobDetails.getJobStatus();
+// if (applicationStatus != null) {
+// JobStatus appStatus = getJobStatus(ids);
+// if (appStatus != null) {
+// updateJobStatus(applicationStatus, ids);
+// } else {
+// addJobStatus(applicationStatus, ids);
+// }
+// }
+//// List<ErrorDetails> errors = jobDetails.getErrors();
+//// if (errors != null && !errors.isEmpty()) {
+//// for (ErrorDetails error : errors) {
+//// addErrorDetails(error, jobId);
+//// }
+//// }
+// } catch (Exception e) {
+// logger.error("Error while updating job details...", e);
+// throw new RegistryException(e);
+// }
}
// public String addDataTransferDetails(DataTransferDetails transferDetails, String taskId) throws RegistryException {
@@ -1351,29 +1242,30 @@ public class ExperimentRegistry {
* @return scheduling id
*/
public String addComputationalResourceScheduling(ComputationalResourceSchedulingModel scheduling, CompositeIdentifier ids) throws RegistryException {
- try {
- ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
- ComputationSchedulingResource schedulingResource = (ComputationSchedulingResource) experiment.create(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING);
- if (ids.getSecondLevelIdentifier() != null) {
- WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier());
- schedulingResource.setTaskId(taskDetail.getTaskId());
- }
- schedulingResource.setExperimentId(experiment.getExpID());
- schedulingResource.setResourceHostId(scheduling.getResourceHostId());
- schedulingResource.setCpuCount(scheduling.getTotalCPUCount());
- schedulingResource.setNodeCount(scheduling.getNodeCount());
- schedulingResource.setNumberOfThreads(scheduling.getNumberOfThreads());
- schedulingResource.setQueueName(scheduling.getQueueName());
- schedulingResource.setWalltimeLimit(scheduling.getWallTimeLimit());
- schedulingResource.setPhysicalMemory(scheduling.getTotalPhysicalMemory());
- schedulingResource.setChessisName(scheduling.getChessisNumber());
- schedulingResource.save();
- return String.valueOf(schedulingResource.getSchedulingId());
- } catch (Exception e) {
- logger.error("Error while adding scheduling parameters...", e);
- throw new RegistryException(e);
- }
+// try {
+// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
+// ComputationSchedulingResource schedulingResource = (ComputationSchedulingResource) experiment.create(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING);
+// if (ids.getSecondLevelIdentifier() != null) {
+// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier());
+// schedulingResource.setTaskId(taskDetail.getTaskId());
+// }
+// schedulingResource.setExperimentId(experiment.getExpID());
+// schedulingResource.setResourceHostId(scheduling.getResourceHostId());
+// schedulingResource.setCpuCount(scheduling.getTotalCPUCount());
+// schedulingResource.setNodeCount(scheduling.getNodeCount());
+// schedulingResource.setNumberOfThreads(scheduling.getNumberOfThreads());
+// schedulingResource.setQueueName(scheduling.getQueueName());
+// schedulingResource.setWalltimeLimit(scheduling.getWallTimeLimit());
+// schedulingResource.setPhysicalMemory(scheduling.getTotalPhysicalMemory());
+// schedulingResource.setChessisName(scheduling.getChessisNumber());
+// schedulingResource.save();
+// return String.valueOf(schedulingResource.getSchedulingId());
+// } catch (Exception e) {
+// logger.error("Error while adding scheduling parameters...", e);
+// throw new RegistryException(e);
+// }
+ return null;
}
// /**
@@ -1451,87 +1343,87 @@ public class ExperimentRegistry {
// }
public String addErrorDetails(ErrorModel error, Object id) throws RegistryException {
- try {
-
- ErrorDetailResource errorResource = null;
- ExperimentResource experiment;
- TaskDetailResource taskDetail;
- WorkflowNodeDetailResource workflowNode;
- // figure out the id is an experiment, node task or job
- if (id instanceof String) {
- // FIXME : for .12 we only save task related errors
-// if (isExperimentExist((String) id)) {
-// experiment = gatewayResource.getExperiment((String) id);
-// errorResource = (ErrorDetailResource) experiment.create(ResourceType.ERROR_DETAIL);
-// } else if (isWFNodeExist((String) id)) {
+// try {
+//
+// ErrorDetailResource errorResource = null;
+// ExperimentResource experiment;
+// TaskDetailResource taskDetail;
+// WorkflowNodeDetailResource workflowNode;
+// // figure out the id is an experiment, node task or job
+// if (id instanceof String) {
+// // FIXME : for .12 we only save task related errors
+//// if (isExperimentExist((String) id)) {
+//// experiment = gatewayResource.getExperiment((String) id);
+//// errorResource = (ErrorDetailResource) experiment.create(ResourceType.ERROR_DETAIL);
+//// } else if (isWFNodeExist((String) id)) {
+//// experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+//// workflowNode = experiment.getWorkflowNode((String) id);
+//// errorResource = (ErrorDetailResource) workflowNode.create(ResourceType.ERROR_DETAIL);
+//// errorResource.setExperimentResource(workflowNode.getExperimentResource());
+//// } else
+// if (isTaskDetailExist((String) id)) {
// experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// workflowNode = experiment.getWorkflowNode((String) id);
-// errorResource = (ErrorDetailResource) workflowNode.create(ResourceType.ERROR_DETAIL);
-// errorResource.setExperimentResource(workflowNode.getExperimentResource());
-// } else
- if (isTaskDetailExist((String) id)) {
- experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- taskDetail = workflowNode.getTaskDetail((String) id);
- errorResource = (ErrorDetailResource) taskDetail.create(ResourceType.ERROR_DETAIL);
- if (error.getErrorId() != null && !error.getErrorId().equals(airavata_commonsConstants.DEFAULT_ID)) {
- List<ErrorDetailResource> errorDetailList = taskDetail.getErrorDetailList();
- if (errorDetailList != null && !errorDetailList.isEmpty()) {
- for (ErrorDetailResource errorDetailResource : errorDetailList) {
- if (errorDetailResource.getErrorId() == Integer.parseInt(error.getErrorId())) {
- errorResource = errorDetailResource;
- }
- }
- }
- }
- errorResource.setTaskId(taskDetail.getTaskId());
- errorResource.setNodeId(taskDetail.getNodeId());
- workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
- errorResource.setExperimentId(workflowNode.getExperimentId());
- } else {
-// logger.error("The id provided is not an experiment id or a workflow id or a task id..");
- }
- } else if (id instanceof CompositeIdentifier) {
- CompositeIdentifier cid = (CompositeIdentifier) id;
- if (isJobDetailExist(cid)) {
- experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
- workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
- taskDetail = workflowNode.getTaskDetail((String) cid.getTopLevelIdentifier());
- JobDetailResource jobDetail = taskDetail.getJobDetail((String) cid.getSecondLevelIdentifier());
- errorResource = (ErrorDetailResource) jobDetail.create(ResourceType.ERROR_DETAIL);
- if (error.getErrorId() != null && !error.getErrorId().equals(airavata_commonsConstants.DEFAULT_ID)) {
- List<ErrorDetailResource> errorDetailList = taskDetail.getErrorDetailList();
- if (errorDetailList != null && !errorDetailList.isEmpty()) {
- for (ErrorDetailResource errorDetailResource : errorDetailList) {
- if (errorDetailResource.getErrorId() == Integer.parseInt(error.getErrorId())) {
- errorResource = errorDetailResource;
- }
- }
- }
- }
- errorResource.setTaskId(taskDetail.getTaskId());
- errorResource.setNodeId(taskDetail.getNodeId());
- workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
- errorResource.setExperimentId(workflowNode.getExperimentId());
- } else {
- logger.error("The id provided is not a job in the system..");
- }
- } else {
-// logger.error("The id provided is not an experiment id or a workflow id or a task id or a composite " +
-// "identifier for job..");
- }
- if (errorResource != null) {
- errorResource.setCreationTime(AiravataUtils.getTime(error.getCreationTime()));
- errorResource.setActualErrorMsg(error.getActualErrorMessage());
- errorResource.setUserFriendlyErrorMsg(error.getUserFriendlyMessage());
- errorResource.setTransientPersistent(error.isTransientOrPersistent());
- errorResource.save();
- return String.valueOf(errorResource.getErrorId());
- }
- } catch (Exception e) {
- logger.error("Unable to add error details...", e);
- throw new RegistryException(e);
- }
+// workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// taskDetail = workflowNode.getTaskDetail((String) id);
+// errorResource = (ErrorDetailResource) taskDetail.create(ResourceType.ERROR_DETAIL);
+// if (error.getErrorId() != null && !error.getErrorId().equals(airavata_commonsConstants.DEFAULT_ID)) {
+// List<ErrorDetailResource> errorDetailList = taskDetail.getErrorDetailList();
+// if (errorDetailList != null && !errorDetailList.isEmpty()) {
+// for (ErrorDetailResource errorDetailResource : errorDetailList) {
+// if (errorDetailResource.getErrorId() == Integer.parseInt(error.getErrorId())) {
+// errorResource = errorDetailResource;
+// }
+// }
+// }
+// }
+// errorResource.setTaskId(taskDetail.getTaskId());
+// errorResource.setNodeId(taskDetail.getNodeId());
+// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
+// errorResource.setExperimentId(workflowNode.getExperimentId());
+// } else {
+//// logger.error("The id provided is not an experiment id or a workflow id or a task id..");
+// }
+// } else if (id instanceof CompositeIdentifier) {
+// CompositeIdentifier cid = (CompositeIdentifier) id;
+// if (isJobDetailExist(cid)) {
+// experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
+// workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
+// taskDetail = workflowNode.getTaskDetail((String) cid.getTopLevelIdentifier());
+// JobDetailResource jobDetail = taskDetail.getJobDetail((String) cid.getSecondLevelIdentifier());
+// errorResource = (ErrorDetailResource) jobDetail.create(ResourceType.ERROR_DETAIL);
+// if (error.getErrorId() != null && !error.getErrorId().equals(airavata_commonsConstants.DEFAULT_ID)) {
+// List<ErrorDetailResource> errorDetailList = taskDetail.getErrorDetailList();
+// if (errorDetailList != null && !errorDetailList.isEmpty()) {
+// for (ErrorDetailResource errorDetailResource : errorDetailList) {
+// if (errorDetailResource.getErrorId() == Integer.parseInt(error.getErrorId())) {
+// errorResource = errorDetailResource;
+// }
+// }
+// }
+// }
+//
<TRUNCATED>