Repository: airavata Updated Branches: refs/heads/airavata-0.15-release-branch f12272de4 -> 985ab002d
Fixed jureca data movement. AIRAVATA-1819 Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/985ab002 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/985ab002 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/985ab002 Branch: refs/heads/airavata-0.15-release-branch Commit: 985ab002d48ba2086e61022cf7cbe8805b15d93a Parents: f12272d Author: raminder <[email protected]> Authored: Mon Aug 31 14:52:23 2015 -0400 Committer: raminder <[email protected]> Committed: Mon Aug 31 14:52:23 2015 -0400 ---------------------------------------------------------------------- .../gfac/bes/provider/impl/BESProvider.java | 4 --- .../gfac/bes/utils/DataTransferrer.java | 13 +++++++-- .../gfac/bes/utils/UASDataStagingProcessor.java | 28 +++++++++++++++++--- 3 files changed, 36 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/985ab002/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java index 97cf2d3..01ba772 100644 --- a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java +++ b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java @@ -127,10 +127,6 @@ public class BESProvider extends AbstractProvider implements GFacProvider, eprt.addNewAddress().setStringValue(factoryUrl); String userDN = getUserName(jobExecutionContext); - // TODO: to be removed - if (userDN == null || userDN.equalsIgnoreCase("admin")) { - userDN = "CN=zdv575, O=Ultrascan Gateway, C=DE"; - } CreateActivityDocument cad = CreateActivityDocument.Factory.newInstance(); // create storage http://git-wip-us.apache.org/repos/asf/airavata/blob/985ab002/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/DataTransferrer.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/DataTransferrer.java b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/DataTransferrer.java index 15d8485..f099ee3 100644 --- a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/DataTransferrer.java +++ b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/DataTransferrer.java @@ -149,8 +149,17 @@ public class DataTransferrer { resultantOutputsLst.add(output); } else if(output.getType().equals(DataType.STRING)) { - String value = output.getValue(); - String outputPath = gatewayDownloadLocation + File.separator + value; + String value = null; + if(!output.getLocation().isEmpty()){ + value = output.getLocation() + File.separator + output.getValue(); + }else{ + value = output.getValue(); + } + String outputPath = gatewayDownloadLocation + File.separator + output.getValue(); + File f = new File(gatewayDownloadLocation); + if(!f.exists()) + f.mkdirs(); + FileDownloader fileDownloader = new FileDownloader(value,outputPath, Mode.overwrite); try { fileDownloader.perform(storageClient); http://git-wip-us.apache.org/repos/asf/airavata/blob/985ab002/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/UASDataStagingProcessor.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/UASDataStagingProcessor.java b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/UASDataStagingProcessor.java index c718f5a..e4b956a 100644 --- a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/UASDataStagingProcessor.java +++ b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/utils/UASDataStagingProcessor.java @@ -22,9 +22,14 @@ package org.apache.airavata.gfac.bes.utils; import java.io.File; +import java.util.ArrayList; +import java.util.Comparator; import java.util.List; +import java.util.Set; +import java.util.TreeSet; import org.apache.airavata.gfac.core.context.JobExecutionContext; +import org.apache.airavata.gfac.core.context.MessageContext; import org.apache.airavata.model.appcatalog.appinterface.DataType; import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; @@ -135,10 +140,27 @@ public class UASDataStagingProcessor { private static void buildDataStagingFromInputContext(JobExecutionContext context, JobDefinitionType value, String smsUrl) throws Exception { - List<InputDataObjectType> applicationInputs = context.getTaskData().getApplicationInputs(); +// List<InputDataObjectType> applicationInputs = context.getTaskData().getApplicationInputs(); + MessageContext input1 = context.getInMessageContext(); + + // sort the inputs first and then build the command ListR + Comparator<InputDataObjectType> inputOrderComparator = new Comparator<InputDataObjectType>() { + @Override + public int compare(InputDataObjectType inputDataObjectType, InputDataObjectType t1) { + return inputDataObjectType.getInputOrder() - t1.getInputOrder(); + } + }; + Set<InputDataObjectType> sortedInputSet = new TreeSet<InputDataObjectType>(inputOrderComparator); + for (Object object : input1.getParameters().values()) { + if (object instanceof InputDataObjectType) { + InputDataObjectType inputDOT = (InputDataObjectType) object; + sortedInputSet.add(inputDOT); + } + } + - if (applicationInputs != null && !applicationInputs.isEmpty()){ - for (InputDataObjectType input : applicationInputs){ + if (sortedInputSet != null && !sortedInputSet.isEmpty()){ + for (InputDataObjectType input : sortedInputSet){ if("".equals(input.getValue()) || input.getValue() == null) { continue; }
