From 795227068d69a6468ea993c4b22848a7f32e372f Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 19 Aug 2010 08:47:50 +0000
Subject: [PATCH] LMS-1707 fix GenedataFormatToCanonicalFeatureVector,
 ImgFeatureDefDTO and tests

SVN: 17529
---
 .../GenedataFormatToCanonicalFeatureVector.java      |  6 ++++--
 .../shared/imaging/dataaccess/ImgFeatureDefDTO.java  |  3 ++-
 .../etl/featurevector/FeatureVectorUploaderTest.java |  2 +-
 .../etl/genedata/FeatureStorageProcessorTest.java    |  6 ++----
 .../ImageAnalysisMergedRowsReportingPluginTest.java  |  8 ++++----
 .../screening/server/DssServiceRpcScreeningTest.java | 12 ++++++------
 .../imaging/dataaccess/FeatureVectorDAOTest.java     |  4 ++--
 7 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java
index 9b215c2b5b2..cb311c96f62 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java
@@ -27,6 +27,7 @@ import org.apache.commons.lang.StringUtils;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.utilities.Counters;
 import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector;
+import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateFeatureValues;
@@ -81,9 +82,10 @@ public class GenedataFormatToCanonicalFeatureVector
 
         CanonicalFeatureVector featureVector = new CanonicalFeatureVector();
         String name = feature.name;
-        int count = counters.count(name);
+        String code = CodeAndTitle.normalize(name);
+        int count = counters.count(code);
         ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO();
-        featureDef.setCode(count == 1 ? name : name + count);
+        featureDef.setCode(count == 1 ? code : code + count);
         featureDef.setLabel(name);
         featureDef.setDescription(name);
         featureVector.setFeatureDef(featureDef);
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
index 402505c40f1..4d85532a6f1 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
@@ -48,9 +48,10 @@ public class ImgFeatureDefDTO extends AbstractHashable
     {
     }
 
-    public ImgFeatureDefDTO(String label, String description, long dataSetId)
+    public ImgFeatureDefDTO(String label, String code, String description, long dataSetId)
     {
         this.label = label;
+        this.code = code;
         this.description = description;
         this.dataSetId = dataSetId;
     }
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java
index ef6e7b5eeff..3bf778c59df 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java
@@ -159,7 +159,7 @@ public class FeatureVectorUploaderTest extends AbstractDBTest
 
             String featureName = TEST_FEATURE_NAME + i;
             String featureDesc = featureName + " desc";
-            ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO(featureName, featureDesc, 0);
+            ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO(featureName, featureName, featureDesc, 0);
             fvec.setFeatureDef(featureDef);
             PlateFeatureValues values = createValues(rowCount, columnCount);
             ImgFeatureValuesDTO featureValues = new ImgFeatureValuesDTO(0.0, 0.0, values, 0);
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
index 268f2ae6430..88d4a5003d1 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
@@ -99,16 +99,14 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase
                     one(dao).addDataset(with(any(ImgDatasetDTO.class)));
                     will(returnValue(datasetId));
 
-                    ImgFeatureDefDTO featureDTO = new ImgFeatureDefDTO("alpha", "alpha", datasetId);
-                    featureDTO.setCode("alpha");
+                    ImgFeatureDefDTO featureDTO = new ImgFeatureDefDTO("alpha", "ALPHA", "alpha", datasetId);
                     one(dao).addFeatureDef(with(equal(featureDTO)));
                     will(returnValue((long) 1));
 
                     one(dao).addFeatureValues(with(any(ImgFeatureValuesDTO.class)));
                     will(returnValue((long) 1));
 
-                    featureDTO = new ImgFeatureDefDTO("beta", "beta", datasetId);
-                    featureDTO.setCode("beta");
+                    featureDTO = new ImgFeatureDefDTO("beta", "BETA", "beta", datasetId);
                     one(dao).addFeatureDef(with(equal(featureDTO)));
                     will(returnValue((long) 2));
 
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java
index 3d90f3cad96..0dfbaa0ba69 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java
@@ -91,10 +91,10 @@ public class ImageAnalysisMergedRowsReportingPluginTest extends AssertJUnit
         final ImgContainerDTO p2 = new ImgContainerDTO("p2", 2, 1, 0);
         final SampleIdentifier p2Identifier =
                 new SampleIdentifier(new SpaceIdentifier("1", "S"), "P2");
