From f62a409b2c1b5f8675907d1354dcbaff834e3e66 Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Fri, 17 Apr 2009 14:38:19 +0000
Subject: [PATCH] LMS-852 Change data store root to <UUID>

SVN: 10707
---
 .../etlserver/IdentifiedDataStrategy.java     | 21 ++++++-------------
 .../etlserver/IdentifiedDataStrategyTest.java |  2 +-
 .../TransferredDataSetHandlerTest.java        | 16 +++++++-------
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategy.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategy.java
index e2cd3d1ac93..75c13b85acf 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategy.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategy.java
@@ -33,8 +33,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetType;
  */
 public final class IdentifiedDataStrategy implements IDataStoreStrategy
 {
-    private static final String IDENTIFIED_DIRECTORY_NAME = "identified";
-
     static final String DATA_SET_TYPE_PREFIX = "DataSetType_";
 
     static final String UNEXPECTED_PATHS_MSG_FORMAT =
@@ -61,19 +59,13 @@ public final class IdentifiedDataStrategy implements IDataStoreStrategy
      * Note that this method does not call {@link File#mkdirs()} on returned <code>File</code>.
      * </p>
      */
-    private final static File createBaseDirectory(final File baseDir,
-            final DataSetInformation dataSetInfo, final DataSetType dataSetType)
-    {
-        String dataSetCode = dataSetInfo.getDataSetCode();
-        return createBaseDirectory(baseDir, dataSetCode);
-
-    }
-
     @Private
-    static File createBaseDirectory(final File baseDir, String dataSetCode)
+    static File createBaseDirectory(final File baseDir, final DataSetInformation dataSetInfo)
     {
-        final File mainDir = new File(baseDir, IDENTIFIED_DIRECTORY_NAME);
-        final File shardingDir = createShardingDir(mainDir, dataSetCode);
+        String dataSetCode = dataSetInfo.getDataSetCode();
+        final String instanceUUID = dataSetInfo.getInstanceUUID();
+        final File instanceDir = new File(baseDir, instanceUUID);
+        final File shardingDir = createShardingDir(instanceDir, dataSetCode);
         final File datasetDir = new File(shardingDir, dataSetCode);
         return datasetDir;
     }
@@ -104,8 +96,7 @@ public final class IdentifiedDataStrategy implements IDataStoreStrategy
     {
         assert storeRoot != null : "Store root can not be null";
         assert dataSetInfo != null : "Data set information can not be null";
-        assert dataSetType != null : "Data set type can not be null";
-        final File baseDirectory = createBaseDirectory(storeRoot, dataSetInfo, dataSetType);
+        final File baseDirectory = createBaseDirectory(storeRoot, dataSetInfo);
         if (baseDirectory.exists())
         {
             throw EnvironmentFailureException.fromTemplate(STORAGE_LAYOUT_ERROR_MSG_PREFIX
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategyTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategyTest.java
index 3ca1c3f5796..3cf0e61e330 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategyTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/IdentifiedDataStrategyTest.java
@@ -97,7 +97,7 @@ public class IdentifiedDataStrategyTest extends AbstractFileSystemTestCase
         assertTrue("Null values not permited here", exceptionThrown);
         final DataSetInformation dataSetInfo = createDataSetInfo();
         File baseDirectory = strategy.getBaseDirectory(workingDirectory, dataSetInfo, dataSetType);
-        final File file = new File(workingDirectory, "identified/27/35/33/data-set-code");
+        final File file = new File(workingDirectory, "1111-2222/27/35/33/data-set-code");
         assertEquals(file, baseDirectory);
         assertTrue(baseDirectory.exists() == false);
         // Create a file instead of a directory
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java
index 0fc18e3f573..9eb8cebcf8e 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java
@@ -113,8 +113,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
     private static final Date DATA_PRODUCTION_DATE = new Date(2001);
 
-    private static final String EXAMPLE_PROCESSOR_ID =
-            ProcedureTypeCode.DATA_ACQUISITION.getCode();
+    private static final String EXAMPLE_PROCESSOR_ID = ProcedureTypeCode.DATA_ACQUISITION.getCode();
 
     private static final class ExternalDataMatcher extends BaseMatcher<ExternalData>
     {
@@ -292,7 +291,8 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
         dataSetInformation.setProductionDate(DATA_PRODUCTION_DATE);
         dataSetInformation.setDataSetCode(DATA_SET_CODE);
         dataSetInformation.setParentDataSetCode(PARENT_DATA_SET_CODE);
-        targetFolder = IdentifiedDataStrategy.createBaseDirectory(workingDirectory, DATA_SET_CODE);
+        targetFolder =
+                IdentifiedDataStrategy.createBaseDirectory(workingDirectory, dataSetInformation);
         targetData1 = createTargetData(data1);
         logRecorder = new BufferedAppender("%-5p %c - %m%n", Level.INFO);
     }
@@ -427,10 +427,10 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
                     one(typeExtractor).getFileFormatType(dataSet);
                     will(returnValue(FILE_FORMAT_TYPE));
-                    
+
                     one(typeExtractor).getProcessorType(dataSet);
                     will(returnValue(EXAMPLE_PROCESSOR_ID));
-                    
+
                     one(typeExtractor).isMeasuredData(dataSet);
                     will(returnValue(true));
                 }
@@ -529,8 +529,8 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
     @Test
     public final void testBaseDirectoryCouldNotBeCreated() throws IOException
     {
-        FileUtils
-                .touch(IdentifiedDataStrategy.createBaseDirectory(workingDirectory, DATA_SET_CODE));
+        FileUtils.touch(IdentifiedDataStrategy.createBaseDirectory(workingDirectory,
+                dataSetInformation));
         prepareForStrategyIDENTIFIED(data1, null, createBaseExperiment(dataSetInformation));
         try
         {
@@ -723,7 +723,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
                     one(processorFactory).createProcessor();
                     will(returnValue(processor));
-                    
+
                     allowing(processor).getRequiredInputDataFormat();
                     will(returnValue(StorageFormat.PROPRIETARY));
 
-- 
GitLab