From a8c3ec70ceef937fe6f69ae83396e7d6c927a1a1 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Wed, 8 Apr 2009 14:17:02 +0000
Subject: [PATCH] LMS-835 IProcedureAndDataTypeExtractor renamed to
 IProcessorIDAndDataTypeExtractor: one method removed two added and used.

SVN: 10636
---
 datastore_server/dist/etc/service.properties  |  3 +-
 datastore_server/etc/service.properties       |  1 -
 .../cisd/etlserver/BDSStorageProcessor.java   |  9 ++-
 .../etlserver/DefaultStorageProcessor.java    |  2 +-
 .../cisd/etlserver/ETLServerPlugin.java       |  6 +-
 .../cisd/etlserver/IETLServerPlugin.java      |  2 +-
 ... => IProcessorIDAndDataTypeExtractor.java} | 13 ++--
 .../cisd/etlserver/IStorageProcessor.java     |  6 +-
 .../cisd/etlserver/ProcedureType.java         | 70 -------------------
 .../PropertiesBasedETLServerPlugin.java       |  8 +--
 .../cisd/etlserver/SimpleTypeExtractor.java   | 30 +++++---
 .../etlserver/TransferredDataSetHandler.java  | 14 ++--
 .../etlserver/BDSStorageProcessorTest.java    |  2 +-
 .../DefaultStorageProcessorTest.java          | 18 +++--
 .../etlserver/SimpleTypeExtractorTest.java    | 24 +++----
 .../TransferredDataSetHandlerTest.java        | 23 +++---
 16 files changed, 86 insertions(+), 145 deletions(-)
 rename datastore_server/source/java/ch/systemsx/cisd/etlserver/{IProcedureAndDataTypeExtractor.java => IProcessorIDAndDataTypeExtractor.java} (79%)
 delete mode 100644 datastore_server/source/java/ch/systemsx/cisd/etlserver/ProcedureType.java

diff --git a/datastore_server/dist/etc/service.properties b/datastore_server/dist/etc/service.properties
index 7f78520037c..7db8aa918b6 100644
--- a/datastore_server/dist/etc/service.properties
+++ b/datastore_server/dist/etc/service.properties
@@ -113,7 +113,8 @@ main-thread.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
 main-thread.type-extractor.file-format-type = TIFF
 main-thread.type-extractor.locator-type = RELATIVE_LOCATION
 main-thread.type-extractor.data-set-type = HCS_IMAGE
-main-thread.type-extractor.procedure-type = DATA_ACQUISITION
+main-thread.type-extractor.processor-id = DATA_ACQUISITION
+main-thread.type-extractor.is-measured = true
 # Location of file containing data set properties 
 #main-thread.type-extractor.data-set-properties-file = etc/data-set.properties
 
diff --git a/datastore_server/etc/service.properties b/datastore_server/etc/service.properties
index ad4c95131c4..a557580d5f2 100644
--- a/datastore_server/etc/service.properties
+++ b/datastore_server/etc/service.properties
@@ -111,7 +111,6 @@ main-thread.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
 main-thread.type-extractor.file-format-type = TIFF
 main-thread.type-extractor.locator-type = RELATIVE_LOCATION
 main-thread.type-extractor.data-set-type = HCS_IMAGE