-        final ImgFeatureDefDTO ds1f1 = new ImgFeatureDefDTO("f1", "", 1);
-        final ImgFeatureDefDTO ds1f2 = new ImgFeatureDefDTO("f2", "", 1);
-        final ImgFeatureDefDTO ds2f2 = new ImgFeatureDefDTO("f2", "", 2);
-        final ImgFeatureDefDTO ds2f3 = new ImgFeatureDefDTO("f3", "", 2);
+        final ImgFeatureDefDTO ds1f1 = new ImgFeatureDefDTO("f1", "F1", "", 1);
+        final ImgFeatureDefDTO ds1f2 = new ImgFeatureDefDTO("f2", "F2", "", 1);
+        final ImgFeatureDefDTO ds2f2 = new ImgFeatureDefDTO("f2", "F2", "", 2);
+        final ImgFeatureDefDTO ds2f3 = new ImgFeatureDefDTO("f3", "F3", "", 2);
         final ImgFeatureValuesDTO ds1f1Values =
                 createFeatureValues("12, 2.5", "24, 3.25", "-1.5, 42");
         final ImgFeatureValuesDTO ds1f2Values =
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreeningTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreeningTest.java
index f04be63eec0..a45993cccd2 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreeningTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreeningTest.java
@@ -127,14 +127,14 @@ public class DssServiceRpcScreeningTest extends AssertJUnit
                         "f1", "f2"));
 
         assertSame(r1, dataSets.get(0).getDataset());
-        assertEquals("[f1, f2]", dataSets.get(0).getFeatureNames().toString());
+        assertEquals("[F1, F2]", dataSets.get(0).getFeatureNames().toString());
         assertFeatureVector(1, 1, dataSets.get(0).getFeatureVectors().get(0), 244.5, 245.5);
         assertFeatureVector(1, 2, dataSets.get(0).getFeatureVectors().get(1), 242.25, 243.25);
         assertEquals(2, dataSets.get(0).getFeatureVectors().size());
         assertSame(r2, dataSets.get(1).getDataset());
-        assertEquals("[f1, f2]", dataSets.get(1).getFeatureNames().toString());
-        assertFeatureVector(1, 1, dataSets.get(1).getFeatureVectors().get(0), Float.NaN, 249.0);
-        assertFeatureVector(1, 2, dataSets.get(1).getFeatureVectors().get(1), Float.NaN, 244.5);
+        assertEquals("[F2]", dataSets.get(1).getFeatureNames().toString());
+        assertFeatureVector(1, 1, dataSets.get(1).getFeatureVectors().get(0), 249.0);
+        assertFeatureVector(1, 2, dataSets.get(1).getFeatureVectors().get(1), 244.5);
         assertEquals(2, dataSets.get(1).getFeatureVectors().size());
         assertEquals(2, dataSets.size());
         context.assertIsSatisfied();
@@ -174,7 +174,7 @@ public class DssServiceRpcScreeningTest extends AssertJUnit
 
                     for (String name : featureNames)
                     {
-                        one(dao).getFeatureValues(new ImgFeatureDefDTO(name, "", 0));
+                        one(dao).getFeatureValues(new ImgFeatureDefDTO(name, name, "", 0));
                         int offset = Integer.parseInt(name, 16);
                         PlateFeatureValues array =
                                 new PlateFeatureValues(NativeTaggedArray
@@ -205,7 +205,7 @@ public class DssServiceRpcScreeningTest extends AssertJUnit
                     List<ImgFeatureDefDTO> defs = new ArrayList<ImgFeatureDefDTO>();
                     for (String name : featureNames)
                     {
-                        defs.add(new ImgFeatureDefDTO(name, "", 0));
+                        defs.add(new ImgFeatureDefDTO(name, name, "", 0));
                     }
                     will(returnValue(defs));
                 }
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java
index 709a8cb0030..6fd54fcb347 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java
@@ -149,8 +149,8 @@ public class FeatureVectorDAOTest extends AbstractDBTest
     {
         // Attach a feature def to it
         ImgFeatureDefDTO featureDef =
-                new ImgFeatureDefDTO(TEST_FEATURE_LABEL, "Test", dataSet.getId());
-        featureDef.setCode(CodeAndTitle.normalize(featureDef.getLabel()));
+                new ImgFeatureDefDTO(TEST_FEATURE_LABEL,
+                        CodeAndTitle.normalize(TEST_FEATURE_LABEL), "Test", dataSet.getId());
         return dao.addFeatureDef(featureDef);
     }
 }
-- 
GitLab