You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/02/25 17:39:46 UTC
git commit: implementing get list method for child elements -
AIRAVATA-1006
Repository: airavata
Updated Branches:
refs/heads/master 2ffc36cf5 -> 102ee17a1
implementing get list method for child elements - AIRAVATA-1006
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/102ee17a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/102ee17a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/102ee17a
Branch: refs/heads/master
Commit: 102ee17a175bd0d2ea200dc5f37849aac4fdc061
Parents: 2ffc36c
Author: chathuri <ch...@apache.org>
Authored: Tue Feb 25 11:39:42 2014 -0500
Committer: chathuri <ch...@apache.org>
Committed: Tue Feb 25 11:39:42 2014 -0500
----------------------------------------------------------------------
.../registry/jpa/impl/ExperimentRegistry.java | 124 ++++++++++++++++++-
.../registry/jpa/impl/RegistryImpl.java | 48 ++++++-
.../airavata/registry/cpi/utils/Constants.java | 27 ++++
3 files changed, 193 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/102ee17a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index 1fb6352..8c93165 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -27,6 +27,7 @@ import org.apache.airavata.model.workspace.experiment.*;
import org.apache.airavata.persistance.registry.jpa.Resource;
import org.apache.airavata.persistance.registry.jpa.ResourceType;
import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
+import org.apache.airavata.persistance.registry.jpa.model.Status;
import org.apache.airavata.persistance.registry.jpa.resources.*;
import org.apache.airavata.persistance.registry.jpa.utils.ThriftDataModelConversion;
import org.apache.airavata.registry.cpi.CompositeIdentifier;
@@ -1171,7 +1172,7 @@ public class ExperimentRegistry {
}
return experiments;
}else {
- logger.error("Unsupported field type for Experiment meta data");
+ logger.error("Unsupported field name to retrieve experiment list...");
}
} catch (ApplicationSettingsException e) {
logger.error("Unable to read airavata-server properties", e.getMessage());
@@ -1179,6 +1180,91 @@ public class ExperimentRegistry {
return experiments;
}
+ public List<WorkflowNodeDetails> getWFNodeDetails (String fieldName, Object value){
+ try {
+ GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
+ if (fieldName.equals(Constants.FieldConstants.WorkflowNodeConstants.EXPERIMENT_ID)){
+ ExperimentResource experiment = defaultGateway.getExperiment((String) value);
+ List<WorkflowNodeDetailResource> workflowNodeDetails = experiment.getWorkflowNodeDetails();
+ return ThriftDataModelConversion.getWfNodeList(workflowNodeDetails);
+ }else {
+ logger.error("Unsupported field name to retrieve workflow detail list...");
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties", e.getMessage());
+ }
+ return null;
+ }
+
+ public List<WorkflowNodeStatus> getWFNodeStatusList (String fieldName, Object value){
+ try {
+ GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
+ if (fieldName.equals(Constants.FieldConstants.WorkflowNodeStatus.EXPERIMENT_ID)){
+ ExperimentResource experiment = defaultGateway.getExperiment((String) value);
+ List<StatusResource> workflowNodeStatuses = experiment.getWorkflowNodeStatuses();
+ return ThriftDataModelConversion.getWorkflowNodeStatusList(workflowNodeStatuses);
+ }else {
+ logger.error("Unsupported field name to retrieve workflow status list...");
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties", e.getMessage());
+ }
+ return null;
+ }
+
+ public List<TaskDetails> getTaskDetails (String fieldName, Object value){
+ try {
+ GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
+ if (fieldName.equals(Constants.FieldConstants.TaskDetailConstants.NODE_ID)){
+ ExperimentResource experiment = (ExperimentResource)defaultGateway.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 (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties", e.getMessage());
+ }
+ return null;
+ }
+
+ public List<JobDetails> getJobDetails (String fieldName, Object value){
+ try {
+ GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
+ if (fieldName.equals(Constants.FieldConstants.JobDetaisConstants.TASK_ID)){
+ ExperimentResource experiment = (ExperimentResource)defaultGateway.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 (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties", e.getMessage());
+ }
+ return null;
+ }
+
+ public List<DataTransferDetails> getDataTransferDetails (String fieldName, Object value){
+ try {
+ GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
+ if (fieldName.equals(Constants.FieldConstants.DataTransferDetailConstants.TASK_ID)){
+ ExperimentResource experiment = (ExperimentResource)defaultGateway.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 (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties", e.getMessage());
+ }
+ return null;
+ }
+
public Object getExperiment(String expId, String fieldName) {
try {
GatewayResource gateway = gatewayRegistry.getDefaultGateway();
@@ -1565,6 +1651,42 @@ public class ExperimentRegistry {
return expIDs;
}
+ public List<String> getWorkflowNodeIds (String fieldName, Object value){
+ 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> getTaskDetailIds (String fieldName, Object value){
+ List<String> taskDetailIds = new ArrayList<String>();
+ List<TaskDetails> taskDetails = getTaskDetails(fieldName, value);
+ for (TaskDetails td : taskDetails){
+ taskDetailIds.add(td.getTaskID());
+ }
+ return taskDetailIds;
+ }
+
+ public List<String> getJobDetailIds (String fieldName, Object value){
+ List<String> jobIds = new ArrayList<String>();
+ List<JobDetails> jobDetails = getJobDetails(fieldName, value);
+ for (JobDetails jd : jobDetails){
+ jobIds.add(jd.getJobID());
+ }
+ return jobIds;
+ }
+
+ public List<String> getTransferDetailIds (String fieldName, Object value){
+ List<String> transferIds = new ArrayList<String>();
+ List<DataTransferDetails> dataTransferDetails = getDataTransferDetails(fieldName, value);
+ for (DataTransferDetails dtd : dataTransferDetails){
+ transferIds.add(dtd.getTransferID());
+ }
+ return transferIds;
+ }
+
public void removeExperiment(String experimentId) {
try {
http://git-wip-us.apache.org/repos/asf/airavata/blob/102ee17a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
index 173bbcb..bf0a4e3 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
@@ -153,19 +153,19 @@ public class RegistryImpl implements Registry {
experimentRegistry.updateTaskStatus((TaskStatus) newObjectToUpdate, (String) identifier);
break;
case JOB_DETAIL:
- experimentRegistry.updateJobDetails((JobDetails)newObjectToUpdate, (String)identifier);
+ experimentRegistry.updateJobDetails((JobDetails) newObjectToUpdate, (String) identifier);
break;
case JOB_STATUS:
- experimentRegistry.updateJobStatus((JobStatus)newObjectToUpdate, (String)identifier);
+ experimentRegistry.updateJobStatus((JobStatus) newObjectToUpdate, (String) identifier);
break;
case APPLICATION_STATUS:
- experimentRegistry.updateApplicationStatus((ApplicationStatus)newObjectToUpdate, (String)identifier);
+ experimentRegistry.updateApplicationStatus((ApplicationStatus) newObjectToUpdate, (String) identifier);
break;
case DATA_TRANSFER_DETAIL:
- experimentRegistry.updateDataTransferDetails((DataTransferDetails)newObjectToUpdate, (String)identifier);
+ experimentRegistry.updateDataTransferDetails((DataTransferDetails) newObjectToUpdate, (String) identifier);
break;
case TRANSFER_STATUS:
- experimentRegistry.updateTransferStatus((TransferStatus)newObjectToUpdate, (String)identifier);
+ experimentRegistry.updateTransferStatus((TransferStatus) newObjectToUpdate, (String) identifier);
break;
case COMPUTATIONAL_RESOURCE_SCHEDULING:
experimentRegistry.updateScheduling((ComputationalResourceScheduling) newObjectToUpdate, (String) identifier, dataType.toString());
@@ -288,6 +288,36 @@ public class RegistryImpl implements Registry {
result.add(experiment);
}
return result;
+ case WORKFLOW_NODE_DETAIL:
+ List<WorkflowNodeDetails> wfNodeDetails = experimentRegistry.getWFNodeDetails(fieldName, value);
+ for (WorkflowNodeDetails wf : wfNodeDetails){
+ result.add(wf);
+ }
+ return result;
+ case WORKFLOW_NODE_STATUS:
+ List<WorkflowNodeStatus> wfNodeStatusList = experimentRegistry.getWFNodeStatusList(fieldName, value);
+ for (WorkflowNodeStatus wfs : wfNodeStatusList){
+ result.add(wfs);
+ }
+ return result;
+ case TASK_DETAIL:
+ List<TaskDetails> taskDetails = experimentRegistry.getTaskDetails(fieldName, value);
+ for (TaskDetails task : taskDetails){
+ result.add(task);
+ }
+ return result;
+ case JOB_DETAIL:
+ List<JobDetails> jobDetails = experimentRegistry.getJobDetails(fieldName, value);
+ for (JobDetails job : jobDetails){
+ result.add(job);
+ }
+ return result;
+ case DATA_TRANSFER_DETAIL:
+ List<DataTransferDetails> dataTransferDetails = experimentRegistry.getDataTransferDetails(fieldName, value);
+ for (DataTransferDetails transferDetails : dataTransferDetails){
+ result.add(transferDetails);
+ }
+ return result;
default:
logger.error("Unsupported data type...", new UnsupportedOperationException());
throw new UnsupportedOperationException();
@@ -336,6 +366,14 @@ public class RegistryImpl implements Registry {
return experimentRegistry.getExperimentIDs(fieldName, value);
case EXPERIMENT_CONFIGURATION_DATA:
return experimentRegistry.getExperimentIDs(fieldName, value);
+ case WORKFLOW_NODE_DETAIL:
+ return experimentRegistry.getWorkflowNodeIds(fieldName, value);
+ case TASK_DETAIL:
+ return experimentRegistry.getTaskDetailIds(fieldName, value);
+ case JOB_DETAIL:
+ return experimentRegistry.getJobDetailIds(fieldName, value);
+ case DATA_TRANSFER_DETAIL:
+ return experimentRegistry.getTransferDetailIds(fieldName, value);
default:
logger.error("Unsupported data type...", new UnsupportedOperationException());
throw new UnsupportedOperationException();
http://git-wip-us.apache.org/repos/asf/airavata/blob/102ee17a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
index 10aa1e0..4c0cf86 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
@@ -55,5 +55,32 @@ public class Constants {
public static final String ADVANCED_OUTPUT_HANDLING = "advanceOutputDataHandling";
public static final String QOS_PARAMS = "qosParams";
}
+
+ public final class WorkflowNodeConstants {
+ public static final String EXPERIMENT_ID = "experimentId";
+ public static final String NODE_NAME = "nodeName";
+ public static final String NODE_INPUTS = "nodeInputs";
+ public static final String NODE_OUTPUTS = "nodeOutputs";
+ public static final String WF_NODE_STATUS = "workflowNodeStatus";
+ public static final String TASK_LIST = "taskDetailsList";
+ public static final String NODE_ERRORS = "errors";
+ }
+
+ public final class TaskDetailConstants {
+ public static final String EXPERIMENT_ID = "experimentId";
+ public static final String NODE_ID = "nodeId";
+ }
+
+ public final class JobDetaisConstants {
+ public static final String TASK_ID = "taskId";
+ }
+
+ public final class DataTransferDetailConstants {
+ public static final String TASK_ID = "taskId";
+ }
+
+ public final class WorkflowNodeStatus {
+ public static final String EXPERIMENT_ID = "experimentId";
+ }
}
}