You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/07/05 16:27:13 UTC
[3/3] airavata git commit: Handled URI_COLLECTION input data type
Handled URI_COLLECTION input data type
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b9b43b6b
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b9b43b6b
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b9b43b6b
Branch: refs/heads/develop
Commit: b9b43b6bf21155ad4098e346cedb78848f6032ef
Parents: 5645031
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Tue Jul 5 12:19:14 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Tue Jul 5 12:19:14 2016 -0400
----------------------------------------------------------------------
.../org/apache/airavata/gfac/core/GFacConstants.java | 2 +-
.../org/apache/airavata/gfac/core/GFacUtils.java | 14 ++++++++++++++
.../apache/airavata/gfac/impl/GFacEngineImpl.java | 15 +++++++++++++--
.../cpi/impl/SimpleOrchestratorImpl.java | 1 +
4 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b9b43b6b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacConstants.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacConstants.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacConstants.java
index 444956b..6b7531a 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacConstants.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacConstants.java
@@ -50,7 +50,7 @@ public class GFacConstants {
public static final String _127_0_0_1 = "127.0.0.1";
public static final String LOCALHOST = "localhost";
-
+ public static final String MULTIPLE_INPUTS_SPLITTER = ",";
public static final String PROP_WORKFLOW_INSTANCE_ID = "workflow.instance.id";
public static final String PROP_WORKFLOW_NODE_ID = "workflow.node.id";
http://git-wip-us.apache.org/repos/asf/airavata/blob/b9b43b6b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index 799ea28..17d9b15 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -491,6 +491,20 @@ public class GFacUtils {
String filePath = inputDataObjectType.getValue();
filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
inputValues.add(filePath);
+ } else if (inputDataObjectType.getType() == DataType.URI_COLLECTION) {
+ String filePaths = inputDataObjectType.getValue();
+ String[] paths = filePaths.split(GFacConstants.MULTIPLE_INPUTS_SPLITTER);
+ String filePath;
+ String inputs = "";
+ int i = 0;
+ for (; i < paths.length - 1; i++) {
+ filePath = paths[i];
+ filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
+ // File names separate by a space
+ inputs += filePath + " ";
+ }
+ inputs += paths[i];
+ inputValues.add(inputs);
} else {
inputValues.add(inputDataObjectType.getValue());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b9b43b6b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index c0e2526..3fb95e0 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -26,6 +26,7 @@ import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.common.utils.ThriftUtils;
import org.apache.airavata.common.utils.ZkConstants;
+import org.apache.airavata.gfac.core.GFacConstants;
import org.apache.airavata.gfac.core.GFacEngine;
import org.apache.airavata.gfac.core.GFacException;
import org.apache.airavata.gfac.core.GFacUtils;
@@ -535,12 +536,22 @@ public class GFacEngineImpl implements GFacEngine {
GFacUtils.saveAndPublishTaskStatus(taskContext);
ProcessContext processContext = taskContext.getParentProcessContext();
+ // handle URI_COLLECTION input data type
Task dMoveTask = Factory.getDataMovementTask(processContext.getDataMovementProtocol());
- taskStatus = executeTask(taskContext, dMoveTask, false);
+ if (taskContext.getProcessInput().getType() == DataType.URI_COLLECTION) {
+ String values = taskContext.getProcessInput().getValue();
+ String[] multiple_inputs = values.split(GFacConstants.MULTIPLE_INPUTS_SPLITTER);
+ for (String input : multiple_inputs) {
+ taskContext.getProcessInput().setValue(input);
+ taskStatus = executeTask(taskContext, dMoveTask, false);
+ }
+ taskContext.getProcessInput().setValue(values);
+ } else {
+ taskStatus = executeTask(taskContext, dMoveTask, false);
+ }
taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
taskContext.setTaskStatus(taskStatus);
GFacUtils.saveAndPublishTaskStatus(taskContext);
-
checkFailures(taskContext, taskStatus, dMoveTask);
return false;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b9b43b6b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index 4489ef0..3e057cb 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -377,6 +377,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
case STDOUT:
break;
case URI:
+ case URI_COLLECTION:
try {
TaskModel inputDataStagingTask = getInputDataStagingTask(processModel, processInput, gatewayId);
String taskId = (String) orchestratorContext.getRegistry().getExperimentCatalog().add(ExpCatChildDataType.TASK, inputDataStagingTask,