Repository: airavata
Updated Branches:
  refs/heads/develop 0de9433c0 -> 5e636cb88


using storage preferences and resources in gfac


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/5e636cb8
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/5e636cb8
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/5e636cb8

Branch: refs/heads/develop
Commit: 5e636cb88d26cd3a081c788d9043cffd79f72443
Parents: 0de9433
Author: Chathuri Wimalasena <[email protected]>
Authored: Tue Nov 24 12:16:48 2015 -0500
Committer: Chathuri Wimalasena <[email protected]>
Committed: Tue Nov 24 12:16:48 2015 -0500

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/GFacEngineImpl.java | 12 +++++++++++-
 .../airavata/gfac/impl/task/SCPDataStageTask.java     | 14 ++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5e636cb8/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 db2fb50..479310a 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
@@ -40,6 +40,8 @@ import 
org.apache.airavata.gfac.impl.task.EnvironmentSetupTask;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.*;
 import 
org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
+import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference;
+import 
org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
 import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
@@ -94,7 +96,15 @@ public class GFacEngineImpl implements GFacEngine {
             processContext.setGatewayResourceProfile(gatewayProfile);
             
processContext.setComputeResourcePreference(appCatalog.getGatewayProfile().getComputeResourcePreference
                     (gatewayId, processModel.getComputeResourceId()));
-//            appCatalog.getGatewayProfile().getStoragePreference()
+            StoragePreference storagePreference = 
appCatalog.getGatewayProfile().getStoragePreference(gatewayId, 
processModel.getStorageResourceId());
+            if (storagePreference != null){
+                processContext.setStoragePreference(storagePreference);
+            }
+
+            StorageResourceDescription storageResource = 
appCatalog.getStorageResource().getStorageResource(processModel.getStorageResourceId());
+            if (storageResource != null){
+                processContext.setStorageResource(storageResource);
+            }
             
processContext.setComputeResourceDescription(appCatalog.getComputeResource().getComputeResource
                     
(processContext.getComputeResourcePreference().getComputeResourceId()));
             
processContext.setApplicationDeploymentDescription(appCatalog.getApplicationDeployment()

http://git-wip-us.apache.org/repos/asf/airavata/blob/5e636cb8/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 7403c29..c4ee228 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -44,6 +44,8 @@ import org.apache.airavata.gfac.core.task.Task;
 import org.apache.airavata.gfac.core.task.TaskException;
 import org.apache.airavata.gfac.impl.Factory;
 import org.apache.airavata.gfac.impl.SSHUtils;
+import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference;
+import 
org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.commons.ErrorModel;
@@ -81,6 +83,7 @@ public class SCPDataStageTask implements Task {
 
     @Override
     public void init(Map<String, String> propertyMap) throws TaskException {
+        // we use what expressed in gfac-config.yaml by default, later replace 
with storage preferences
         inputPath = propertyMap.get("inputPath");
         hostName = propertyMap.get("hostName");
         userName = propertyMap.get("userName");
@@ -177,6 +180,17 @@ public class SCPDataStageTask implements Task {
             }
             status = new TaskStatus(TaskState.COMPLETED);
 
+            StorageResourceDescription storageResource = 
taskContext.getParentProcessContext().getStorageResource();
+            StoragePreference storagePreference = 
taskContext.getParentProcessContext().getStoragePreference();
+            if (storageResource != null){
+                hostName = storageResource.getHostName();
+            }
+
+            if (storagePreference != null){
+                userName = storagePreference.getLoginUserName();
+                inputPath = storagePreference.getFileSystemRootLocation();
+            }
+
             ServerInfo serverInfo = new ServerInfo(userName, hostName, 
DEFAULT_SSH_PORT);
             Session sshSession = Factory.getSSHSession(authenticationInfo, 
serverInfo);
             if (processState == ProcessState.INPUT_DATA_STAGING) {

Reply via email to