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:42 UTC
[4/9] airavata git commit: Fixing get and search CPI methods in the
experiment registry class
Fixing get and search CPI methods in the experiment registry class
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/bce94ae9
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/bce94ae9
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/bce94ae9
Branch: refs/heads/master
Commit: bce94ae9379f937f1418500e22c50dd8540f8737
Parents: 1968ff4
Author: Supun Nakandala <sc...@apache.org>
Authored: Sun Jun 21 23:09:16 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Sun Jun 21 23:09:16 2015 +0530
----------------------------------------------------------------------
.../catalog/impl/ExperimentCatalogImpl.java | 4 +-
.../catalog/impl/ExperimentRegistry.java | 1241 +++++-------------
.../resources/AbstractExpCatResource.java | 3 +
.../utils/ThriftDataModelConversion.java | 15 +
.../airavata/registry/cpi/utils/Constants.java | 62 +-
5 files changed, 346 insertions(+), 979 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/bce94ae9/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 4fa7a1b..97fa40e 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
@@ -317,7 +317,7 @@ public class ExperimentCatalogImpl implements ExperimentCatalog {
case EXPERIMENT_STATUS:
return experimentRegistry.getExperimentStatus((String) identifier);
case EXPERIMENT_ERROR:
- return experimentRegistry.getExperimentError((String) identifier);
+ return experimentRegistry.getExperimentErrors((String) identifier);
case PROCESS:
return experimentRegistry.getProcess((String) identifier, null);
case PROCESS_RESOURCE_SCHEDULE:
@@ -331,7 +331,7 @@ public class ExperimentCatalogImpl implements ExperimentCatalog {
case PROCESS_ERROR:
return experimentRegistry.getProcessError((String) identifier);
case TASK:
- return experimentRegistry.getTask((String) identifier);
+ return experimentRegistry.getTask((String) identifier, null);
case TASK_STATUS:
return experimentRegistry.getTaskStatus((String) identifier);
case TASK_ERROR:
http://git-wip-us.apache.org/repos/asf/airavata/blob/bce94ae9/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 442b6b8..aa0bb41 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
@@ -49,10 +49,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
public class ExperimentRegistry {
private GatewayResource gatewayResource;
@@ -608,13 +605,12 @@ public class ExperimentRegistry {
return experimentId;
}
- public void updateProcess(ProcessModel process, String experimentId) throws RegistryException {
+ public void updateProcess(ProcessModel process, String processId) throws RegistryException {
try {
ExperimentResource experimentResource = new ExperimentResource();
- experimentResource.setExperimentId(experimentId);
- ProcessResource processResource = experimentResource.getProcess(process.getProcessId());
+ ProcessResource processResource = experimentResource.getProcess(processId);
processResource.setProcessId(process.getProcessId());
- processResource.setExperimentId(experimentId);
+ processResource.setExperimentId(process.getExperimentId());
processResource.setCreationTime(AiravataUtils.getTime(process.getCreationTime()));
processResource.setLastUpdateTime(AiravataUtils.getTime(process.getLastUpdateTime()));
processResource.setProcessDetail(process.getProcessDetail());
@@ -735,12 +731,11 @@ public class ExperimentRegistry {
return addProcessError(processError, processID);
}
- public String updateTask(TaskModel task, String processID) throws RegistryException {
+ public String updateTask(TaskModel task, String taskID) throws RegistryException {
try {
ProcessResource processResource = new ProcessResource();
- processResource.setProcessId(processID);
- TaskResource taskResource = processResource.getTask(task.getTaskId());
- taskResource.setParentProcessId(getProcessID(processID));
+ TaskResource taskResource = processResource.getTask(taskID);
+ taskResource.setParentProcessId(task.getParentProcessId());
taskResource.setTaskType(task.getTaskType().toString());
taskResource.setCreationTime(AiravataUtils.getTime(task.getCreationTime()));
taskResource.setLastUpdateTime(AiravataUtils.getTime(task.getLastUpdateTime()));
@@ -755,10 +750,10 @@ public class ExperimentRegistry {
updateTaskError(task.getTaskError(), task.getTaskId());
}
} catch (Exception e) {
- logger.error(processID, "Error while adding task...", e);
+ logger.error(taskID, "Error while adding task...", e);
throw new RegistryException(e);
}
- return processID;
+ return taskID;
}
public String updateTaskStatus(TaskStatus taskStatus, String taskID) throws RegistryException {
@@ -779,13 +774,12 @@ public class ExperimentRegistry {
} else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
experiment.setUserName((String) value);
experiment.save();
- } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC)) {
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.DESCRIPTION)) {
experiment.setDescription((String) value);
experiment.save();
} else {
logger.error("Unsupported field type for Experiment");
}
-
} catch (Exception e) {
logger.error("Error while updating fields in experiment...", e);
throw new RegistryException(e);
@@ -797,16 +791,16 @@ public class ExperimentRegistry {
ExperimentResource experiment = gatewayResource.getExperiment(expID);
UserConfigurationDataResource exConfigData = (UserConfigurationDataResource)
experiment.get(ResourceType.USER_CONFIGURATION_DATA, expID);
- if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.AIRAVATA_AUTO_SCHEDULE)) {
+ if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.AIRAVATA_AUTO_SCHEDULE)) {
exConfigData.setAiravataAutoSchedule((Boolean) value);
exConfigData.save();
- } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.OVERRIDE_MANUAL_PARAMS)) {
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.OVERRIDE_MANUAL_PARAMS)) {
exConfigData.setOverrideManualScheduledParams((Boolean) value);
exConfigData.save();
- } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.SHARE_EXP)) {
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.SHARE_EXP)) {
exConfigData.setShareExperimentPublically((Boolean) value);
exConfigData.save();
- } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)) {
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)) {
updateSchedulingData((ComputationalResourceSchedulingModel) value, experiment);
} else {
logger.error("Unsupported field type for Experiment config data");
@@ -818,588 +812,319 @@ public class ExperimentRegistry {
}
}
+ //CPI get methods
+ public Object getExperiment(String expId, String fieldName) throws RegistryException {
+ try {
+ ExperimentResource resource = gatewayResource.getExperiment(expId);
+ if (fieldName == null) {
+ return ThriftDataModelConversion.getExperiment(resource);
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
+ return resource.getUserName();
+ }else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+ return resource.getGatewayExecutionId();
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) {
+ return resource.getExperimentName();
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.DESCRIPTION)) {
+ return resource.getDescription();
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXECUTION_ID)) {
+ return resource.getExecutionId();
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
+ return resource.getProjectId();
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_INPUTS)) {
+ return ThriftDataModelConversion.getExpInputs(resource.getExperimentInputs());
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_OUTPUTS)) {
+ return ThriftDataModelConversion.getExpOutputs(resource.getExperimentOutputs());
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS)) {
+ return ThriftDataModelConversion.getExperimentStatus(resource.getExperimentStatus());
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_ERRORS)) {
+ return ThriftDataModelConversion.getExperimentErrorList(resource.getExperimentErrors());
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_CONFIGURATION_DATA)) {
+ return ThriftDataModelConversion.getUserConfigData(resource.getUserConfigurationDataResource());
+ } else {
+ logger.error("Unsupported field name for experiment basic data..");
+ }
+ } catch (Exception e) {
+ logger.error("Error while getting experiment info...", e);
+ throw new RegistryException(e);
+ }
+ return null;
+ }
-// public String addWorkflowNodeStatus(WorkflowNodeStatus status, CompositeIdentifier ids) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier());
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getSecondLevelIdentifier());
-// StatusResource statusResource = (StatusResource) experiment.create(ResourceType.STATUS);
-// statusResource.setProcessId(experiment.getExpID());
-// statusResource.setNodeId(workflowNode.getNodeInstanceId());
-// statusResource.setStatusType(StatusType.WORKFLOW_NODE.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// if (status.getWorkflowNodeState() == null) {
-// statusResource.setState(WorkflowNodeState.UNKNOWN.toString());
-// } else {
-// statusResource.setState(status.getWorkflowNodeState().toString());
-// }
-// statusResource.save();
-// return String.valueOf(statusResource.getStatusId());
-// } catch (Exception e) {
-// logger.error("Error while adding workflow node status...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public String updateWorkflowNodeStatus(WorkflowNodeStatus status, String nodeId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId);
-// StatusResource statusResource = workflowNode.getWorkflowNodeStatus();
-// if (statusResource == null) {
-// statusResource = (StatusResource) workflowNode.create(ResourceType.STATUS);
-// }
-// statusResource.setProcessId(workflowNode.getProcessId());
-// statusResource.setNodeId(nodeId);
-// statusResource.setStatusType(StatusType.WORKFLOW_NODE.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// statusResource.setState(status.getWorkflowNodeState().toString());
-// statusResource.save();
-// logger.debugId(nodeId, "Updated workflow node {} status to {}.", nodeId, status.toString());
-// return String.valueOf(statusResource.getStatusId());
-// } catch (Exception e) {
-// logger.errorId(nodeId, "Error while updating workflow node status to " + status.toString() + "...", e);
-// throw new RegistryException(e);
-// }
-// }
+ public Object getExperimentInputs(String expID) throws RegistryException {
+ return getExperiment(expID, Constants.FieldConstants.ExperimentConstants.EXPERIMENT_INPUTS);
+ }
- 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);
-// }
+ public Object getExperimentOutputs(String expID) throws RegistryException {
+ return getExperiment(expID, Constants.FieldConstants.ExperimentConstants.EXPERIMENT_OUTPUTS);
+ }
+
+ public Object getExperimentErrors(String expID) throws RegistryException {
+ return getExperiment(expID, Constants.FieldConstants.ExperimentConstants.EXPERIMENT_ERRORS);
+ }
+
+ public Object getExperimentStatus(String expID) throws RegistryException {
+ return getExperiment(expID, Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS);
+ }
+
+ public Object getUserConfigData(String expId, String fieldName) throws RegistryException {
+ try {
+ ExperimentResource resource = gatewayResource.getExperiment(expId);
+ UserConfigurationDataResource userConfigData = resource.getUserConfigurationDataResource();
+ if (fieldName == null) {
+ return ThriftDataModelConversion.getUserConfigData(userConfigData);
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.AIRAVATA_AUTO_SCHEDULE)) {
+ return userConfigData.getAiravataAutoSchedule();
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.OVERRIDE_MANUAL_PARAMS)) {
+ return userConfigData.getOverrideManualScheduledParams();
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.SHARE_EXP)) {
+ return userConfigData.getShareExperimentPublically();
+ } else if (fieldName.equals(Constants.FieldConstants.UserConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)){
+ return ThriftDataModelConversion.getComputationalResourceScheduling(userConfigData);
+ } else {
+ logger.error("Unsupported field name for experiment configuration data..");
+ }
+ } catch (Exception e) {
+ logger.error("Error while getting config data..", e);
+ throw new RegistryException(e);
+ }
return null;
}
- /**
- * @param status job status
- * @param ids composite id will contain taskid and jobid
- * @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);
-// }
+ //Todo
+ public Object getProcess(String processId, String fieldName) throws RegistryException {
+ try {
+ ExperimentResource experimentResource = new ExperimentResource();
+ ProcessResource resource = experimentResource.getProcess(processId);
+ if (fieldName == null) {
+ return ThriftDataModelConversion.getProcesModel(resource);
+ } else {
+ logger.error("Unsupported field name for experiment basic data..");
+ }
+ }catch (Exception e) {
+ logger.error("Error while getting process data..", 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);
-// }
+ public Object getProcessError(String identifier) {
return null;
}
-// /**
-// * @param status application status
-// * @param ids composite id will contain taskid and jobid
-// * @return status id
-// */
-// public String addApplicationStatus(ApplicationStatus 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 = (StatusResource) jobDetail.create(ResourceType.STATUS);
-// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
-// statusResource.setProcessId(workflowNode.getProcessId());
-// statusResource.setNodeId(workflowNode.getNodeInstanceId());
-// statusResource.setTaskId(taskDetail.getTaskId());
-// statusResource.setStatusType(StatusType.APPLICATION.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// if (status.getApplicationState() == null) {
-// statusResource.setState("UNKNOWN");
-// } else {
-// statusResource.setState(status.getApplicationState());
-// }
-// statusResource.save();
-// return String.valueOf(statusResource.getStatusId());
-// } catch (Exception e) {
-// logger.error("Unable to read airavata-server properties", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public void updateApplicationStatus(ApplicationStatus status, String jobId) 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);
-// JobDetailResource jobDetail = taskDetail.getJobDetail(jobId);
-// StatusResource statusResource = jobDetail.getApplicationStatus();
-// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
-// statusResource.setProcessId(workflowNode.getProcessId());
-// statusResource.setNodeId(workflowNode.getNodeInstanceId());
-// statusResource.setTaskId(taskDetail.getTaskId());
-// statusResource.setStatusType(StatusType.APPLICATION.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// statusResource.setState(status.getApplicationState());
-// statusResource.save();
-// } catch (Exception e) {
-// logger.error("Error while updating application status...", e);
-// throw new RegistryException(e);
-// }
-// }
+ public Object getProcessStatus(String identifier) {
+ return null;
+ }
+ public Object getProcessInputs(String identifier) {
+ return null;
+ }
-// public String addTransferStatus(TransferStatus 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());
-// DataTransferDetailResource dataTransferDetail = taskDetail.getDataTransferDetail((String) ids.getSecondLevelIdentifier());
-// StatusResource statusResource = (StatusResource) dataTransferDetail.create(ResourceType.STATUS);
-// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
-// statusResource.setProcessId(workflowNode.getProcessId());
-// statusResource.setNodeId(workflowNode.getNodeInstanceId());
-// statusResource.setTaskId(taskDetail.getTaskId());
-// statusResource.setTransferId(dataTransferDetail.getTransferId());
-// statusResource.setStatusType(StatusType.DATA_TRANSFER.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// if (status.getTransferState() == null) {
-// statusResource.setState(TransferState.UNKNOWN.toString());
-// } else {
-// statusResource.setState(status.getTransferState().toString());
-// }
-// statusResource.save();
-// return String.valueOf(statusResource.getStatusId());
-// } catch (Exception e) {
-// logger.error("Error while adding transfer status...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public void updateTransferStatus(TransferStatus status, 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 dataTransferDetail = taskDetail.getDataTransferDetail(transferId);
-// StatusResource statusResource = dataTransferDetail.getDataTransferStatus();
-//
-// String taskId = dataTransferDetail.getTaskId();
-// taskDetail = workflowNode.getTaskDetail(taskId);
-// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
-// if (workflowNode != null) {
-// statusResource.setProcessId(workflowNode.getProcessId());
-// statusResource.setNodeId(workflowNode.getNodeInstanceId());
-// }
-// statusResource.setTaskId(taskId);
-// statusResource.setTransferId(transferId);
-// statusResource.setStatusType(StatusType.DATA_TRANSFER.toString());
-// statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange()));
-// statusResource.setState(status.getTransferState().toString());
-// statusResource.save();
-// } catch (Exception e) {
-// logger.error("Error while updating transfer status...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public String addWorkflowNodeDetails(WorkflowNodeDetails nodeDetails, String expId) throws RegistryException {
-// try {
-// ExperimentResource experiment = gatewayResource.getExperiment(expId);
-// WorkflowNodeDetailResource resource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL);
-// resource.setProcessId(expId);
-// resource.setNodeName(nodeDetails.getNodeName());
-// resource.setExecutionUnit(nodeDetails.getExecutionUnit().toString());
-// resource.setExecutionUnitData(nodeDetails.getExecutionUnitData());
-// resource.setCreationTime(AiravataUtils.getTime(nodeDetails.getCreationTime()));
-// resource.setNodeInstanceId(getNodeInstanceID(nodeDetails.getNodeName()));
-// resource.save();
-// String nodeId = resource.getNodeInstanceId();
-// List<InputDataObjectType> nodeInputs = nodeDetails.getNodeInputs();
-// if (nodeInputs != null) {
-// addWorkflowInputs(nodeDetails.getNodeInputs(), resource);
-// }
-// List<OutputDataObjectType> nodeOutputs = nodeDetails.getNodeOutputs();
-// if (nodeOutputs != null && !nodeOutputs.isEmpty()) {
-// CompositeIdentifier ids = new CompositeIdentifier(expId, nodeId);
-// addNodeOutputs(nodeOutputs, ids);
-// }
-// WorkflowNodeStatus workflowNodeStatus = nodeDetails.getWorkflowNodeStatus();
-// CompositeIdentifier ids = new CompositeIdentifier(expId, nodeId);
-// if (workflowNodeStatus == null) {
-// workflowNodeStatus = new WorkflowNodeStatus();
-// }
-//// if (workflowNodeStatus.getWorkflowNodeState() != null){
-//// WorkflowNodeStatus status = getWorkflowNodeStatus(nodeId);
-//// if (status != null){
-//// updateWorkflowNodeStatus(workflowNodeStatus, nodeId);
-//// }else {
-//// addWorkflowNodeStatus(workflowNodeStatus,ids);
-//// }
-//// }else {
-//// workflowNodeStatus.setWorkflowNodeState(WorkflowNodeState.UNKNOWN);
-//// addWorkflowNodeStatus(workflowNodeStatus, ids);
-//// }
-// workflowNodeStatus.setWorkflowNodeState(WorkflowNodeState.UNKNOWN);
-// addWorkflowNodeStatus(workflowNodeStatus, ids);
-// List<TaskDetails> taskDetails = nodeDetails.getTaskDetailsList();
-// if (taskDetails != null && !taskDetails.isEmpty()) {
-// for (TaskDetails task : taskDetails) {
-// addTaskDetails(task, nodeId);
-// }
-// }
-// List<ErrorDetails> errors = nodeDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, nodeId);
-// }
-// }
-// return nodeId;
-// } catch (Exception e) {
-// logger.error("Error while adding workflow node details...", e);
-// throw new RegistryException(e);
-// }
-// }
-//
-// public void updateWorkflowNodeDetails(WorkflowNodeDetails nodeDetails, String nodeId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId);
-// workflowNode.setNodeName(nodeDetails.getNodeName());
-// workflowNode.setExecutionUnit(nodeDetails.getExecutionUnit().toString());
-// workflowNode.setExecutionUnitData(nodeDetails.getExecutionUnitData());
-// workflowNode.setCreationTime(AiravataUtils.getTime(nodeDetails.getCreationTime()));
-// workflowNode.setNodeInstanceId(nodeId);
-// workflowNode.save();
-// String expID = workflowNode.getProcessId();
-// List<InputDataObjectType> nodeInputs = nodeDetails.getNodeInputs();
-// if (nodeInputs != null) {
-// updateWorkflowInputs(nodeDetails.getNodeInputs(), workflowNode);
-// }
-// List<OutputDataObjectType> nodeOutputs = nodeDetails.getNodeOutputs();
-// if (nodeOutputs != null && !nodeOutputs.isEmpty()) {
-// updateNodeOutputs(nodeOutputs, nodeId);
-// }
-// WorkflowNodeStatus workflowNodeStatus = nodeDetails.getWorkflowNodeStatus();
-// if (workflowNodeStatus != null) {
-// if (isWFNodeExist(nodeId)) {
-// updateWorkflowNodeStatus(workflowNodeStatus, nodeId);
-// } else {
-// CompositeIdentifier ids = new CompositeIdentifier(expID, nodeId);
-// addWorkflowNodeStatus(workflowNodeStatus, ids);
-// }
-// }
-// List<TaskDetails> taskDetails = nodeDetails.getTaskDetailsList();
-// if (taskDetails != null && !taskDetails.isEmpty()) {
-// for (TaskDetails task : taskDetails) {
-// String taskID = task.getTaskID();
-// if (isTaskDetailExist(taskID)) {
-// updateTaskDetails(task, taskID);
-// } else {
-// addTaskDetails(task, nodeId);
-// }
-// }
-// }
-// List<ErrorDetails> errors = nodeDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, nodeId);
-// }
-// }
-// } catch (Exception e) {
-// logger.error("Error while updating workflow node details...", e);
-// throw new RegistryException(e);
-// }
-// }
+ public Object getProcessOutputs(String identifier) {
+ return null;
+ }
+ public Object getProcessResourceSchedule(String identifier, Object o) {
+ return null;
+ }
-// public String addTaskDetails(TaskModel taskDetails, String nodeId) throws RegistryException {
-// try {
-// ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT);
-// WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId);
-// TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL);
-// taskDetail.setNodeId(nodeId);
-// taskDetail.setTaskId(getTaskID(workflowNode.getNodeName()));
-// taskDetail.setApplicationId(taskDetails.getApplicationId());
-// taskDetail.setApplicationVersion(taskDetails.getApplicationVersion());
-// taskDetail.setCreationTime(AiravataUtils.getTime(taskDetails.getCreationTime()));
-// taskDetail.setEnableEmailNotifications(taskDetails.isEnableEmailNotification());
-// taskDetail.save();
-//
-// List<String> emailAddresses = taskDetails.getEmailAddresses();
-// if (emailAddresses != null && !emailAddresses.isEmpty()){
-// for (String email : emailAddresses){
-// NotificationEmailResource emailResource = new NotificationEmailResource();
-// emailResource.setProcessId(workflowNode.getProcessId());
-// emailResource.setTaskId(taskDetail.getTaskId());
-// emailResource.setEmailAddress(email);
-// emailResource.save();
-// }
-// }
-//
-// List<InputDataObjectType> applicationInputs = taskDetails.getApplicationInputs();
-// if (applicationInputs != null) {
-// addAppInputs(applicationInputs, taskDetail);
-// }
-// List<OutputDataObjectType> applicationOutput = taskDetails.getApplicationOutputs();
-// if (applicationOutput != null) {
-// addAppOutputs(applicationOutput, taskDetail);
-// }
-// ComputationalResourceSchedulingModel taskScheduling = taskDetails.getTaskScheduling();
-// if (taskScheduling != null) {
-// addComputationScheduling(taskScheduling, taskDetail);
-// }
-//// AdvancedInputDataHandling inputDataHandling = taskDetails.getAdvancedInputDataHandling();
-//// if (inputDataHandling != null) {
-//// addInputDataHandling(inputDataHandling, taskDetail);
-//// }
-//// AdvancedOutputDataHandling outputDataHandling = taskDetails.getAdvancedOutputDataHandling();
-//// if (outputDataHandling != null) {
-//// addOutputDataHandling(outputDataHandling, taskDetail);
-//// }
-//
-// List<JobModel> jobDetailsList = taskDetails.getJobDetailsList();
-// if (jobDetailsList != null && !jobDetailsList.isEmpty()) {
-// for (JobDetails job : jobDetailsList) {
-// CompositeIdentifier ids = new CompositeIdentifier(taskDetail.getTaskId(), job.getJobID());
-// addJobDetails(job, ids);
-// }
-// }
-//
-// List<DataTransferDetails> dataTransferDetailsList = taskDetails.getDataTransferDetailsList();
-// if (dataTransferDetailsList != null && !dataTransferDetailsList.isEmpty()) {
-// for (DataTransferDetails transferDetails : dataTransferDetailsList) {
-// addDataTransferDetails(transferDetails, taskDetail.getTaskId());
-// }
-// }
-//
-// List<ErrorDetails> errors = taskDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, taskDetail.getTaskId());
-// }
-// }
-//
-// TaskStatus taskStatus = taskDetails.getTaskStatus();
-// CompositeIdentifier ids = new CompositeIdentifier(nodeId, taskDetail.getTaskId());
-// if (taskStatus != null) {
-// if (taskStatus.getExecutionState() != null) {
-// addTaskStatus(taskStatus, ids);
-// } else {
-// taskStatus.setExecutionState(TaskState.UNKNOWN);
-// addTaskStatus(taskStatus, ids);
-// }
-// } else {
-// TaskStatus status = new TaskStatus();
-// status.setExecutionState(TaskState.UNKNOWN);
-// addTaskStatus(status, ids);
-// }
-// return taskDetail.getTaskId();
-// } catch (Exception e) {
-// logger.error("Error while adding task details...", e);
-// throw new RegistryException(e);
-// }
-// }
+ public Object getTask(String taskId, String fieldName) throws RegistryException {
+ try {
+ ProcessResource processResource = new ProcessResource();
+ TaskResource resource = processResource.getTask(taskId);
+ if (fieldName == null) {
+ return ThriftDataModelConversion.getTaskModel(resource);
+ } else {
+ logger.error("Unsupported field name for experiment basic data..");
+ }
+ }catch (Exception e) {
+ logger.error("Error while getting process data..", e);
+ throw new RegistryException(e);
+ }
+ return null;
+ }
-// public String updateTaskDetails(TaskModel taskDetails, 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);
-//// taskDetail.setWorkflowNodeDetailResource(workflowNode);
-// taskDetail.setApplicationId(taskDetails.getApplicationId());
-// taskDetail.setApplicationVersion(taskDetails.getApplicationVersion());
-// taskDetail.setCreationTime(AiravataUtils.getTime(taskDetails.getCreationTime()));
-// taskDetail.setApplicationDeploymentId(taskDetails.getApplicationDeploymentId());
-// taskDetail.setEnableEmailNotifications(taskDetails.isEnableEmailNotification());
-// taskDetail.save();
-//
-// workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId());
-//
-// List<String> emailAddresses = taskDetails.getEmailAddresses();
-// // remove existing emails
-// taskDetail.remove(ResourceType.NOTIFICATION_EMAIL, taskId);
-// if (emailAddresses != null && !emailAddresses.isEmpty()){
-// for (String email : emailAddresses){
-// NotificationEmailResource emailResource = new NotificationEmailResource();
-// emailResource.setProcessId(workflowNode.getProcessId());
-// emailResource.setTaskId(taskId);
-// emailResource.setEmailAddress(email);
-// emailResource.save();
-// }
-// }
-// List<InputDataObjectType> applicationInputs = taskDetails.getApplicationInputs();
-// if (applicationInputs != null) {
-// updateAppInputs(applicationInputs, taskDetail);
-// }
-// ComputationalResourceScheduling taskScheduling = taskDetails.getTaskScheduling();
-// if (taskScheduling != null) {
-// updateSchedulingData(taskScheduling, taskDetail);
-// }
-// AdvancedInputDataHandling inputDataHandling = taskDetails.getAdvancedInputDataHandling();
-// if (inputDataHandling != null) {
-// updateInputDataHandling(inputDataHandling, taskDetail);
-// }
-// AdvancedOutputDataHandling outputDataHandling = taskDetails.getAdvancedOutputDataHandling();
-// if (outputDataHandling != null) {
-// updateOutputDataHandling(outputDataHandling, taskDetail);
-// }
-// List<JobDetails> jobDetailsList = taskDetails.getJobDetailsList();
-// if (jobDetailsList != null && !jobDetailsList.isEmpty()) {
-// for (JobDetails job : jobDetailsList) {
-// CompositeIdentifier ids = new CompositeIdentifier(taskId, job.getJobID());
-// updateJobDetails(job, ids);
-// }
-// }
-//
-// List<DataTransferDetails> dataTransferDetailsList = taskDetails.getDataTransferDetailsList();
-// if (dataTransferDetailsList != null && !dataTransferDetailsList.isEmpty()) {
-// for (DataTransferDetails transferDetails : dataTransferDetailsList) {
-// updateDataTransferDetails(transferDetails, transferDetails.getTransferID());
-// }
-// }
-//
-// List<ErrorDetails> errors = taskDetails.getErrors();
-// if (errors != null && !errors.isEmpty()) {
-// for (ErrorDetails error : errors) {
-// addErrorDetails(error, taskDetail.getTaskId());
-// }
-// }
-//
-// TaskStatus taskStatus = taskDetails.getTaskStatus();
-// 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 Object getTaskError(String identifier) {
+ return null;
+ }
+
+
+ public List<ExperimentModel> getExperimentList(String fieldName, Object value) throws RegistryException {
+ List<ExperimentModel> experiments = new ArrayList<ExperimentModel>();
+ try {
+ if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
+ WorkerResource resource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER);
+ resource.setUser((String) value);
+ List<ExperimentResource> resources = resource.getExperiments();
+ for (ExperimentResource experimentResource : resources) {
+ ExperimentModel experiment = ThriftDataModelConversion.getExperiment(experimentResource);
+ experiments.add(experiment);
+ }
+ return experiments;
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
+ ProjectResource project = workerResource.getProject((String) value);
+ List<ExperimentResource> resources = project.getExperiments();
+ for (ExperimentResource resource : resources) {
+ ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
+ experiments.add(experiment);
+ }
+ return experiments;
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+ List<ExperimentResource> resources = gatewayResource.getExperiments();
+ for (ExperimentResource resource : resources) {
+ ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
+ experiments.add(experiment);
+ }
+ return experiments;
+ } else {
+ logger.error("Unsupported field name to retrieve experiment list...");
+ }
+ } catch (Exception e) {
+ logger.error("Error while getting experiment list...", e);
+ throw new RegistryException(e);
+ }
+ return experiments;
+ }
+
+ //Todo
+ public List<ProcessModel> getProcessList(String fieldName, Object value) {
+ return null;
+ }
+
+ public List<TaskModel> getTaskList(String fieldName, Object value) {
+ return null;
+ }
+
+ public List<ExperimentModel> getExperimentList(String fieldName, Object value, int limit, int offset,
+ Object orderByIdentifier, ResultOrderType resultOrderType) throws RegistryException {
+ List<ExperimentModel> experiments = new ArrayList<ExperimentModel>();
+ try {
+ if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
+ WorkerResource resource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER);
+ resource.setUser((String) value);
+ List<ExperimentResource> resources = resource.getExperiments(limit, offset,
+ orderByIdentifier, resultOrderType);
+ for (ExperimentResource experimentResource : resources) {
+ ExperimentModel experiment = ThriftDataModelConversion.getExperiment(experimentResource);
+ experiments.add(experiment);
+ }
+ return experiments;
+ } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
+ ProjectResource project = workerResource.getProject((String) value);
+ List<ExperimentResource> resources = project.getExperiments(limit, offset,
+ Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
+ for (ExperimentResource resource : resources) {
+ ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
+ experiments.add(experiment);
+ }
+ return experiments;
+ }
+ logger.error("Unsupported field name to retrieve experiment list...");
+ } catch (Exception e) {
+ logger.error("Error while getting experiment list...", e);
+ throw new RegistryException(e);
+ }
+ return experiments;
+ }
+
+
+ //CPI Search Methods
+
+ public List<ExperimentSummaryModel> searchExperiments(Map<String, String> filters, int limit,
+ int offset, Object orderByIdentifier, ResultOrderType resultOrderType) throws RegistryException {
+ Map<String, String> fil = new HashMap<String, String>();
+ if (filters != null && filters.size() != 0) {
+ List<ExperimentSummaryModel> experimentSummaries = new ArrayList<>();
+ long fromTime = 0;
+ long toTime = 0;
+ try {
+ for (String field : filters.keySet()) {
+ if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) {
+ fil.put(AbstractExpCatResource.ExperimentConstants.EXPERIMENT_NAME, filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
+ fil.put(AbstractExpCatResource.ExperimentConstants.USER_NAME, filters.get(field));
+ }else if (field.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+ fil.put(AbstractExpCatResource.ExperimentConstants.GATEWAY_ID, filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.DESCRIPTION)) {
+ fil.put(AbstractExpCatResource.ExperimentConstants.DESCRIPTION, filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXECUTION_ID)) {
+ fil.put(AbstractExpCatResource.ExperimentConstants.EXECUTION_ID, filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS)) {
+ fil.put(AbstractExpCatResource.ExperimentStatusConstants.STATE, filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.FROM_DATE)) {
+ fromTime = Long.parseLong(filters.get(field));
+ } else if (field.equals(Constants.FieldConstants.ExperimentConstants.TO_DATE)) {
+ toTime = Long.parseLong(filters.get(field));
+ }
+ }
+ List<ExperimentSummaryResource> experimentSummaryResources;
+ if (fromTime != 0 && toTime != 0) {
+ experimentSummaryResources = workerResource.searchExperiments(new Timestamp(fromTime), new Timestamp(toTime), fil
+ ,limit , offset, orderByIdentifier, resultOrderType);
+ } else {
+ experimentSummaryResources = workerResource
+ .searchExperiments(null, null, fil, limit, offset, orderByIdentifier, resultOrderType);
+ }
+ if (experimentSummaryResources != null && !experimentSummaryResources.isEmpty()) {
+ for (ExperimentSummaryResource ex : experimentSummaryResources) {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ }
+ return experimentSummaries;
+
+ } catch (Exception e) {
+ logger.error("Error while retrieving experiment summary from registry", e);
+ throw new RegistryException(e);
+ }
+ }
+ return null;
+ }
+
+ public ExperimentStatistics getExperimentStatistics(Map<String,String> filters) throws RegistryException {
+ try {
+ ExperimentStatistics experimentStatistics = new ExperimentStatistics();
+ ExperimentStatisticsResource experimentStatisticsResource = workerResource.getExperimentStatistics(
+ filters.get(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID),
+ new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.FROM_DATE))),
+ new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.TO_DATE)))
+ );
+
+ experimentStatistics.setAllExperimentCount(experimentStatisticsResource.getAllExperimentCount());
+ experimentStatistics.setCompletedExperimentCount(experimentStatisticsResource.getCompletedExperimentCount());
+ experimentStatistics.setFailedExperimentCount(experimentStatisticsResource.getFailedExperimentCount());
+ experimentStatistics.setCancelledExperimentCount(experimentStatisticsResource.getCancelledExperimentCount());
+
+ ArrayList<ExperimentSummaryModel> experimentSummaries = new ArrayList();
+ for (ExperimentSummaryResource ex : experimentStatisticsResource.getAllExperiments()) {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ experimentStatistics.setAllExperiments(experimentSummaries);
+
+ experimentSummaries = new ArrayList();
+ for (ExperimentSummaryResource ex : experimentStatisticsResource.getCompletedExperiments()) {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ experimentStatistics.setCompletedExperiments(experimentSummaries);
+
+ experimentSummaries = new ArrayList();
+ for (ExperimentSummaryResource ex : experimentStatisticsResource.getFailedExperiments()) {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ experimentStatistics.setFailedExperiments(experimentSummaries);
- 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);
-// }
- }
+ experimentSummaries = new ArrayList();
+ for (ExperimentSummaryResource ex : experimentStatisticsResource.getCancelledExperiments()) {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ experimentStatistics.setCancelledExperiments(experimentSummaries);
- 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());
-//// }
-//// }
-// return jobDetail.getJobId();
-// } catch (Exception e) {
-// logger.error("Error while adding job details...", e);
-// throw new RegistryException(e);
-// }
- return null;
+ return experimentStatistics;
+ } catch (RegistryException e) {
+ logger.error("Error while retrieving experiment statistics from registry", e);
+ throw new RegistryException(e);
+ }
}
+
// ids - taskId + jobid
public void updateJobDetails(JobModel jobDetails, CompositeIdentifier ids) throws RegistryException {
// try {
@@ -1824,66 +1549,6 @@ public class ExperimentRegistry {
// }
}
- /**
- * Method to get matching experiment list
- * @param fieldName
- * @param value
- * @return
- * @throws RegistryException
- */
- public List<ExperimentModel> getExperimentList(String fieldName, Object value) throws RegistryException {
-// List<ExperimentModel> experiments = new ArrayList<ExperimentModel>();
-// try {
-// if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
-// WorkerResource resource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER);
-// resource.setUser((String) value);
-// List<ExperimentResource> resources = resource.getExperiments();
-// for (ExperimentResource experimentResource : resources) {
-// ExperimentModel experiment = ThriftDataModelConversion.getExperiment(experimentResource);
-// experiments.add(experiment);
-// }
-// return experiments;
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
-// ProjectResource project = workerResource.getProject((String) value);
-// List<ExperimentResource> resources = project.getExperiments();
-// for (ExperimentResource resource : resources) {
-// ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
-// experiments.add(experiment);
-// }
-// return experiments;
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY)) {
-// List<ExperimentResource> resources = gatewayResource.getExperiments();
-// for (ExperimentResource resource : resources) {
-// ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
-// experiments.add(experiment);
-// }
-// return experiments;
-// }
-//// if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_NODE_LIST)) {
-//// if (value instanceof List<?>) {
-//// return getExperimentList(fieldName, ((List<?>) value).get(0));
-//// } else if (value instanceof WorkflowNodeDetails) {
-//// WorkflowNodeDetailResource nodeDetailResource = getWorkflowNodeDetailResource(((WorkflowNodeDetails) value).getNodeInstanceId());
-//// if (nodeDetailResource != null) {
-//// String experimentId = nodeDetailResource.getProcessId();
-//// ExperimentResource experiment = gatewayResource.getExperiment(experimentId);
-//// return Arrays.asList(ThriftDataModelConversion
-//// .getExperiment(experiment));
-//// }
-//// } else {
-//// logger.error("Unsupported field value to retrieve workflow node detail list...");
-//// }
-////
-//// } else {
-//// logger.error("Unsupported field name to retrieve experiment list...");
-//// }
-// } catch (Exception e) {
-// logger.error("Error while getting experiment list...", e);
-// throw new RegistryException(e);
-// }
-// return experiments;
- return null;
- }
/**
* Method to get matching experiment list with pagination and ordering
@@ -1896,38 +1561,6 @@ public class ExperimentRegistry {
* @return
* @throws RegistryException
*/
- public List<ExperimentModel> getExperimentList(String fieldName, Object value, int limit, int offset,
- Object orderByIdentifier, ResultOrderType resultOrderType) throws RegistryException {
- List<ExperimentModel> experiments = new ArrayList<ExperimentModel>();
- try {
- if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
- WorkerResource resource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER);
- resource.setUser((String) value);
- List<ExperimentResource> resources = resource.getExperiments(limit, offset,
- orderByIdentifier, resultOrderType);
- for (ExperimentResource experimentResource : resources) {
- ExperimentModel experiment = ThriftDataModelConversion.getExperiment(experimentResource);
- experiments.add(experiment);
- }
- return experiments;
- } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
- ProjectResource project = workerResource.getProject((String) value);
- List<ExperimentResource> resources = project.getExperiments(limit, offset,
- Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
- for (ExperimentResource resource : resources) {
- ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
- experiments.add(experiment);
- }
- return experiments;
- }
- logger.error("Unsupported field name to retrieve experiment list...");
- } catch (Exception e) {
- logger.error("Error while getting experiment list...", e);
- throw new RegistryException(e);
- }
- return experiments;
- }
-
public List<TaskModel> getTaskDetails(String fieldName, Object value) throws RegistryException {
// try {
@@ -2017,111 +1650,6 @@ public class ExperimentRegistry {
return null;
}
- public Object getExperiment(String expId, String fieldName) throws RegistryException {
-// try {
-// ExperimentResource resource = gatewayResource.getExperiment(expId);
-// if (fieldName == null) {
-// return ThriftDataModelConversion.getExperiment(resource);
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
-// return resource.getExecutionUser();
-// }else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY)) {
-// return resource.getGatewayId();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) {
-// return resource.getExpName();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC)) {
-// return resource.getDescription();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID)) {
-// return resource.getApplicationId();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) {
-// return resource.getProjectId();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_VERSION)) {
-// return resource.getApplicationVersion();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_TEMPLATE_ID)) {
-// return resource.getWorkflowTemplateId();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_TEMPLATE_VERSION)) {
-// return resource.getWorkflowTemplateId();
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_INPUTS)) {
-// return ThriftDataModelConversion.getExpInputs(resource.getExperimentInputs());
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_OUTPUTS)) {
-// return ThriftDataModelConversion.getExpOutputs(resource.getExperimentOutputs());
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS)) {
-// return ThriftDataModelConversion.getExperimentStatus(resource.getExperimentStatus());
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_CONFIGURATION_DATA)) {
-// return ThriftDataModelConversion.getUserConfigData(resource.getUserConfigData(expId));
-// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_EXECUTION_ID)) {
-// return resource.getWorkflowExecutionId();
-// }
-//// else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.STATE_CHANGE_LIST)) {
-//// return ThriftDataModelConversion.getWorkflowNodeStatusList(resource.getWorkflowNodeStatuses());
-//// } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_NODE_LIST)) {
-//// return ThriftDataModelConversion.getWfNodeList(resource.getWorkflowNodeDetails());
-//// }
-// else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.ERROR_DETAIL_LIST)) {
-// return ThriftDataModelConversion.getErrorDetailList(resource.getErrorDetails());
-// } else {
-// logger.error("Unsupported field name for experiment basic data..");
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting experiment info...", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public Object getUserConfigData(String expId, String fieldName) throws RegistryException {
-// try {
-// ExperimentResource resource = gatewayResource.getExperiment(expId);
-// ConfigDataResource userConfigData = resource.getUserConfigData(expId);
-// if (fieldName == null) {
-// return ThriftDataModelConversion.getUserConfigData(userConfigData);
-// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.AIRAVATA_AUTO_SCHEDULE)) {
-// return userConfigData.isAiravataAutoSchedule();
-// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.OVERRIDE_MANUAL_PARAMS)) {
-// return userConfigData.isOverrideManualParams();
-// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.SHARE_EXP)) {
-// return userConfigData.isShareExp();
-// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)) {
-// return ThriftDataModelConversion.getComputationalResourceScheduling(resource.getComputationScheduling(expId));
-//// }
-//// else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_INPUT_HANDLING)) {
-//// return ThriftDataModelConversion.getAdvanceInputDataHandling(resource.getInputDataHandling(expId));
-//// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_OUTPUT_HANDLING)) {
-//// return ThriftDataModelConversion.getAdvanceOutputDataHandling(resource.getOutputDataHandling(expId));
-//// } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.QOS_PARAMS)) {
-//// return ThriftDataModelConversion.getQOSParams(resource.getQOSparams(expId));
-// } else {
-// logger.error("Unsupported field name for experiment configuration data..");
-// }
-// } catch (Exception e) {
-// logger.error("Error while getting config data..", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
- public List<OutputDataObjectType> getExperimentOutputs(String expId) throws RegistryException {
-// try {
-// ExperimentResource resource = gatewayResource.getExperiment(expId);
-// List<ExperimentOutputResource> experimentOutputs = resource.getExperimentOutputs();
-// return ThriftDataModelConversion.getExpOutputs(experimentOutputs);
-// } catch (Exception e) {
-// logger.error("Error while getting experiment outputs...", e);
-// }
- return null;
- }
-
- public ExperimentStatus getExperimentStatus(String expId) throws RegistryException {
-// try {
-// ExperimentResource resource = gatewayResource.getExperiment(expId);
-// StatusResource experimentStatus = resource.getExperimentStatus();
-// return ThriftDataModelConversion.getExperimentStatus(experimentStatus);
-// } catch (Exception e) {
-// logger.error("Error while getting experiment status...", e);
-// throw new RegistryException(e);
-// }
- return null;
- }
-
public ComputationalResourceSchedulingModel getComputationalScheduling(ExperimentCatalogModelType type, String id) throws RegistryException {
// try {
// ComputationSchedulingResource computationScheduling = null;
@@ -2838,109 +2366,9 @@ public class ExperimentRegistry {
* @return
* @throws RegistryException
*/
- public List<ExperimentSummaryModel> searchExperiments(Map<String, String> filters, int limit,
- int offset, Object orderByIdentifier, ResultOrderType resultOrderType) throws RegistryException {
-// Map<String, String> fil = new HashMap<String, String>();
-// if (filters != null && filters.size() != 0) {
-// List<ExperimentSummaryModel> experimentSummaries = new ArrayList<>();
-// long fromTime = 0;
-// long toTime = 0;
-// try {
-// for (String field : filters.keySet()) {
-// if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) {
-// fil.put(AbstractExpCatResource.ExperimentConstants.EXPERIMENT_NAME, filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
-// fil.put(AbstractExpCatResource.ExperimentConstants.EXECUTION_USER, filters.get(field));
-// }else if (field.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY)) {
-// fil.put(AbstractExpCatResource.ExperimentConstants.GATEWAY_ID, filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC)) {
-// fil.put(AbstractExpCatResource.ExperimentConstants.DESCRIPTION, filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID)) {
-// fil.put(AbstractExpCatResource.ExperimentConstants.APPLICATION_ID, filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS)) {
-// fil.put(AbstractExpCatResource.StatusConstants.STATE, filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.FROM_DATE)) {
-// fromTime = Long.parseLong(filters.get(field));
-// } else if (field.equals(Constants.FieldConstants.ExperimentConstants.TO_DATE)) {
-// toTime = Long.parseLong(filters.get(field));
-// }
-// }
-// List<ExperimentSummaryResource> experimentSummaryResources;
-// if (fromTime != 0 && toTime != 0) {
-// experimentSummaryResources = workerResource.searchExperiments(new Timestamp(fromTime), new Timestamp(toTime), fil
-// ,limit , offset, orderByIdentifier, resultOrderType);
-// } else {
-// experimentSummaryResources = workerResource
-// .searchExperiments(null, null, fil, limit, offset, orderByIdentifier, resultOrderType);
-// }
-// if (experimentSummaryResources != null && !experimentSummaryResources.isEmpty()) {
-// for (ExperimentSummaryResource ex : experimentSummaryResources) {
-// experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
-// }
-// }
-// return experimentSummaries;
-//
-// } catch (Exception e) {
-// logger.error("Error while retrieving experiment summary from registry", e);
-// throw new RegistryException(e);
-// }
-// }
- return null;
- }
-
- /**
- * Method to get experiment execution statistics for a specific time period
- * @param filters
- * @return
- * @throws RegistryException
- */
- public ExperimentStatistics getExperimentStatistics(Map<String,String> filters) throws RegistryException {
- try {
- ExperimentStatistics experimentStatistics = new ExperimentStatistics();
- ExperimentStatisticsResource experimentStatisticsResource = workerResource.getExperimentStatistics(
- filters.get(Constants.FieldConstants.ExperimentConstants.GATEWAY),
- new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.FROM_DATE))),
- new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.TO_DATE)))
- );
-
- experimentStatistics.setAllExperimentCount(experimentStatisticsResource.getAllExperimentCount());
- experimentStatistics.setCompletedExperimentCount(experimentStatisticsResource.getCompletedExperimentCount());
- experimentStatistics.setFailedExperimentCount(experimentStatisticsResource.getFailedExperimentCount());
- experimentStatistics.setCancelledExperimentCount(experimentStatisticsResource.getCancelledExperimentCount());
-
- ArrayList<ExperimentSummaryModel> experimentSummaries = new ArrayList();
- for (ExperimentSummaryResource ex : experimentStatisticsResource.getAllExperiments()) {
- experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
- }
- experimentStatistics.setAllExperiments(experimentSummaries);
-
- experimentSummaries = new ArrayList();
- for (ExperimentSummaryResource ex : experimentStatisticsResource.getCompletedExperiments()) {
- experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
- }
- experimentStatistics.setCompletedExperiments(experimentSummaries);
-
- experimentSummaries = new ArrayList();
- for (ExperimentSummaryResource ex : experimentStatisticsResource.getFailedExperiments()) {
- experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
- }
- experimentStatistics.setFailedExperiments(experimentSummaries);
-
- experimentSummaries = new ArrayList();
- for (ExperimentSummaryResource ex : experimentStatisticsResource.getCancelledExperiments()) {
- experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
- }
- experimentStatistics.setCancelledExperiments(experimentSummaries);
-
- return experimentStatistics;
- } catch (RegistryException e) {
- logger.error("Error while retrieving experiment statistics from registry", e);
- throw new RegistryException(e);
- }
- }
public boolean isValidStatusTransition(Object object1, Object object2) {
- if(object1 instanceof ExperimentState && object2 instanceof ExperimentState){
+ if (object1 instanceof ExperimentState && object2 instanceof ExperimentState) {
ExperimentState oldState = (ExperimentState) object1;
ExperimentState nextState = (ExperimentState) object2;
if (nextState == null) {
@@ -2978,7 +2406,7 @@ public class ExperimentRegistry {
default:
return false;
}
- }else if(object1 instanceof ProcessState && object2 instanceof ProcessState){
+ } else if (object1 instanceof ProcessState && object2 instanceof ProcessState) {
ProcessState oldState = (ProcessState) object1;
ProcessState nextState = (ProcessState) object2;
if (nextState == null) {
@@ -2991,7 +2419,7 @@ public class ExperimentRegistry {
default:
return false;
}
- }else if(object1 instanceof TaskState && object2 instanceof TaskState){
+ } else if (object1 instanceof TaskState && object2 instanceof TaskState) {
TaskState oldState = (TaskState) object1;
TaskState nextState = (TaskState) object2;
if (nextState == null) {
@@ -3007,53 +2435,4 @@ public class ExperimentRegistry {
}
return false;
}
-
- public Object getExperimentInputs(String identifier) {
- return null;
- }
-
- public Object getExperimentError(String identifier) {
- return null;
- }
-
- public Object getProcessError(String identifier) {
- return null;
- }
-
- public Object getProcessStatus(String identifier) {
- return null;
- }
-
- public Object getProcessInputs(String identifier) {
- return null;
- }
-
- public Object getProcessOutputs(String identifier) {
- return null;
- }
-
- public Object getProcessResourceSchedule(String identifier, Object o) {
- return null;
- }
-
- public Object getProcess(String identifier, Object o) {
- return null;
- }
-
- public Object getTask(String identifier) {
- return null;
- }
-
- public Object getTaskError(String identifier) {
- return null;
- }
-
- public List<ProcessModel> getProcessList(String fieldName, Object value) {
- return null;
- }
-
- public List<TaskModel> getTaskList(String fieldName, Object value) {
- return null;
- }
-
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bce94ae9/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
index 5fc5e48..f4b4d37 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
@@ -92,6 +92,9 @@ public abstract class AbstractExpCatResource implements ExperimentCatResource {
public static final String PROJECT_ID = "projectId";
public static final String GATEWAY_ID = "gatewayId";
public static final String EXPERIMENT_ID = "experimentId";
+ public static final String EXECUTION_ID = "executionId";
+ public static final String EXPERIMENT_NAME = "experimentName";
+ public static final String DESCRIPTION = "description";
public static final String USER_NAME = "userName";
public static final String CREATION_TIME = "creationTime";
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bce94ae9/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index edec50f..5dae874 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -447,4 +447,19 @@ public class ThriftDataModelConversion {
}
return null;
}
+
+ public static ComputationalResourceSchedulingModel getComputationalResourceScheduling(UserConfigurationDataResource resource) {
+ if (resource != null){
+ ComputationalResourceSchedulingModel resourceSchedulingModel = new ComputationalResourceSchedulingModel();
+ resourceSchedulingModel.setResourceHostId(resource.getResourceHostId());
+ resourceSchedulingModel.setTotalCPUCount(resource.getTotalCpuCount());
+ resourceSchedulingModel.setNodeCount(resource.getNodeCount());
+ resourceSchedulingModel.setNumberOfThreads(resource.getNumberOfThreads());
+ resourceSchedulingModel.setQueueName(resource.getQueueName());
+ resourceSchedulingModel.setWallTimeLimit(resource.getWallTimeLimit());
+ resourceSchedulingModel.setTotalPhysicalMemory(resource.getTotalPhysicalMemory());
+ return resourceSchedulingModel;
+ }
+ return null;
+ }
}
\ No newline at end of file