From af3433d2ba499eedbf17c6ab680290d3834ada9a Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Wed, 2 Mar 2011 10:31:12 +0000
Subject: [PATCH] LMS-2081 minor: simplify API interface for analysis
 registration

SVN: 20194
---
 ...tionValues.java => FeatureDefinition.java} |  22 +++-
 .../impl/FeatureVectorDataSetInformation.java |  29 ++++-
 .../dss/etl/dto/api/impl/FeaturesBuilder.java |  25 ++--
 .../dss/etl/dto/api/v1/FeatureDefinition.java | 120 ------------------
 ...ureValues.java => IFeatureDefinition.java} |  10 +-
 .../etl/dto/api/v1/IFeatureVectorDataSet.java |  28 ++++
 .../dss/etl/dto/api/v1/IFeaturesBuilder.java  |   2 +-
 .../CsvToCanonicalFeatureVector.java          |   6 +-
 .../FeatureVectorStorageProcessor.java        |   6 +-
 .../api/impl/FeatureDefinitionValuesTest.java |  12 +-
 10 files changed, 104 insertions(+), 156 deletions(-)
 rename screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/{FeatureDefinitionValues.java => FeatureDefinition.java} (92%)
 delete mode 100644 screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/FeatureDefinition.java
 rename screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/{IFeatureValues.java => IFeatureDefinition.java} (84%)
 create mode 100644 screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureVectorDataSet.java

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValues.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
similarity index 92%
rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValues.java
rename to screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
index ff39220551b..6eda73dd15f 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValues.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeatureValues;
+import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeatureDefinition;
 import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector;
 import ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureValuesMap;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry;
@@ -39,7 +39,7 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFe
  * 
  * @author Tomasz Pylak
  */
