From 93bf320996f70284f77aac73f16f2ed27884b101 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Wed, 2 Jun 2010 07:28:12 +0000
Subject: [PATCH] LMS-1503 Fixed missing implementation of method.

SVN: 16254
---
 .../openbis/dss/client/api/cli/CommandPut.java  | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
index 6cf9c64b46d..3ee0abcb1a3 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/cli/CommandPut.java
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import ch.systemsx.cisd.args4j.CmdLineParser;
@@ -107,8 +108,8 @@ class CommandPut extends AbstractCommand
                     return -1;
                 }
                 ConcatenatedFileInputStream fileInputStream =
-                        new ConcatenatedFileInputStream(true, getFilesForFileInfos(newDataSet
-                                .getFileInfos()));
+                        new ConcatenatedFileInputStream(true, getFilesForFileInfos(arguments
+                                .getFilePath(), newDataSet.getFileInfos()));
                 component.putDataSet(newDataSet, fileInputStream);
             } catch (IOException e)
             {
@@ -146,9 +147,19 @@ class CommandPut extends AbstractCommand
             return fileInfos;
         }
 
-        private ArrayList<File> getFilesForFileInfos(List<FileInfoDssDTO> fileInfos)
+        private List<File> getFilesForFileInfos(String filePath, List<FileInfoDssDTO> fileInfos)
         {
             ArrayList<File> files = new ArrayList<File>();
+            File parent = new File(filePath);
+            if (false == parent.isDirectory())
+            {
+                return Collections.singletonList(parent);
+            }
+
+            for (FileInfoDssDTO fileInfo : fileInfos)
+            {
+                files.add(new File(parent, fileInfo.getPathInDataSet()));
+            }
 
             return files;
         }
-- 
GitLab