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/22 14:01:46 UTC
[8/9] airavata git commit: Fixing isExists CPI methods in experiment
registry
Fixing isExists CPI methods in experiment registry
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/99808c54
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/99808c54
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/99808c54
Branch: refs/heads/master
Commit: 99808c54d607e6ba1c530da03afffe08aec5904e
Parents: 11a208b
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 22 13:45:36 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 22 13:45:36 2015 +0530
----------------------------------------------------------------------
.../catalog/impl/ExperimentCatalogImpl.java | 8 +-
.../catalog/impl/ExperimentRegistry.java | 1192 +-----------------
2 files changed, 68 insertions(+), 1132 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/99808c54/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
index 22b4e02..95707f3 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
@@ -636,13 +636,13 @@ public class ExperimentCatalogImpl implements ExperimentCatalog {
case EXPERIMENT:
return experimentRegistry.isExperimentExist((String) identifier);
case USER_CONFIGURATION_DATA:
- return experimentRegistry.isExperimentConfigDataExist((String) identifier);
+ return experimentRegistry.isUserConfigDataExist((String) identifier);
case PROCESS:
- return experimentRegistry.isWFNodeExist((String) identifier);
+ return experimentRegistry.isProcessExist((String) identifier);
case PROCESS_RESOURCE_SCHEDULE:
- return experimentRegistry.isComputationalSchedulingExist(dataType, (String) identifier);
+ return experimentRegistry.isProcessResourceScheduleExist((String) identifier);
case TASK:
- return experimentRegistry.isTaskDetailExist((String) identifier);
+ return experimentRegistry.isTaskExist((String) identifier);
default:
logger.error("Unsupported data type...", new UnsupportedOperationException());
throw new UnsupportedOperationException();
http://git-wip-us.apache.org/repos/asf/airavata/blob/99808c54/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 44bf0e6..a855808 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
@@ -29,18 +29,14 @@ 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.task.TaskModel;
import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
-import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
import org.apache.airavata.registry.core.experiment.catalog.resources.*;
import org.apache.airavata.registry.core.experiment.catalog.utils.ThriftDataModelConversion;
-import org.apache.airavata.registry.cpi.CompositeIdentifier;
-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;
@@ -478,7 +474,7 @@ public class ExperimentRegistry {
existingExperiment.setProjectId(experiment.getProjectId());
existingExperiment.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime()));
existingExperiment.setDescription(experiment.getDescription());
- existingExperiment.setApplicationId(experiment.getExecutionId());
+ existingExperiment.setExecutionId(experiment.getExecutionId());
existingExperiment.setEnableEmailNotification(experiment.isEnableEmailNotification());
existingExperiment.save();
@@ -788,7 +784,8 @@ public class ExperimentRegistry {
public void updateUserConfigDataField(String expID, String fieldName, Object value) throws RegistryException {
try {
- ExperimentResource experiment = gatewayResource.getExperiment(expID);
+ ExperimentResource experiment = new ExperimentResource();
+ experiment.setExperimentId(expID);
UserConfigurationDataResource exConfigData = (UserConfigurationDataResource)
experiment.get(ResourceType.USER_CONFIGURATION_DATA, expID);
if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.AIRAVATA_AUTO_SCHEDULE)) {
@@ -801,7 +798,7 @@ public class ExperimentRegistry {
exConfigData.setShareExperimentPublically((Boolean) value);
exConfigData.save();
} else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)) {
- updateSchedulingData((ComputationalResourceSchedulingModel) value, experiment);
+ updateComputeResourceScheduling((ComputationalResourceSchedulingModel) value, expID);
} else {
logger.error("Unsupported field type for Experiment config data");
}
@@ -812,6 +809,20 @@ public class ExperimentRegistry {
}
}
+ public void updateComputeResourceScheduling(ComputationalResourceSchedulingModel value, String expID) throws RegistryException {
+ ExperimentResource experiment = new ExperimentResource();
+ experiment.setExperimentId(expID);
+ UserConfigurationDataResource configDataResource = experiment.getUserConfigurationDataResource();
+ configDataResource.setResourceHostId(value.getResourceHostId());
+ configDataResource.setTotalCpuCount(value.getTotalCPUCount());
+ configDataResource.setNodeCount(value.getNodeCount());
+ configDataResource.setNumberOfThreads(value.getNumberOfThreads());
+ configDataResource.setQueueName(value.getQueueName());
+ configDataResource.setWallTimeLimit(value.getWallTimeLimit());
+ configDataResource.setTotalPhysicalMemory(value.getTotalPhysicalMemory());
+ configDataResource.save();
+ }
+
//CPI get methods
public Object getExperiment(String expId, String fieldName) throws RegistryException {
try {
@@ -1230,304 +1241,56 @@ public class ExperimentRegistry {
}
- // 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);
-//// }
-//// }
-// } catch (Exception e) {
-// logger.error("Error while updating job details...", e);
-// throw new RegistryException(e);
-// }
- }
-
-// public String addDataTransferDetails(DataTransferDetails transferDetails, String taskId) throws RegistryException {
-// try {
-// if (transferDetails.getTransferDescription() == null){
-// throw new RegistryException("Data transfer description cannot be empty");
-// }
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
-// DataTransferDetailResource resource = (DataTransferDetailResource) taskDetail.create(ResourceType.DATA_TRANSFER_DETAIL);
-// resource.setTaskId(taskId);
-// resource.setTransferId(getDataTransferID(taskId));
-//
-// resource.setTransferDescription(transferDetails.getTransferDescription());
-// resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime()));
-// resource.save();
-// String transferId = resource.getTransferId();
-// TransferStatus transferStatus = transferDetails.getTransferStatus();
-// if (transferStatus != null) {
-// TransferStatus status = getDataTransferStatus(transferId);
-// if (status != null) {
-// updateTransferStatus(transferStatus, transferId);
-// } else {
-// CompositeIdentifier ids = new CompositeIdentifier(taskId, transferId);
-// addTransferStatus(transferStatus, ids);
-// }
-// }
-// return resource.getTransferId();
-// } catch (Exception e) {
-// logger.error("Error while adding transfer details...", e);
-// throw new RegistryException(e);
-// }
-// }
-
-// public String updateDataTransferDetails(DataTransferDetails transferDetails, String transferId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL);
-// DataTransferDetailResource resource = taskDetail.getDataTransferDetail(transferId);
-//// resource.setTaskDetailResource(taskDetail);
-// resource.setTransferDescription(transferDetails.getTransferDescription());
-// resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime()));
-// resource.save();
-// String taskId = resource.getTaskId();
-// TransferStatus transferStatus = transferDetails.getTransferStatus();
-// if (transferStatus != null) {
-// TransferStatus status = getDataTransferStatus(transferId);
-// if (status != null) {
-// updateTransferStatus(transferStatus, transferId);
-// } else {
-// CompositeIdentifier ids = new CompositeIdentifier(taskId, transferId);
-// addTransferStatus(transferStatus, ids);
-// }
-// }
-// return resource.getTransferId();
-// } catch (Exception e) {
-// logger.error("Error while updating transfer details...", e);
-// throw new RegistryException(e);
-// }
-// }
-
- /**
- * @param scheduling computational resource object
- * @param ids contains expId and taskId, if it is an experiment, task id can be null
- * @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);
-// }
- return null;
+ //isExists CPI methods
+ public boolean isExperimentExist(String expID) throws RegistryException {
+ try {
+ return gatewayResource.isExists(ResourceType.EXPERIMENT, expID);
+ } catch (Exception e) {
+ logger.error("Error while retrieving experiment...", e);
+ throw new RegistryException(e);
+ }
}
-// /**
-// * @param dataHandling advanced input data handling object
-// * @param ids contains expId and taskId
-// * @return data handling id
-// */
-// public String addInputDataHandling(AdvancedInputDataHandling dataHandling, CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
-// AdvanceInputDataHandlingResource dataHandlingResource = (AdvanceInputDataHandlingResource) experiment.create(ResourceType.ADVANCE_INPUT_DATA_HANDLING);
-// if (ids.getSecondLevelIdentifier() != null) {
-// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier());
-// dataHandlingResource.setTaskId(taskDetail.getTaskId());
-// }
-// dataHandlingResource.setProcessId(experiment.getExpID());
-// dataHandlingResource.setWorkingDir(dataHandling.getUniqueWorkingDirectory());
-// dataHandlingResource.setWorkingDirParent(dataHandling.getParentWorkingDirectory());
-// dataHandlingResource.setStageInputFiles(dataHandling.isStageInputFilesToWorkingDir());
-// dataHandlingResource.setCleanAfterJob(dataHandling.isCleanUpWorkingDirAfterJob());
-// dataHandlingResource.save();
-// return String.valueOf(dataHandlingResource.getDataHandlingId());
-// } catch (Exception e) {
-// logger.error("Error while adding input data handling...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// /**
-// * @param dataHandling advanced output data handling object
-// * @param ids contains expId and taskId
-// * @return data handling id
-// */
-// public String addOutputDataHandling(AdvancedOutputDataHandling dataHandling, CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
-// AdvancedOutputDataHandlingResource dataHandlingResource = (AdvancedOutputDataHandlingResource) experiment.create(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING);
-// if (ids.getSecondLevelIdentifier() != null) {
-// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier());
-// dataHandlingResource.setTaskId(taskDetail.getTaskId());
-// }
-// dataHandlingResource.setProcessId(experiment.getExpID());
-// dataHandlingResource.setOutputDataDir(dataHandling.getOutputDataDir());
-// dataHandlingResource.setDataRegUrl(dataHandling.getDataRegistryURL());
-// dataHandlingResource.setPersistOutputData(dataHandling.isPersistOutputData());
-// dataHandlingResource.save();
-// return String.valueOf(dataHandlingResource.getOutputDataHandlingId());
-// } catch (Exception e) {
-// logger.error("Error while adding output data handling...", e);
-// throw new RegistryException(e);
-// }
-// }
-
-// public String addQosParams(QualityOfServiceParams qosParams, CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
-// QosParamResource qosParamResource = (QosParamResource) experiment.create(ResourceType.QOS_PARAM);
-// if (ids.getSecondLevelIdentifier() != null) {
-// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier());
-// qosParamResource.setTaskId(taskDetail.getTaskId());
-// }
-// qosParamResource.setProcessId(experiment.getExpID());
-// qosParamResource.setStartExecutionAt(qosParams.getStartExecutionAt());
-// qosParamResource.setExecuteBefore(qosParams.getExecuteBefore());
-// qosParamResource.setNoOfRetries(qosParams.getNumberofRetries());
-// qosParamResource.save();
-// return String.valueOf(qosParamResource.getQosId());
-// } catch (Exception e) {
-// logger.error("Error while adding QOS params...", e);
-// throw new RegistryException(e);
-// }
-// }
-
- 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)) {
-//// 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);
-// }
- return null;
+ public boolean isUserConfigDataExist(String expID) throws RegistryException {
+ try {
+ ExperimentResource experiment = gatewayResource.getExperiment(expID);
+ experiment.isExists(ResourceType.USER_CONFIGURATION_DATA, expID);
+ return true;
+ } catch (Exception e) {
+ logger.error("Error while retrieving experiment...", e);
+ throw new RegistryException(e);
+ }
}
+ public boolean isProcessExist(String processId) throws RegistryException {
+ try {
+ ExperimentResource experiment = new ExperimentResource();
+ return experiment.isExists(ResourceType.PROCESS, processId);
+ } catch (Exception e) {
+ logger.error("Error while retrieving process...", e);
+ throw new RegistryException(e);
+ }
+ }
+
+ public boolean isProcessResourceScheduleExist(String processId) throws RegistryException {
+ try {
+ ExperimentResource experiment = new ExperimentResource();
+ return experiment.isExists(ResourceType.PROCESS_RESOURCE_SCHEDULE, processId);
+ } catch (Exception e) {
+ logger.error("Error while retrieving process...", e);
+ throw new RegistryException(e);
+ }
+ }
+
+ public boolean isTaskExist(String taskId) throws RegistryException {
+ try {
+ ProcessResource process = new ProcessResource();
+ return process.isExists(ResourceType.TASK, taskId);
+ } catch (Exception e) {
+ logger.error("Error while retrieving task.....", e);
+ throw new RegistryException(e);
+ }
+ }
public String getExperimentID(String experimentName) {
String exp = experimentName.replaceAll("\\s", "");
@@ -1554,833 +1317,6 @@ public class ExperimentRegistry {
return error + "_" + UUID.randomUUID();
}
-// public void updateQosParams(QualityOfServiceParams qosParams, ExperimentCatResource resource) throws RegistryException {
-// try {
-// if (resource instanceof ExperimentResource) {
-// ExperimentResource expResource = (ExperimentResource) resource;
-// QosParamResource qosr = expResource.getQOSparams(expResource.getExpID());
-// qosr.setProcessId(expResource.getExpID());
-// qosr.setStartExecutionAt(qosParams.getStartExecutionAt());
-// qosr.setExecuteBefore(qosParams.getExecuteBefore());
-// qosr.setNoOfRetries(qosParams.getNumberofRetries());
-// qosr.save();
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating QOS data...", e);
-// throw new RegistryException(e);
-// }
-//
-// }
-
-// public void updateOutputDataHandling(AdvancedOutputDataHandling outputDataHandling, ExperimentCatResource resource) throws RegistryException {
-// AdvancedOutputDataHandlingResource adodh;
-// try {
-// if (resource instanceof ExperimentResource) {
-// ExperimentResource expResource = (ExperimentResource) resource;
-// adodh = expResource.getOutputDataHandling(expResource.getExpID());
-// adodh.setProcessId(expResource.getExpID());
-// } else {
-// TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
-// ExperimentResource experimentResource = new ExperimentResource();
-// adodh = taskDetailResource.getOutputDataHandling(taskDetailResource.getTaskId());
-// adodh.setTaskId(taskDetailResource.getTaskId());
-// WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId());
-// adodh.setProcessId(nodeDetailResource.getProcessId());
-// }
-// adodh.setOutputDataDir(outputDataHandling.getOutputDataDir());
-// adodh.setDataRegUrl(outputDataHandling.getDataRegistryURL());
-// adodh.setPersistOutputData(outputDataHandling.isPersistOutputData());
-// adodh.save();
-// } catch (Exception e) {
-// logger.error("Error while updating output data handling...", e);
-// throw new RegistryException(e);
-// }
-//
-// }
-//
-// public void updateInputDataHandling(AdvancedInputDataHandling inputDataHandling, ExperimentCatResource resource) throws RegistryException {
-// AdvanceInputDataHandlingResource adidh;
-// try {
-// if (resource instanceof ExperimentResource) {
-// ExperimentResource expResource = (ExperimentResource) resource;
-// adidh = expResource.getInputDataHandling(expResource.getExpID());
-// adidh.setProcessId(expResource.getExpID());
-// } else {
-// TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
-// ExperimentResource experimentResource = new ExperimentResource();
-// adidh = taskDetailResource.getInputDataHandling(taskDetailResource.getTaskId());
-// adidh.setTaskId(taskDetailResource.getTaskId());
-// WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId());
-// adidh.setProcessId(nodeDetailResource.getProcessId());
-// }
-// adidh.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory());
-// adidh.setWorkingDirParent(inputDataHandling.getParentWorkingDirectory());
-// adidh.setStageInputFiles(inputDataHandling.isSetStageInputFilesToWorkingDir());
-// adidh.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob());
-// adidh.save();
-// } catch (Exception e) {
-// logger.error("Error while updating input data handling...", e);
-// throw new RegistryException(e);
-// }
-//
-// }
-
- public void updateSchedulingData(ComputationalResourceSchedulingModel resourceScheduling, ExperimentCatResource resource) throws RegistryException {
-// ComputationSchedulingResource cmsr;
-// try {
-// if (resource instanceof ExperimentResource) {
-// ExperimentResource expResource = (ExperimentResource) resource;
-// cmsr = expResource.getComputationScheduling(expResource.getExpID());
-// cmsr.setExperimentId(expResource.getExpID());
-// } else {
-// TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
-// ExperimentResource experimentResource = new ExperimentResource();
-// cmsr = taskDetailResource.getComputationScheduling(taskDetailResource.getTaskId());
-// cmsr.setTaskId(taskDetailResource.getTaskId());
-// WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId());
-// cmsr.setExperimentId(nodeDetailResource.getExperimentId());
-// }
-// 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.save();
-// } catch (Exception e) {
-// logger.error("Error while updating scheduling data...", e);
-// throw new RegistryException(e);
-// }
- }
-
-
- /**
- * Method to get matching experiment list with pagination and ordering
- * @param fieldName
- * @param value
- * @param limit
- * @param offset
- * @param orderByIdentifier
- * @param resultOrderType
- * @return
- * @throws RegistryException
- */
-
- public List<TaskModel> getTaskDetails(String fieldName, Object value) throws RegistryException {
-// try {
-// if (fieldName.equals(Constants.FieldConstants.TaskDetailConstants.NODE_ID)) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) value);
-// List<TaskDetailResource> taskDetails = workflowNode.getTaskDetails();
-// return ThriftDataModelConversion.getTaskDetailsList(taskDetails);
-// } else {
-// logger.error("Unsupported field name to retrieve task detail list...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting task details...", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public List<JobModel> getJobDetails(String fieldName, Object value) throws RegistryException {
-// try {
-// if (fieldName.equals(Constants.FieldConstants.JobDetaisConstants.TASK_ID)) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) value);
-// List<JobDetailResource> jobDetailList = taskDetail.getJobDetailList();
-// return ThriftDataModelConversion.getJobDetailsList(jobDetailList);
-// } else {
-// logger.error("Unsupported field name to retrieve job details list...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while job details...", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-//
-// public List<DataTransferDetails> getDataTransferDetails(String fieldName, Object value) throws RegistryException {
-// try {
-// if (fieldName.equals(Constants.FieldConstants.DataTransferDetailConstants.TASK_ID)) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) value);
-// List<DataTransferDetailResource> dataTransferDetailList = taskDetail.getDataTransferDetailList();
-// return ThriftDataModelConversion.getDataTransferlList(dataTransferDetailList);
-// } else {
-// logger.error("Unsupported field name to retrieve job details list...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting data transfer details...", e);
-// throw new RegistryException(e);
-// }
-// return null;
-// }
-
- public List<ErrorModel> getErrorDetails(String fieldName, Object value) throws RegistryException {
-// try {
-// if (fieldName.equals(Constants.FieldConstants.ErrorDetailsConstants.EXPERIMENT_ID)) {
-// ExperimentResource experiment = gatewayResource.getExperiment((String) value);
-// List<ErrorDetailResource> errorDetails = experiment.getErrorDetails();
-// return ThriftDataModelConversion.getErrorDetailList(errorDetails);
-// } else if (fieldName.equals(Constants.FieldConstants.ErrorDetailsConstants.NODE_ID)) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) value);
-// List<ErrorDetailResource> errorDetails = workflowNode.getErrorDetails();
-// return ThriftDataModelConversion.getErrorDetailList(errorDetails);
-// } else if (fieldName.equals(Constants.FieldConstants.ErrorDetailsConstants.TASK_ID)) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) value);
-// List<ErrorDetailResource> errorDetailList = taskDetail.getErrorDetailList();
-// return ThriftDataModelConversion.getErrorDetailList(errorDetailList);
-// } else if (fieldName.equals(Constants.FieldConstants.ErrorDetailsConstants.JOB_ID)) {
-// CompositeIdentifier cid = (CompositeIdentifier) value;
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) cid.getTopLevelIdentifier());
-// JobDetailResource jobDetail = taskDetail.getJobDetail((String) cid.getSecondLevelIdentifier());
-// List<ErrorDetailResource> errorDetails = jobDetail.getErrorDetails();
-// return ThriftDataModelConversion.getErrorDetailList(errorDetails);
-// } else {
-// logger.error("Unsupported field name to retrieve job details list...");
-// }
-// } catch (Exception e) {
-// logger.error("Unable to get error details...", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public ComputationalResourceSchedulingModel getComputationalScheduling(ExperimentCatalogModelType type, String id) throws RegistryException {
-// try {
-// ComputationSchedulingResource computationScheduling = null;
-// switch (type) {
-// case EXPERIMENT:
-// ExperimentResource resource = gatewayResource.getExperiment(id);
-// computationScheduling = resource.getComputationScheduling(id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// computationScheduling = taskDetail.getComputationScheduling(id);
-// break;
-// }
-// if (computationScheduling != null) {
-// return ThriftDataModelConversion.getComputationalResourceScheduling(computationScheduling);
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting scheduling data..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
-// public AdvancedInputDataHandling getInputDataHandling(ExperimentCatalogModelType type, String id) throws RegistryException {
-// try {
-// AdvanceInputDataHandlingResource dataHandlingResource = null;
-// switch (type) {
-// case EXPERIMENT:
-// ExperimentResource resource = gatewayResource.getExperiment(id);
-// dataHandlingResource = resource.getInputDataHandling(id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// dataHandlingResource = taskDetail.getInputDataHandling(id);
-// break;
-// }
-// if (dataHandlingResource != null) {
-// return ThriftDataModelConversion.getAdvanceInputDataHandling(dataHandlingResource);
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting input data handling..", e);
-// throw new RegistryException(e);
-// }
-// return null;
-// }
-//
-// public AdvancedOutputDataHandling getOutputDataHandling(ExperimentCatalogModelType type, String id) throws RegistryException {
-// try {
-// AdvancedOutputDataHandlingResource dataHandlingResource = null;
-// switch (type) {
-// case EXPERIMENT:
-// ExperimentResource resource = gatewayResource.getExperiment(id);
-// dataHandlingResource = resource.getOutputDataHandling(id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// dataHandlingResource = taskDetail.getOutputDataHandling(id);
-// break;
-// }
-// if (dataHandlingResource != null) {
-// return ThriftDataModelConversion.getAdvanceOutputDataHandling(dataHandlingResource);
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting output data handling...", e);
-// throw new RegistryException(e);
-// }
-// return null;
-// }
-//
-// public QualityOfServiceParams getQosParams(ExperimentCatalogModelType type, String id) throws RegistryException {
-// try {
-// QosParamResource qosParamResource = null;
-// switch (type) {
-// case EXPERIMENT:
-// ExperimentResource resource = gatewayResource.getExperiment(id);
-// qosParamResource = resource.getQOSparams(id);
-// break;
-// }
-// if (qosParamResource != null) {
-// return ThriftDataModelConversion.getQOSParams(qosParamResource);
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting qos params..", e);
-// throw new RegistryException(e);
-// }
-// return null;
-// }
-
-// private WorkflowNodeDetailResource getWorkflowNodeDetailResource(String nodeId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return resource.getWorkflowNode(nodeId);
-// } catch (Exception e) {
-// logger.error("Error while getting workflow node details...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public WorkflowNodeDetails getWorkflowNodeDetails(String nodeId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = resource.getWorkflowNode(nodeId);
-// return ThriftDataModelConversion.getWorkflowNodeDetails(workflowNode);
-// } catch (Exception e) {
-// logger.error("Error while getting workflow node details...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public WorkflowNodeStatus getWorkflowNodeStatus(String nodeId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = resource.getWorkflowNode(nodeId);
-// StatusResource workflowNodeStatus = workflowNode.getWorkflowNodeStatus();
-// return ThriftDataModelConversion.getWorkflowNodeStatus(workflowNodeStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting workflow node status..", e);
-// throw new RegistryException(e);
-// }
-// }
-
- public List<OutputDataObjectType> getNodeOutputs(String nodeId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = resource.getWorkflowNode(nodeId);
-// List<NodeOutputResource> nodeOutputs = workflowNode.getNodeOutputs();
-// return ThriftDataModelConversion.getNodeOutputs(nodeOutputs);
-// } catch (Exception e) {
-// logger.error("Error while getting node outputs..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public TaskModel getTaskDetails(String taskId) throws RegistryException {
-// try {
-// TaskDetailResource taskDetail = getTaskDetailResource(taskId);
-// return ThriftDataModelConversion.getTaskModel(taskDetail);
-// } catch (Exception e) {
-// logger.error("Error while getting task details..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- private TaskResource getTaskDetailResource(String taskId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// return workflowNode.getTaskDetail(taskId);
-// } catch (Exception e) {
-// logger.error("Error while getting task details..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public List<OutputDataObjectType> getApplicationOutputs(String taskId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
-// List<ApplicationOutputResource> applicationOutputs = taskDetail.getApplicationOutputs();
-// return ThriftDataModelConversion.getApplicationOutputs(applicationOutputs);
-// } catch (Exception e) {
-// logger.error("Error while getting application outputs..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public TaskStatus getTaskStatus(String taskId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId);
-// StatusResource taskStatus = taskDetail.getTaskStatus();
-// return ThriftDataModelConversion.getTaskStatus(taskStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting experiment outputs..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
-
- // ids contains task id + job id
- public JobModel getJobDetails(CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
-// JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
-// return ThriftDataModelConversion.getJobDetail(jobDetail);
-// } catch (Exception e) {
-// logger.error("Error while getting job details..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- // ids contains task id + job id
- public JobStatus getJobStatus(CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
-// JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
-// StatusResource jobStatus = jobDetail.getJobStatus();
-// return ThriftDataModelConversion.getJobStatus(jobStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting job status..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
-// public ApplicationStatus getApplicationStatus(CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier());
-// JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier());
-// StatusResource applicationStatus = jobDetail.getApplicationStatus();
-// return ThriftDataModelConversion.getApplicationStatus(applicationStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting application status..", e);
-// throw new RegistryException(e);
-// }
-// }
-
-// public DataTransferDetails getDataTransferDetails(String transferId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL);
-// DataTransferDetailResource dataTransferDetail = taskDetail.getDataTransferDetail(transferId);
-// return ThriftDataModelConversion.getDataTransferDetail(dataTransferDetail);
-// } catch (Exception e) {
-// logger.error("Error while getting data transfer details..", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public TransferStatus getDataTransferStatus(String transferId) throws RegistryException {
-// try {
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL);
-// DataTransferDetailResource dataTransferDetail = taskDetail.getDataTransferDetail(transferId);
-// StatusResource dataTransferStatus = dataTransferDetail.getDataTransferStatus();
-// return ThriftDataModelConversion.getTransferStatus(dataTransferStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting data transfer status..", e);
-// throw new RegistryException(e);
-// }
-// }
-
-// public List<String> getWorkflowNodeIds(String fieldName, Object value) throws RegistryException {
-// List<String> wfIds = new ArrayList<String>();
-// List<WorkflowNodeDetails> wfNodeDetails = getWFNodeDetails(fieldName, value);
-// for (WorkflowNodeDetails wf : wfNodeDetails) {
-// wfIds.add(wf.getNodeInstanceId());
-// }
-// return wfIds;
-// }
-
-//
-// public List<String> getTransferDetailIds(String fieldName, Object value) throws RegistryException {
-// List<String> transferIds = new ArrayList<String>();
-// List<DataTransferDetails> dataTransferDetails = getDataTransferDetails(fieldName, value);
-// for (DataTransferDetails dtd : dataTransferDetails) {
-// transferIds.add(dtd.getTransferID());
-// }
-// return transferIds;
-// }
-
-
- public void removeJobDetails(CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetailResource = nodeDetailResource.getTaskDetail((String) ids.getTopLevelIdentifier());
-// taskDetailResource.remove(ResourceType.JOB_DETAIL, (String) ids.getSecondLevelIdentifier());
-// } catch (Exception e) {
-// logger.error("Error while removing job details..", e);
-// throw new RegistryException(e);
-// }
- }
-
- public void removeDataTransferDetails(String transferId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = (TaskDetailResource) nodeDetailResource.create(ResourceType.TASK_DETAIL);
-// taskDetail.remove(ResourceType.DATA_TRANSFER_DETAIL, transferId);
-// } catch (Exception e) {
-// logger.error("Error while removing transfer details..", e);
-// throw new RegistryException(e);
-// }
- }
-
- public void removeComputationalScheduling(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// experiment.remove(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// taskDetail.remove(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, id);
-// break;
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while removing scheduling data..", e);
-// throw new RegistryException(e);
-// }
- }
-
- public void removeInputDataHandling(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// experiment.remove(ResourceType.ADVANCE_INPUT_DATA_HANDLING, id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// taskDetail.remove(ResourceType.ADVANCE_INPUT_DATA_HANDLING, id);
-// break;
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while removing input data handling..", e);
-// throw new RegistryException(e);
-// }
- }
-
- public void removeOutputDataHandling(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// experiment.remove(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, id);
-// break;
-// case TASK_DETAIL:
-// ExperimentResource resource = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) resource.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// taskDetail.remove(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, id);
-// break;
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while removing output data handling..", e);
-// throw new RegistryException(e);
-// }
- }
-
- public void removeQOSParams(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// experiment.remove(ResourceType.QOS_PARAM, id);
-// break;
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while removing QOS params", e);
-// throw new RegistryException(e);
-// }
- }
-
- public boolean isExperimentExist(String expID) throws RegistryException {
- try {
- return gatewayResource.isExists(ResourceType.EXPERIMENT, expID);
- } catch (Exception e) {
- logger.error("Error while retrieving experiment...", e);
- throw new RegistryException(e);
- }
- }
-
- public boolean isExperimentConfigDataExist(String expID) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment(expID);
-// experiment.isExists(ResourceType.CONFIG_DATA, expID);
-// return true;
-// } catch (Exception e) {
-// logger.error("Error while retrieving experiment...", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isWFNodeExist(String nodeId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return experiment.isExists(ResourceType.WORKFLOW_NODE_DETAIL, nodeId);
-// } catch (Exception e) {
-// logger.error("Error while retrieving workflow...", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isTaskDetailExist(String taskId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// return wf.isExists(ResourceType.TASK_DETAIL, taskId);
-// } catch (Exception e) {
-// logger.error("Error while retrieving task.....", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isJobDetailExist(CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail((String) ids.getTopLevelIdentifier());
-// return taskDetail.isExists(ResourceType.JOB_DETAIL, (String) ids.getSecondLevelIdentifier());
-// } catch (Exception e) {
-// logger.error("Error while retrieving job details.....", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isTransferDetailExist(String transferId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = (TaskDetailResource) wf.create(ResourceType.TASK_DETAIL);
-// return taskDetail.isExists(ResourceType.DATA_TRANSFER_DETAIL, transferId);
-// } catch (Exception e) {
-// logger.error("Error while retrieving transfer details.....", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isComputationalSchedulingExist(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return experiment.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, id);
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// return taskDetail.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, id);
-// default:
-// logger.error("Unsupported data type...");
-//
-// }
-// } catch (Exception e) {
-// logger.error("Error while retrieving scheduling data.....", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isInputDataHandlingExist(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return experiment.isExists(ResourceType.ADVANCE_INPUT_DATA_HANDLING, id);
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// return taskDetail.isExists(ResourceType.ADVANCE_INPUT_DATA_HANDLING, id);
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while retrieving input data handling.....", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isOutputDataHandlingExist(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return experiment.isExists(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, id);
-// case TASK_DETAIL:
-// ExperimentResource exp = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource) exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-// return taskDetail.isExists(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, id);
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while retrieving output data handling..", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public boolean isQOSParamsExist(ExperimentCatalogModelType dataType, String id) throws RegistryException {
-// try {
-// switch (dataType) {
-// case EXPERIMENT:
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// return experiment.isExists(ResourceType.QOS_PARAM, id);
-//// case TASK_DETAIL:
-//// ExperimentResource exp = (ExperimentResource)defaultGateway.create(ResourceType.EXPERIMENT);
-//// WorkflowNodeDetailResource wf = (WorkflowNodeDetailResource)exp.create(ResourceType.WORKFLOW_NODE_DETAIL);
-//// TaskDetailResource taskDetail = wf.getTaskDetail(id);
-//// return taskDetail.isExists(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, id);
-// default:
-// logger.error("Unsupported data type...");
-// }
-// } catch (Exception e) {
-// logger.error("Error while retrieving qos params..", e);
-// throw new RegistryException(e);
-// }
- return false;
- }
-
- public void updateScheduling(ComputationalResourceSchedulingModel scheduling, String id, String type) throws RegistryException {
-// try {
-// if (type.equals(ExperimentCatalogModelType.EXPERIMENT.toString())) {
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// updateSchedulingData(scheduling, experiment);
-// } else if (type.equals(ExperimentCatalogModelType.TASK_DETAIL.toString())) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(id);
-// updateSchedulingData(scheduling, taskDetail);
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating scheduling..", e);
-// throw new RegistryException(e);
-// }
- }
-
-// public void updateInputDataHandling(AdvancedInputDataHandling dataHandling, String id, String type) throws RegistryException {
-// try {
-// if (type.equals(ExperimentCatalogModelType.EXPERIMENT.toString())) {
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// updateInputDataHandling(dataHandling, experiment);
-// } else if (type.equals(ExperimentCatalogModelType.TASK_DETAIL.toString())) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(id);
-// updateInputDataHandling(dataHandling, taskDetail);
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating input data handling..", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public void updateOutputDataHandling(AdvancedOutputDataHandling dataHandling, String id, String type) throws RegistryException {
-// try {
-// if (type.equals(ExperimentCatalogModelType.EXPERIMENT.toString())) {
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// updateOutputDataHandling(dataHandling, experiment);
-// } else if (type.equals(ExperimentCatalogModelType.TASK_DETAIL.toString())) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(id);
-// updateOutputDataHandling(dataHandling, taskDetail);
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating output data handling", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public void updateQOSParams(QualityOfServiceParams params, String id, String type) throws RegistryException {
-// try {
-// if (type.equals(ExperimentCatalogModelType.EXPERIMENT.toString())) {
-// ExperimentResource experiment = gatewayResource.getExperiment(id);
-// updateQosParams(params, experiment);
-// } else if (type.equals(ExperimentCatalogModelType.TASK_DETAIL.toString())) {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// TaskDetailResource taskDetail = workflowNode.getTaskDetail(id);
-// updateQosParams(params, taskDetail);
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating QOS data..", e);
-// throw new RegistryException(e);
-// }
-// }
-
- /**
- * To search the experiments of user with the given filter criteria and retrieve the results with
- * pagination support. Results can be ordered based on an identifier (i.e column) either ASC or
- * DESC.
- *
- * @param filters
- * @param limit
- * @param offset
- * @param orderByIdentifier
- * @param resultOrderType
- * @return
- * @throws RegistryException
- */
public boolean isValidStatusTransition(Object object1, Object object2) {
if (object1 instanceof ExperimentState && object2 instanceof ExperimentState) {