-public class FeatureDefinitionValues implements IFeatureValues
+public class FeatureDefinition implements IFeatureDefinition
 {
     private final ImgFeatureDefDTO imgFeatureDefDTO;
 
@@ -47,12 +47,12 @@ public class FeatureDefinitionValues implements IFeatureValues
 
     private FeatureValuesMap currentFeatureVector;
 
-    public FeatureDefinitionValues(ImgFeatureDefDTO imgFeatureDefDTO)
+    public FeatureDefinition(ImgFeatureDefDTO imgFeatureDefDTO)
     {
         this(imgFeatureDefDTO, new FeatureValuesMap(null, null));
     }
 
-    public FeatureDefinitionValues(ImgFeatureDefDTO imgFeatureDefDTO,
+    public FeatureDefinition(ImgFeatureDefDTO imgFeatureDefDTO,
             FeatureValuesMap currentFeatureVector)
     {
         assert imgFeatureDefDTO != null : "featureDefinition is null";
@@ -61,7 +61,7 @@ public class FeatureDefinitionValues implements IFeatureValues
         this.currentFeatureVector = currentFeatureVector;
     }
 
-    public void setSeries(Double timeOrNull, Double depthOrNull)
+    public void changeSeries(Double timeOrNull, Double depthOrNull)
     {
         flushCurrent();
         currentFeatureVector = new FeatureValuesMap(timeOrNull, depthOrNull);
@@ -76,6 +76,18 @@ public class FeatureDefinitionValues implements IFeatureValues
         }
     }
 
+    /** Optional. Sets the label of a feature. */
+    public void setFeatureLabel(String label)
+    {
+        this.imgFeatureDefDTO.setLabel(label);
+    }
+
+    /** Optional. Sets description of a feature. */
+    public void setFeatureDescription(String description)
+    {
+        this.imgFeatureDefDTO.setDescription(description);
+    }
+
     /**
      * @param well code of the well, e.g. A1
      * @param value value of the feature in the specified well
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorDataSetInformation.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorDataSetInformation.java
index 01a79ed6ce9..6c2da007c00 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorDataSetInformation.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorDataSetInformation.java
@@ -16,10 +16,14 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl;
 
+import java.util.ArrayList;
 import java.util.List;
 
+import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
+import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeatureDefinition;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
 import ch.systemsx.cisd.openbis.generic.shared.IServer;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO;
 
 /**
  * Extends {@link DataSetInformation} with information about images analysis on the well level
@@ -31,18 +35,19 @@ public class FeatureVectorDataSetInformation extends DataSetInformation
 {
     private static final long serialVersionUID = IServer.VERSION;
 
-    private List<FeatureDefinitionValues> features;
+    private List<FeatureDefinition> features;
 
     public FeatureVectorDataSetInformation()
     {
+        this.features = new ArrayList<FeatureDefinition>();
     }
 
-    public List<FeatureDefinitionValues> getFeatures()
+    public List<FeatureDefinition> getFeatures()
     {
         return features;
     }
 
-    public void setFeatures(List<FeatureDefinitionValues> features)
+    public void setFeatures(List<FeatureDefinition> features)
     {
         this.features = features;
     }
@@ -53,4 +58,22 @@ public class FeatureVectorDataSetInformation extends DataSetInformation
         return features != null && features.size() > 0;
     }
 
+    /** Defines a container to which values of the feature for each well can be added. */
+    public IFeatureDefinition defineFeature(String featureCode)
+    {
+        assert StringUtils.isBlank(featureCode) == false : "Feature code is blank " + featureCode;
+        FeatureDefinition featureDefinitionValues =
+                new FeatureDefinition(createFeatureDefinition(featureCode));
+        features.add(featureDefinitionValues);
+        return featureDefinitionValues;
+    }
+
+    private static ImgFeatureDefDTO createFeatureDefinition(String featureCode)
+    {
+        ImgFeatureDefDTO dto = new ImgFeatureDefDTO();
+        dto.setCode(featureCode);
+        dto.setLabel(featureCode);
+        return dto;
+    }
+
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeaturesBuilder.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeaturesBuilder.java
index 7aecfaa1401..2db162e5c21 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeaturesBuilder.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeaturesBuilder.java
@@ -19,8 +19,8 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl;
 import java.util.ArrayList;
 import java.util.List;
 
-import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.FeatureDefinition;
-import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeatureValues;
+import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
+import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeatureDefinition;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IFeaturesBuilder;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO;
 
@@ -31,33 +31,32 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFe
  */
 public class FeaturesBuilder implements IFeaturesBuilder
 {
-    private final List<FeatureDefinitionValues> featureDefinitionValuesList;
+    private final List<FeatureDefinition> featureDefinitionValuesList;
 
     public FeaturesBuilder()
     {
-        this.featureDefinitionValuesList = new ArrayList<FeatureDefinitionValues>();
+        this.featureDefinitionValuesList = new ArrayList<FeatureDefinition>();
     }
 
     /** Defines a container to which values of the feature for each well can be added. */
-    public IFeatureValues defineFeature(FeatureDefinition featureDefinition)
+    public IFeatureDefinition defineFeature(String featureCode)
     {
-        featureDefinition.ensureValid();
-        FeatureDefinitionValues featureDefinitionValues =
-                new FeatureDefinitionValues(convert(featureDefinition));
+        assert StringUtils.isBlank(featureCode) == false : "Feature code is blank " + featureCode;
+        FeatureDefinition featureDefinitionValues =
+                new FeatureDefinition(createFeatureDefinition(featureCode));
         featureDefinitionValuesList.add(featureDefinitionValues);
         return featureDefinitionValues;
     }
 
-    private static ImgFeatureDefDTO convert(FeatureDefinition featureDefinition)
+    private static ImgFeatureDefDTO createFeatureDefinition(String featureCode)
     {
         ImgFeatureDefDTO dto = new ImgFeatureDefDTO();
-        dto.setCode(featureDefinition.getCode());
-        dto.setLabel(featureDefinition.getLabel());
-        dto.setDescription(featureDefinition.getDescription());
+        dto.setCode(featureCode);
+        dto.setLabel(featureCode);
         return dto;
     }
 
-    public List<FeatureDefinitionValues> getFeatureDefinitionValuesList()
+    public List<FeatureDefinition> getFeatureDefinitionValuesList()
     {
         return featureDefinitionValuesList;
     }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/FeatureDefinition.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/FeatureDefinition.java
deleted file mode 100644
index 9ca81d7402e..00000000000
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/FeatureDefinition.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2011 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.openbis.dss.etl.dto.api.v1;
-
-import org.apache.commons.lang.StringUtils;
-
-/**
- * Definition of the feature.
- * 
- * @author Tomasz Pylak
- */
-public class FeatureDefinition
-{
-    private String code;
-
-    private String label;
-
-    private String description;
-
-    public FeatureDefinition()
-    {
-    }
-
-    /** Creates a feature definition, the label will be equal to the code. */
-    public FeatureDefinition(String code)
-    {
-        this.code = code;
-        this.label = code;
-    }
-
-    public String getCode()
-    {
-        return code;
-    }
-
-    /** Sets the code of a feature. */
-    public void setCode(String code)
-    {
-        this.code = code;
-    }
-
-    public String getLabel()
-    {
-        return label;
-    }
-
-    /** Sets the label of a feature. */
-    public void setLabel(String label)
-    {
-        this.label = label;
-    }
-
-    public String getDescription()
-    {
-        return description;
-    }
-
-    /** Sets description of a feature. */
-    public void setDescription(String description)
-    {
-        this.description = description;
-    }
-
-    /**
-     * Validates that tile number, well and channel have been specified.
-     * 
-     * @throws IllegalStateException if the object is not valid.
-     */
-    public void ensureValid()
-    {
-        if (StringUtils.isBlank(code))
-        {
-            throw new IllegalStateException("Code is not specified");
-        }
-        if (StringUtils.isBlank(label))
-        {
-            throw new IllegalStateException("Label is not specified");
-        }
-    }
-
-    @Override
-    public int hashCode()
-    {
-        return code.hashCode();
-    }
-
-    @Override
-    public boolean equals(Object obj)
-    {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        FeatureDefinition other = (FeatureDefinition) obj;
-        if (code == null)
-        {
-            return other.code == null;
-        } else
-        {
-            return code.equals(other.code);
-        }
-    }
-
-}
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureValues.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureDefinition.java
similarity index 84%
rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureValues.java
rename to screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureDefinition.java
index 113829fd518..4d52a964e47 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureValues.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureDefinition.java
@@ -21,7 +21,7 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
  * 
  * @author Tomasz Pylak
  */
-public interface IFeatureValues
+public interface IFeatureDefinition
 {
     /**
      * Relevant only in cases where feature values for different timepoints and/or depth-scans are
@@ -31,7 +31,7 @@ public interface IFeatureValues
      * {@link #addValue} until this method will be called again.
      * </p>
      */
-    void setSeries(Double timeOrNull, Double depthOrNull);
+    void changeSeries(Double timeOrNull, Double depthOrNull);
 
     /**
      * @param well code of the well, e.g. A1
@@ -45,4 +45,10 @@ public interface IFeatureValues
      * @param value value of the feature in the specified well
      */
     void addValue(int wellRow, int wellColumn, String value);
+
+    /** Optional. Sets the label of a feature. */
+    void setFeatureLabel(String label);
+
+    /** Optional. Sets description of a feature. */
+    void setFeatureDescription(String description);
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureVectorDataSet.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureVectorDataSet.java
new file mode 100644
index 00000000000..cb9703b0ca8
--- /dev/null
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeatureVectorDataSet.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2011 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.openbis.dss.etl.dto.api.v1;
+
+import ch.systemsx.cisd.etlserver.registrator.api.v1.IDataSet;
+
+/**
+ * @author Tomasz Pylak
+ */
+public interface IFeatureVectorDataSet extends IDataSet
+{
+    /** Defines a container to which values of the feature for each well can be added. */
+    IFeatureDefinition defineFeature(String featureCode);
+}
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeaturesBuilder.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeaturesBuilder.java
index c5df9d5a4ce..e44605f40ab 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeaturesBuilder.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/IFeaturesBuilder.java
@@ -24,6 +24,6 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 public interface IFeaturesBuilder
 {
     /** Defines a container to which values of the feature for each well can be added. */
-    public IFeatureValues defineFeature(FeatureDefinition featureDefinition);
+    public IFeatureDefinition defineFeature(String featureCode);
 
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java
index 94fdc31e415..9aacfc2e6da 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java
@@ -23,7 +23,7 @@ import java.util.Set;
 
 import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
 import ch.systemsx.cisd.common.utilities.Counters;
-import ch.systemsx.cisd.openbis.dss.etl.dto.api.impl.FeatureDefinitionValues;
+import ch.systemsx.cisd.openbis.dss.etl.dto.api.impl.FeatureDefinition;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines;
 import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabelUtil;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CodeAndLabel;
@@ -282,8 +282,8 @@ public class CsvToCanonicalFeatureVector
         public CanonicalFeatureVector createCanonicalFeatureVector(ImgFeatureDefDTO featureDef,
                 Geometry geometry)
         {
-            FeatureDefinitionValues featureDefinitionValues =
-                    new FeatureDefinitionValues(featureDef, values);
+            FeatureDefinition featureDefinitionValues =
+                    new FeatureDefinition(featureDef, values);
 
             return featureDefinitionValues.getCanonicalFeatureVector(geometry);
         }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java
index ad920d80ebe..0ecabd33f52 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java
@@ -34,7 +34,7 @@ import ch.systemsx.cisd.etlserver.DispatcherStorageProcessor.IDispatchableStorag
 import ch.systemsx.cisd.etlserver.ITypeExtractor;
 import ch.systemsx.cisd.openbis.dss.etl.HCSContainerDatasetInfo;
 import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingQueryDAO;
-import ch.systemsx.cisd.openbis.dss.etl.dto.api.impl.FeatureDefinitionValues;
+import ch.systemsx.cisd.openbis.dss.etl.dto.api.impl.FeatureDefinition;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.impl.FeatureVectorDataSetInformation;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageDataSetInformation;
 import ch.systemsx.cisd.openbis.dss.etl.featurevector.CsvToCanonicalFeatureVector.CsvToCanonicalFeatureVectorConfiguration;
@@ -131,12 +131,12 @@ public class FeatureVectorStorageProcessor extends AbstractDelegatingStorageProc
     private static List<CanonicalFeatureVector> extractCanonicalFeatureVectors(
             FeatureVectorDataSetInformation dataSetInformation, Geometry plateGeometry)
     {
-        List<FeatureDefinitionValues> featuresDefinitionValuesList =
+        List<FeatureDefinition> featuresDefinitionValuesList =
                 dataSetInformation.getFeatures();
 
         List<CanonicalFeatureVector> canonicalFeatureVectors =
                 new ArrayList<CanonicalFeatureVector>();
-        for (FeatureDefinitionValues featureDefinitionValues : featuresDefinitionValuesList)
+        for (FeatureDefinition featureDefinitionValues : featuresDefinitionValuesList)
         {
             CanonicalFeatureVector canonicalFeatureVector =
                     featureDefinitionValues.getCanonicalFeatureVector(plateGeometry);
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValuesTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValuesTest.java
index 06a68ba8f80..62d64687c40 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValuesTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinitionValuesTest.java
@@ -29,7 +29,7 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFe
 import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureVocabularyTermDTO;
 
 /**
- * Test of {@link FeatureDefinitionValues}
+ * Test of {@link FeatureDefinition}
  * 
  * @author Tomasz Pylak
  */
@@ -38,7 +38,7 @@ public class FeatureDefinitionValuesTest extends AssertJUnit
     @Test
     public void test()
     {
-        FeatureDefinitionValues def = new FeatureDefinitionValues(new ImgFeatureDefDTO());
+        FeatureDefinition def = new FeatureDefinition(new ImgFeatureDefDTO());
         def.addValue("A1", "1.2");
         def.addValue("B2", "2.1");
         CanonicalFeatureVector vector =
@@ -58,10 +58,10 @@ public class FeatureDefinitionValuesTest extends AssertJUnit
     @Test
     public void testTimepointsAndDepthScans()
     {
-        FeatureDefinitionValues def = new FeatureDefinitionValues(new ImgFeatureDefDTO());
-        def.setSeries(1.1, null);
+        FeatureDefinition def = new FeatureDefinition(new ImgFeatureDefDTO());
+        def.changeSeries(1.1, null);
         def.addValue("A1", "1");
-        def.setSeries(null, 2.2);
+        def.changeSeries(null, 2.2);
         def.addValue("A1", "10");
 
         CanonicalFeatureVector vector =
@@ -87,7 +87,7 @@ public class FeatureDefinitionValuesTest extends AssertJUnit
     @Test
     public void testVocabularyFeatures()
     {
-        FeatureDefinitionValues def = new FeatureDefinitionValues(new ImgFeatureDefDTO());
+        FeatureDefinition def = new FeatureDefinition(new ImgFeatureDefDTO());
         def.addValue("A1", "a");
         def.addValue("A2", "b");
         def.addValue("A3", "a");
-- 
GitLab