Repository: airavata Updated Branches: refs/heads/develop 5870ed4ff -> bd1cc2f51
resource can have multiple data files Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/bd1cc2f5 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/bd1cc2f5 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/bd1cc2f5 Branch: refs/heads/develop Commit: bd1cc2f51a917149dca2f0589828a65b67888731 Parents: 5870ed4 Author: scnakandala <[email protected]> Authored: Fri Dec 4 02:21:36 2015 -0500 Committer: scnakandala <[email protected]> Committed: Fri Dec 4 02:21:36 2015 -0500 ---------------------------------------------------------------------- .../airavata/data/manager/DataManagerImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/bd1cc2f5/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java ---------------------------------------------------------------------- diff --git a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java b/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java index 972abfe..947a061 100644 --- a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java +++ b/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java @@ -148,21 +148,22 @@ public class DataManagerImpl implements DataManager{ public boolean copyResource(String resourceId, String replicaId, String destLocation) throws DataManagerException { try { - //FIXME Bellow implementation is a skeleton code only to support the current airavata usecase of one to one copy DataResourceModel resourceModel = getResource(resourceId); DataReplicaLocationModel replicaLocationModel = getReplicaLocation(replicaId); if(resourceModel == null) throw new DataManagerException("Non existent resource id:"+resourceId); if(replicaLocationModel == null) throw new DataManagerException("Non existent replica id:"+replicaId); - URI sourceUri = new URI(replicaLocationModel.getDataLocations().get(0)); + boolean result; URI destinationUri = new URI(destLocation); - DataTransferUtils dataTransferUtils = new DataTransferUtils(sshKeyAuthentication); - boolean result = dataTransferUtils.copyData(sourceUri, destinationUri); - if(result){ - + for(String dataLocation : replicaLocationModel.getDataLocations()) { + URI sourceUri = new URI(dataLocation); + DataTransferUtils dataTransferUtils = new DataTransferUtils(sshKeyAuthentication); + result = dataTransferUtils.copyData(sourceUri, destinationUri); + if(result == false) + return result; } - return result; + return true; } catch (Exception e) { logger.error(e.getMessage(), e); throw new DataManagerException(e);
