From b2634d7a78099bb473b22b648a533e0df90a9aa7 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Wed, 2 Jun 2010 08:10:02 +0000
Subject: [PATCH] LMS-1503 Better error reporting in client.

SVN: 16256
---
 .../etlserver/api/v1/PutDataSetExecutor.java  |  1 -
 .../dss/client/api/cli/CommandPut.java        | 21 ++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java
index 9e36df1baca..a931fa3621d 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java
@@ -149,7 +149,6 @@ class PutDataSetExecutor
     private OutputStream getOutputStream(FileInfoDssDTO fileInfo)
     {
         File file = new File(dataSetDir, fileInfo.getPathInDataSet());
-        System.out.println(file);
 
         FileOutputStream fos;
         try
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 3ee0abcb1a3..fe9aacc2f72 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
@@ -64,6 +64,11 @@ class CommandPut extends AbstractCommand
             return getArguments().get(3);
         }
 
+        public File getFile()
+        {
+            return new File(getFilePath());
+        }
+
         @Override
         public boolean isComplete()
         {
@@ -104,7 +109,17 @@ class CommandPut extends AbstractCommand
                 NewDataSetDTO newDataSet = getNewDataSet();
                 if (newDataSet.getFileInfos().isEmpty())
                 {
-                    System.err.println("Data set file does not exist");
+                    File file = arguments.getFile();
+                    if (false == file.exists())
+                    {
+                        System.err.println("Data set file does not exist");
+                    } else if (false == file.isDirectory())
+                    {
+                        System.err.println("Must select a directory to upload.");
+                    } else
+                    {
+                        System.err.println("Data set is empty.");
+                    }
                     return -1;
                 }
                 ConcatenatedFileInputStream fileInputStream =
@@ -142,6 +157,10 @@ class CommandPut extends AbstractCommand
             {
                 return fileInfos;
             }
+            if (false == file.isDirectory())
+            {
+                return fileInfos;
+            }
             FileInfoDssBuilder builder = new FileInfoDssBuilder(path, path);
             builder.appendFileInfosForFile(file, fileInfos, true);
             return fileInfos;
-- 
GitLab