From e102b7f7b453d0d673dfab062cf7e58e9ffcaf9b Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Thu, 10 Sep 2009 13:28:38 +0000
Subject: [PATCH] [LMS-1167] allow connection between sample and dataset to be
 mandatory - part 2 (Java code)

SVN: 12547
---
 .../cisd/etlserver/plugins/DataSetHierarchyHelper.java   | 9 ++++++++-
 .../openbis/dss/generic/server/UploadingCommand.java     | 3 ++-
 .../dss/generic/shared/dto/DataSetInformation.java       | 2 ++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/DataSetHierarchyHelper.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/DataSetHierarchyHelper.java
index ecf4150370f..f1ff389199d 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/DataSetHierarchyHelper.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/DataSetHierarchyHelper.java
@@ -31,6 +31,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
 public class DataSetHierarchyHelper
 {
 
+    private static String NOT_DIRECTLY_CONNECTED = "NOT_DIRECTLY_CONNECTED";
+
     /**
      * For given {@link SimpleDataSetInformationDTO} creates relevant path part.
      * 
@@ -190,7 +192,12 @@ public class DataSetHierarchyHelper
 
     private static String sample(SimpleDataSetInformationDTO data)
     {
-        return merge(PathElementKey.Sample, data.getSampleCode());
+        String pathElementValue = data.getSampleCode();
+        if (pathElementValue == null)
+        {
+            pathElementValue = NOT_DIRECTLY_CONNECTED;
+        }
+        return merge(PathElementKey.Sample, pathElementValue);
     }
 
     private static String project(SimpleDataSetInformationDTO data)
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/UploadingCommand.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/UploadingCommand.java
index bc69d9ef540..c33aa722cb7 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/UploadingCommand.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/UploadingCommand.java
@@ -455,7 +455,8 @@ class UploadingCommand implements IDataSetCommand
         String smtpUser = mailClientParameters.getSmtpUser();
         String smtpPassword = mailClientParameters.getSmtpPassword();
         IMailClient mailClient = new MailClient(from, smtpHost, smtpUser, smtpPassword);
-        mailClient.sendMessage("[Data Set Server] Uploading failed", message, null, null, userEMail);
+        mailClient
+                .sendMessage("[Data Set Server] Uploading failed", message, null, null, userEMail);
     }
 
     public String getDescription()
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/dto/DataSetInformation.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/dto/DataSetInformation.java
index 6ec856646fb..ef3ba501666 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/dto/DataSetInformation.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/dto/DataSetInformation.java
@@ -202,6 +202,8 @@ public class DataSetInformation implements Serializable
                 sampleCode);
     }
 
+    /** @deprecated may be null */
+    @Deprecated
     public final String getSampleCode()
     {
         return sampleCode;
-- 
GitLab