-main-thread.type-extractor.procedure-type = DATA_ACQUISITION
 # Location of file containing data set properties 
 #main-thread.type-extractor.data-set-properties-file = etc/data-set.properties
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
index bc53c0c2092..56109c9c21b 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
@@ -243,7 +243,7 @@ public final class BDSStorageProcessor extends AbstractStorageProcessor implemen
 
     private final IDataStructureV1_1 createDataStructure(final ExperimentPE experiment,
             final DataSetInformation dataSetInformation,
-            final IProcedureAndDataTypeExtractor typeExtractor, final File incomingDataSetPath,
+            final IProcessorIDAndDataTypeExtractor typeExtractor, final File incomingDataSetPath,
             final File rootDir)
     {
         final FileStorage storage = new FileStorage(rootDir);
@@ -293,13 +293,12 @@ public final class BDSStorageProcessor extends AbstractStorageProcessor implemen
     }
 
     private final static DataSet createDataSet(final DataSetInformation dataSetInformation,
-            final IProcedureAndDataTypeExtractor typeExtractor, final File incomingDataSetPath)
+            final IProcessorIDAndDataTypeExtractor typeExtractor, final File incomingDataSetPath)
     {
         final String dataSetCode = dataSetInformation.getDataSetCode();
         final String parentDataSetCode = dataSetInformation.getParentDataSetCode();
         final List<String> parentCodes = getParentCodeList(parentDataSetCode);
-        final boolean isMeasured =
-                typeExtractor.getProcedureType(incomingDataSetPath).isDataAcquisition();
+        final boolean isMeasured = typeExtractor.isMeasuredData(incomingDataSetPath);
         final DataSetType dataSetType = typeExtractor.getDataSetType(incomingDataSetPath);
         final DataSet dataSet =
                 new DataSet(dataSetCode, dataSetType.getCode(),
@@ -417,7 +416,7 @@ public final class BDSStorageProcessor extends AbstractStorageProcessor implemen
 
     public final File storeData(final ExperimentPE experiment,
             final DataSetInformation dataSetInformation,
-            final IProcedureAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
+            final IProcessorIDAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
             final File incomingDataSetDirectory, final File rootDirectory)
     {
         checkDataSetInformation(dataSetInformation);
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessor.java
index f2d4b32b854..8023f69b372 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessor.java
@@ -47,7 +47,7 @@ public class DefaultStorageProcessor extends AbstractStorageProcessor
 
     public final File storeData(final ExperimentPE experiment,
             final DataSetInformation dataSetInformation,
-            final IProcedureAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
+            final IProcessorIDAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
             final File incomingDataSetDirectory, final File rootDir)
     {
         checkParameters(incomingDataSetDirectory, rootDir);
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLServerPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLServerPlugin.java
index 8d48eb808d5..76508fecaef 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLServerPlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLServerPlugin.java
@@ -26,7 +26,7 @@ public class ETLServerPlugin implements IETLServerPlugin
 {
     private final IDataSetInfoExtractor codeExtractor;
 
-    private final IProcedureAndDataTypeExtractor typeExtractor;
+    private final IProcessorIDAndDataTypeExtractor typeExtractor;
 
     private final IStorageProcessor storageProcessor;
 
@@ -34,7 +34,7 @@ public class ETLServerPlugin implements IETLServerPlugin
      * Creates an instance with the specified extractors.
      */
     public ETLServerPlugin(final IDataSetInfoExtractor codeExtractor,
-            final IProcedureAndDataTypeExtractor typeExtractor,
+            final IProcessorIDAndDataTypeExtractor typeExtractor,
             final IStorageProcessor storageProcessor)
     {
         assert codeExtractor != null : "Missing code extractor";
@@ -55,7 +55,7 @@ public class ETLServerPlugin implements IETLServerPlugin
         return codeExtractor;
     }
 
-    public final IProcedureAndDataTypeExtractor getTypeExtractor()
+    public final IProcessorIDAndDataTypeExtractor getTypeExtractor()
     {
         return typeExtractor;
     }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IETLServerPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IETLServerPlugin.java
index e31d9dfe070..a55599010c6 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IETLServerPlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IETLServerPlugin.java
@@ -32,7 +32,7 @@ public interface IETLServerPlugin
     /**
      * Returns the procedure and data type extractor.
      */
-    public IProcedureAndDataTypeExtractor getTypeExtractor();
+    public IProcessorIDAndDataTypeExtractor getTypeExtractor();
 
     /**
      * Returns the {@link IStorageProcessor} implementation.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcedureAndDataTypeExtractor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcessorIDAndDataTypeExtractor.java
similarity index 79%
rename from datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcedureAndDataTypeExtractor.java
rename to datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcessorIDAndDataTypeExtractor.java
index 0fb794d013f..4c938eeccd1 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcedureAndDataTypeExtractor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IProcessorIDAndDataTypeExtractor.java
@@ -23,19 +23,24 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.LocatorType;
 
 /**
- * Extractor for procedure, data set, file format, and locator type.
+ * Extractor for processor ID, data set, file format, and locator type.
  * 
  * @author Franz-Josef Elmer
  */
-public interface IProcedureAndDataTypeExtractor
+public interface IProcessorIDAndDataTypeExtractor
 {
     /** Properties key prefix for the type extractor. */
     public static final String TYPE_EXTRACTOR_KEY = "type-extractor";
 
     /**
-     * Gets the procedure type from the specified path of the incoming data set.
+     * Returns <code>true</code> if the specified data set contains measured data.
      */
-    public ProcedureType getProcedureType(File incomingDataSetPath);
+    public boolean isMeasuredData(File incomingDataSetPath);
+    
+    /**
+     * Returns the ID of the {@link IProcessor} to be used.
+     */
+    public String getProcessorID(File incomingDataSetPath);
 
     /**
      * Gets the data set type from the specified path of the incoming data set.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IStorageProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IStorageProcessor.java
index 74771af803e..04d92cb74ec 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/IStorageProcessor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/IStorageProcessor.java
@@ -48,7 +48,7 @@ public interface IStorageProcessor extends IStoreRootDirectoryHolder
      * 
      * @param experiment information about the related experiment.
      * @param dataSetInformation Information about the data set.
-     * @param typeExtractor the {@link IProcedureAndDataTypeExtractor} implementation.
+     * @param typeExtractor the {@link IProcessorIDAndDataTypeExtractor} implementation.
      * @param mailClient mail client.
      * @param incomingDataSetDirectory folder to store. Do not remove it after the implementation
      *            has finished processing. {@link TransferredDataSetHandler} takes care of this.
@@ -59,12 +59,12 @@ public interface IStorageProcessor extends IStoreRootDirectoryHolder
      */
     public File storeData(final ExperimentPE experiment,
             final DataSetInformation dataSetInformation,
-            final IProcedureAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
+            final IProcessorIDAndDataTypeExtractor typeExtractor, final IMailClient mailClient,
             final File incomingDataSetDirectory, final File rootDir);
 
     /**
      * Performs a rollback of
-     * {@link #storeData(ExperimentPE, DataSetInformation, IProcedureAndDataTypeExtractor, IMailClient, File, File)}
+     * {@link #storeData(ExperimentPE, DataSetInformation, IProcessorIDAndDataTypeExtractor, IMailClient, File, File)}
      * The data created in <code>directory</code> will also be removed.
      * <p>
      * Call to this method is safe as implementations should try/catch exceptions that could occur
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ProcedureType.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/ProcedureType.java
deleted file mode 100644
index 9ffac40ce64..00000000000
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ProcedureType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2007 ETH Zuerich, CISD
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package ch.systemsx.cisd.etlserver;
-
-import ch.systemsx.cisd.openbis.generic.shared.dto.types.ProcedureTypeCode;
-
-/**
- * Kind of <i>Java Bean</i> or <i>Value Object</i> which transports through Web Service any
- * information we would like to know about a procedure type.
- * 
- * @author Christian Ribeaud
- */
-public final class ProcedureType
-{
-    private String code;
-    private boolean dataAcquisition;
-
-    public ProcedureType()
-    {
-    }
-
-    public final String getCode()
-    {
-        return code;
-    }
-
-    public final void setCode(String code)
-    {
-        this.code = code;
-    }
-
-    public ProcedureType(final String code)
-    {
-        ProcedureTypeCode procedureTypeCode = ProcedureTypeCode.getProcedureTypeCode(code);
-        setCode(procedureTypeCode.getCode());
-        setDataAcquisition(procedureTypeCode == ProcedureTypeCode.DATA_ACQUISITION);
-    }
-
-    /**
-     * Returns <code>true</code> if and only if this procedure type represents a data acquisition
-     * (or measurement) rather than a data processing (or derivation) step in a workflow.
-     */
-    public final boolean isDataAcquisition()
-    {
-        return dataAcquisition;
-    }
-
-    /**
-     * Sets the attribute which determines whether this procedure type represents a data acquisition
-     * (or measurement) rather than a data processing (or derivation) step in a workflow.
-     */
-    public final void setDataAcquisition(final boolean dataAcquisition)
-    {
-        this.dataAcquisition = dataAcquisition;
-    }
-}
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/PropertiesBasedETLServerPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/PropertiesBasedETLServerPlugin.java
index 6feb4ffde9d..c38a9c36232 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/PropertiesBasedETLServerPlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/PropertiesBasedETLServerPlugin.java
@@ -17,7 +17,7 @@
 package ch.systemsx.cisd.etlserver;
 
 import static ch.systemsx.cisd.etlserver.IDataSetInfoExtractor.EXTRACTOR_KEY;
-import static ch.systemsx.cisd.etlserver.IProcedureAndDataTypeExtractor.TYPE_EXTRACTOR_KEY;
+import static ch.systemsx.cisd.etlserver.IProcessorIDAndDataTypeExtractor.TYPE_EXTRACTOR_KEY;
 import static ch.systemsx.cisd.etlserver.IStorageProcessor.STORAGE_PROCESSOR_KEY;
 
 import java.util.Properties;
@@ -46,7 +46,7 @@ import ch.systemsx.cisd.common.utilities.ExtendedProperties;
  * </tr>
  * <tr>
  * <td><code>type-extractor</code></td>
- * <td>{@link IProcedureAndDataTypeExtractor}</td>
+ * <td>{@link IProcessorIDAndDataTypeExtractor}</td>
  * </tr>
  * </table> Example of a properties file:
  * 
@@ -108,10 +108,10 @@ public class PropertiesBasedETLServerPlugin extends ETLServerPlugin
         return create(IStorageProcessor.class, properties, STORAGE_PROCESSOR_KEY, true);
     }
 
-    private final static IProcedureAndDataTypeExtractor createProcedureAndDataTypeExtractor(
+    private final static IProcessorIDAndDataTypeExtractor createProcedureAndDataTypeExtractor(
             final Properties properties)
     {
-        return create(IProcedureAndDataTypeExtractor.class, properties, TYPE_EXTRACTOR_KEY, true);
+        return create(IProcessorIDAndDataTypeExtractor.class, properties, TYPE_EXTRACTOR_KEY, true);
     }
 
     private final static IDataSetInfoExtractor createDataSetInfoExtractor(
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractor.java
index 49eaf3889e8..a5419279cd2 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractor.java
@@ -23,15 +23,14 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.LocatorType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.types.DataSetTypeCode;
-import ch.systemsx.cisd.openbis.generic.shared.dto.types.ProcedureTypeCode;
 
 /**
- * Implementation of {@link IProcedureAndDataTypeExtractor} which gets the types from the properties
+ * Implementation of {@link IProcessorIDAndDataTypeExtractor} which gets the types from the properties
  * argument of the constructor.
  * 
  * @author Franz-Josef Elmer
  */
-public class SimpleTypeExtractor implements IProcedureAndDataTypeExtractor
+public class SimpleTypeExtractor implements IProcessorIDAndDataTypeExtractor
 {
     public static final String FILE_FORMAT_TYPE_KEY = "file-format-type";
 
@@ -39,7 +38,9 @@ public class SimpleTypeExtractor implements IProcedureAndDataTypeExtractor
 
     public static final String DATA_SET_TYPE_KEY = "data-set-type";
 
-    public static final String PROCEDURE_TYPE_KEY = "procedure-type";
+    public static final String PROCESSOR_ID_KEY = "processor-id";
+    
+    public static final String IS_MEASURED_KEY = "is-measured";
 
     private FileFormatType fileFormatType;
 
@@ -47,7 +48,9 @@ public class SimpleTypeExtractor implements IProcedureAndDataTypeExtractor
 
     private DataSetType dataSetType;
 
-    private ProcedureType procedureType;
+    private String processorID;
+    
+    private boolean measured;
 
     public SimpleTypeExtractor(final Properties properties)
     {
@@ -59,10 +62,9 @@ public class SimpleTypeExtractor implements IProcedureAndDataTypeExtractor
         locatorType = new LocatorType(code);
         code = properties.getProperty(DATA_SET_TYPE_KEY, DataSetTypeCode.HCS_IMAGE.getCode());
         dataSetType = new DataSetType(code);
-        code =
-                properties.getProperty(PROCEDURE_TYPE_KEY, ProcedureTypeCode.DATA_ACQUISITION
-                        .getCode());
-        procedureType = new ProcedureType(code);
+        processorID =
+                properties.getProperty(PROCESSOR_ID_KEY, "DATA_ACQUISITION");
+        measured = "true".equals(properties.getProperty(IS_MEASURED_KEY, "true"));
 
     }
 
@@ -85,9 +87,15 @@ public class SimpleTypeExtractor implements IProcedureAndDataTypeExtractor
         return dataSetType;
     }
 
-    public final ProcedureType getProcedureType(final File incomingDataSetPath)
+    public String getProcessorID(File incomingDataSetPath)
     {
-        return procedureType;
+        return processorID;
     }
 
+    public boolean isMeasuredData(File incomingDataSetPath)
+    {
+        return measured;
+    }
+
+
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandler.java
index cf974093aae..9ef822e10ad 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandler.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandler.java
@@ -110,7 +110,7 @@ public final class TransferredDataSetHandler implements IPathHandler, ISelfTesta
 
     private final Lock registrationLock;
 
-    private final IProcedureAndDataTypeExtractor typeExtractor;
+    private final IProcessorIDAndDataTypeExtractor typeExtractor;
 
     private final IStorageProcessor storageProcessor;
 
@@ -307,12 +307,11 @@ public final class TransferredDataSetHandler implements IPathHandler, ISelfTesta
         final void registerDataSet()
         {
             final ExperimentPE experiment = dataSetInformation.getExperiment();
-            final String procedureTypeCode =
-                    typeExtractor.getProcedureType(incomingDataSetFile).getCode();
-            final IProcessor processorOrNull = tryCreateProcessor(procedureTypeCode);
+            String processorID = typeExtractor.getProcessorID(incomingDataSetFile);
+            final IProcessor processorOrNull = tryCreateProcessor(processorID);
             try
             {
-                registerDataSetAndInitiateProcessing(experiment, procedureTypeCode, processorOrNull);
+                registerDataSetAndInitiateProcessing(experiment, processorID, processorOrNull);
                 logAndNotifySuccessfulRegistration(experiment.getRegistrator().getEmail());
                 if (fileOperations.exists(incomingDataSetFile)
                         && fileOperations.removeRecursivelyQueueing(incomingDataSetFile) == false)
@@ -657,9 +656,9 @@ public final class TransferredDataSetHandler implements IPathHandler, ISelfTesta
             return baseDirectory;
         }
 
-        private IProcessor tryCreateProcessor(final String procedureTypeCode)
+        private IProcessor tryCreateProcessor(final String processorID)
         {
-            final IProcessorFactory processorFactory = processorFactories.get(procedureTypeCode);
+            final IProcessorFactory processorFactory = processorFactories.get(processorID);
             if (processorFactory == null)
             {
                 return null;
@@ -693,6 +692,7 @@ public final class TransferredDataSetHandler implements IPathHandler, ISelfTesta
             data.setLocatorType(typeExtractor.getLocatorType(incomingDataSetFile));
             data.setDataSetType(typeExtractor.getDataSetType(incomingDataSetFile));
             data.setFileFormatType(typeExtractor.getFileFormatType(incomingDataSetFile));
+            data.setMeasured(typeExtractor.isMeasuredData(incomingDataSetFile));
             data.setStorageFormat(storageFormat);
             data.setComplete(isCompleteFlag);
             return data;
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/BDSStorageProcessorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/BDSStorageProcessorTest.java
index 49b549e0c78..42034b6c60f 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/BDSStorageProcessorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/BDSStorageProcessorTest.java
@@ -125,7 +125,7 @@ public final class BDSStorageProcessorTest extends AbstractFileSystemTestCase
 
     private static final String FILE_EXTRACTOR_KEY = IHCSImageFileExtractor.FILE_EXTRACTOR;
 
-    private final static IProcedureAndDataTypeExtractor TYPE_EXTRACTOR =
+    private final static IProcessorIDAndDataTypeExtractor TYPE_EXTRACTOR =
             new DefaultStorageProcessorTest.TestProcedureAndDataTypeExtractor();
 
     private final static String STORE_ROOT_DIR = "store";
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessorTest.java
index 040a485f702..bbe66da3067 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultStorageProcessorTest.java
@@ -42,7 +42,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.types.ProcedureTypeCode;
 public final class DefaultStorageProcessorTest extends AbstractFileSystemTestCase
 {
 
-    private final static IProcedureAndDataTypeExtractor TYPE_EXTRACTOR =
+    private final static IProcessorIDAndDataTypeExtractor TYPE_EXTRACTOR =
             new TestProcedureAndDataTypeExtractor();
 
     private final DefaultStorageProcessor createStorageProcessor()
@@ -83,7 +83,8 @@ public final class DefaultStorageProcessorTest extends AbstractFileSystemTestCas
         assertEquals(true, storeData.isDirectory());
         assertEquals(rootDir.getAbsolutePath(), storeData.getAbsolutePath());
         assertEquals("hello world", FileUtilities.loadToString(
-                new File(storeData, DefaultStorageProcessor.ORIGINAL_DIR + "/incoming/read.me")).trim());
+                new File(storeData, DefaultStorageProcessor.ORIGINAL_DIR + "/incoming/read.me"))
+                .trim());
     }
 
     @Test
@@ -124,7 +125,7 @@ public final class DefaultStorageProcessorTest extends AbstractFileSystemTestCas
     // Helper classes
     //
 
-    final static class TestProcedureAndDataTypeExtractor implements IProcedureAndDataTypeExtractor
+    final static class TestProcedureAndDataTypeExtractor implements IProcessorIDAndDataTypeExtractor
     {
 
         static final String PROCEDURE_TYPE = ProcedureTypeCode.DATA_ACQUISITION.getCode();
@@ -156,11 +157,14 @@ public final class DefaultStorageProcessorTest extends AbstractFileSystemTestCas
             return new DataSetType(DATA_SET_TYPE);
         }
 
-        public final ProcedureType getProcedureType(final File incomingDataSetPath)
+        public String getProcessorID(File incomingDataSetPath)
         {
-            final ProcedureType procedureType = new ProcedureType(PROCEDURE_TYPE);
-            procedureType.setDataAcquisition(true);
-            return procedureType;
+            return "da";
+        }
+
+        public boolean isMeasuredData(File incomingDataSetPath)
+        {
+            return true;
         }
 
         public List<NewProperty> getDataSetProperties()
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractorTest.java
index 3fd7bc8b613..2ca03f4408b 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/SimpleTypeExtractorTest.java
@@ -25,7 +25,6 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.LocatorType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.types.DataSetTypeCode;
-import ch.systemsx.cisd.openbis.generic.shared.dto.types.ProcedureTypeCode;
 
 /**
  * Test cases for corresponding {@link SimpleTypeExtractor} class.
@@ -41,8 +40,8 @@ public class SimpleTypeExtractorTest
         props.put(SimpleTypeExtractor.FILE_FORMAT_TYPE_KEY, "F");
         props.put(SimpleTypeExtractor.LOCATOR_TYPE_KEY, "L");
         props.put(SimpleTypeExtractor.DATA_SET_TYPE_KEY, "O");
-        props.put(SimpleTypeExtractor.PROCEDURE_TYPE_KEY, ProcedureTypeCode.DATA_ACQUISITION
-                .getCode());
+        props.put(SimpleTypeExtractor.PROCESSOR_ID_KEY, "P");
+        props.put(SimpleTypeExtractor.IS_MEASURED_KEY, "false");
         return props;
     }
 
@@ -50,19 +49,18 @@ public class SimpleTypeExtractorTest
     public final void testConstructor()
     {
         SimpleTypeExtractor extractor = new SimpleTypeExtractor(new Properties());
-        assertEquals(extractor.getFileFormatType(null).getCode(),
-                FileFormatType.DEFAULT_FILE_FORMAT_TYPE_CODE);
-        assertEquals(extractor.getLocatorType(null).getCode(),
-                LocatorType.DEFAULT_LOCATOR_TYPE_CODE);
-        assertEquals(extractor.getDataSetType(null).getCode(), DataSetTypeCode.HCS_IMAGE
-                .getCode());
-        assertEquals(extractor.getProcedureType(null).getCode(), ProcedureTypeCode.DATA_ACQUISITION
-                .getCode());
+        assertEquals(FileFormatType.DEFAULT_FILE_FORMAT_TYPE_CODE, extractor.getFileFormatType(null).getCode());
+        assertEquals(LocatorType.DEFAULT_LOCATOR_TYPE_CODE, extractor.getLocatorType(null).getCode());
+        assertEquals(DataSetTypeCode.HCS_IMAGE
+                .getCode(), extractor.getDataSetType(null).getCode());
+        assertEquals("DATA_ACQUISITION", extractor.getProcessorID(null));
+        assertEquals(true, extractor.isMeasuredData(null));
+        
         extractor = new SimpleTypeExtractor(createProperties());
         assertEquals("F", extractor.getFileFormatType(null).getCode());
         assertEquals("L", extractor.getLocatorType(null).getCode());
         assertEquals("O", extractor.getDataSetType(null).getCode());
-        assertEquals(ProcedureTypeCode.DATA_ACQUISITION.getCode(), extractor.getProcedureType(null)
-                .getCode());
+        assertEquals("P", extractor.getProcessorID(null));
+        assertEquals(false, extractor.isMeasuredData(null));
     }
 }
\ No newline at end of file
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 be1c4c13621..da95106c299 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/TransferredDataSetHandlerTest.java
@@ -103,9 +103,6 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
     private static final String PARENT_DATA_SET_CODE = "4711-1";
 
-    private static final ProcedureType PROCEDURE_TYPE =
-            new ProcedureType(ProcedureTypeCode.DATA_ACQUISITION.getCode());
-
     private static final LocatorType LOCATOR_TYPE = new LocatorType("L1");
 
     private static final DataSetType DATA_SET_TYPE = new DataSetType("O1");
@@ -116,7 +113,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
     private static final Date DATA_PRODUCTION_DATE = new Date(2001);
 
-    private static final String EXAMPLE_PROCEDURE_TYPE_CODE =
+    private static final String EXAMPLE_PROCESSOR_ID =
             ProcedureTypeCode.DATA_ACQUISITION.getCode();
 
     private static final class ExternalDataMatcher extends BaseMatcher<ExternalData>
@@ -187,7 +184,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
     private IDataSetInfoExtractor dataSetInfoExtractor;
 
-    private IProcedureAndDataTypeExtractor typeExtractor;
+    private IProcessorIDAndDataTypeExtractor typeExtractor;
 
     private IStorageProcessor storageProcessor;
 
@@ -255,7 +252,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
         context = new Mockery();
         dataSetInfoExtractor = context.mock(IDataSetInfoExtractor.class);
-        typeExtractor = context.mock(IProcedureAndDataTypeExtractor.class);
+        typeExtractor = context.mock(IProcessorIDAndDataTypeExtractor.class);
         final Properties properties = new Properties();
         properties.setProperty(JavaMailProperties.MAIL_SMTP_HOST, "host");
         properties.setProperty(JavaMailProperties.MAIL_FROM, "me");
@@ -266,7 +263,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
         processorFactory = context.mock(IProcessorFactory.class);
         processor = context.mock(IProcessor.class);
         final Map<String, IProcessorFactory> map = new HashMap<String, IProcessorFactory>();
-        map.put(EXAMPLE_PROCEDURE_TYPE_CODE, processorFactory);
+        map.put(EXAMPLE_PROCESSOR_ID, processorFactory);
         final IETLServerPlugin plugin =
                 new ETLServerPlugin(new MockDataSetInfoExtractor(dataSetInfoExtractor),
                         typeExtractor, storageProcessor);
@@ -361,7 +358,7 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
     private final static ProcessingInstructionDTO create()
     {
         final ProcessingInstructionDTO processingInstruction = new ProcessingInstructionDTO();
-        processingInstruction.setProcedureTypeCode(EXAMPLE_PROCEDURE_TYPE_CODE);
+        processingInstruction.setProcedureTypeCode(EXAMPLE_PROCESSOR_ID);
         return processingInstruction;
     }
 
@@ -428,9 +425,9 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
 
                     one(typeExtractor).getFileFormatType(dataSet);
                     will(returnValue(FILE_FORMAT_TYPE));
-
-                    one(typeExtractor).getProcedureType(dataSet);
-                    will(returnValue(PROCEDURE_TYPE));
+                    
+                    one(typeExtractor).getProcessorID(dataSet);
+                    will(returnValue(EXAMPLE_PROCESSOR_ID));
 
                 }
             });
@@ -814,8 +811,8 @@ public final class TransferredDataSetHandlerTest extends AbstractFileSystemTestC
                     one(processorFactory).createProcessor();
                     will(returnValue(processor));
 
-                    one(typeExtractor).getProcedureType(folder);
-                    will(returnValue(PROCEDURE_TYPE));
+                    one(typeExtractor).getProcessorID(folder);
+                    will(returnValue(EXAMPLE_PROCESSOR_ID));
 
                     one(storageProcessor).storeData(baseExperiment, dataSetInformation,
                             typeExtractor, mailClient, folder, baseDir);
-- 
GitLab