From 6abb17d6a254bcc4f6bc66b1ba125fa2ac612215 Mon Sep 17 00:00:00 2001
From: pkupczyk <pkupczyk>
Date: Wed, 30 May 2012 13:55:15 +0000
Subject: [PATCH] SP-70 / BIS-35: JSON-RPC - detect subtypes automatically -
 remove unnecessary @JsonTypeName annotations

SVN: 25404
---
 .../shared/api/v1/dto/MaterialIdentifier.java |  5 ----
 .../shared/api/v1/dto/PropertyType.java       |  6 -----
 .../shared/api/v1/dto/SearchCriteria.java     | 27 +++++++++----------
 .../shared/api/v1/dto/VocabularyTerm.java     |  3 ---
 .../openbis/generic/shared/basic/TechId.java  |  5 +---
 .../generic/shared/basic/dto/Vocabulary.java  |  3 ---
 .../shared/basic/dto/VocabularyTerm.java      |  5 ++--
 .../dto/AbstractFormatSelectionCriterion.java |  6 +----
 .../shared/api/v1/dto/DatasetIdentifier.java  | 10 -------
 .../shared/api/v1/dto/DatasetReference.java   |  6 -----
 .../shared/api/v1/dto/FeatureVector.java      |  7 -----
 .../v1/dto/FeatureVectorDatasetReference.java |  7 +----
 .../shared/api/v1/dto/IDatasetIdentifier.java |  7 -----
 .../dto/IFeatureVectorDatasetIdentifier.java  |  5 ----
 .../api/v1/dto/IImageDatasetIdentifier.java   |  5 ----
 ...epresentationFormatSelectionCriterion.java |  6 -----
 .../shared/api/v1/dto/MaterialIdentifier.java | 15 +++--------
 .../shared/api/v1/dto/PlateIdentifier.java    |  4 ---
 .../shared/api/v1/dto/WellIdentifier.java     | 11 +++-----
 19 files changed, 24 insertions(+), 119 deletions(-)

diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialIdentifier.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialIdentifier.java
index f08c691e0f8..aab851890e2 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialIdentifier.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialIdentifier.java
@@ -19,10 +19,6 @@ package ch.systemsx.cisd.openbis.generic.shared.api.v1.dto;
 import java.io.Serializable;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
@@ -31,7 +27,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("MaterialIdentifierGeneric")
-@JsonSubTypes(value = {@JsonSubTypes.Type(Material.class)})
 public class MaterialIdentifier implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/PropertyType.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/PropertyType.java
index bf3f1fc6cd0..83e3d61bf83 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/PropertyType.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/PropertyType.java
@@ -22,13 +22,8 @@ import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
 
 /**
@@ -38,7 +33,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
  */
 @SuppressWarnings("unused")
 @JsonObject("PropertyType")
-@JsonSubTypes(value = {@JsonSubTypes.Type(ControlledVocabularyPropertyType.class)})
 public class PropertyType implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/SearchCriteria.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/SearchCriteria.java
index 9418148dd6e..f498ce3f98a 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/SearchCriteria.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/SearchCriteria.java
@@ -19,15 +19,12 @@ package ch.systemsx.cisd.openbis.generic.shared.api.v1.dto;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
@@ -109,8 +106,7 @@ public class SearchCriteria implements Serializable
     @JsonObject("MatchClauseTimeAttribute")
     public static enum MatchClauseTimeAttribute
     {
-        REGISTRATION_DATE,
-        MODIFICATION_DATE
+        REGISTRATION_DATE, MODIFICATION_DATE
     }
 
     @JsonObject("CompareMode")
@@ -125,9 +121,6 @@ public class SearchCriteria implements Serializable
      * @author Chandrasekhar Ramakrishnan
      */
     @JsonObject("MatchClause")
-    @JsonSubTypes(value =
-        { @JsonSubTypes.Type(AttributeMatchClause.class),
-                @JsonSubTypes.Type(PropertyMatchClause.class), @JsonSubTypes.Type(TimeAttributeMatchClause.class) })
     public static class MatchClause implements Serializable
     {
         private static final long serialVersionUID = 1L;
@@ -140,7 +133,8 @@ public class SearchCriteria implements Serializable
 
         private CompareMode compareMode = CompareMode.EQUALS;
 
-        protected MatchClause(MatchClauseFieldType fieldType, String fieldCode, String desiredValue, CompareMode compareMode)
+        protected MatchClause(MatchClauseFieldType fieldType, String fieldCode,
+                String desiredValue, CompareMode compareMode)
         {
             this.fieldType = fieldType;
             this.fieldCode = fieldCode;
@@ -172,7 +166,8 @@ public class SearchCriteria implements Serializable
         }
 
         /**
-         * Factory method to create a MatchClause matching against registration or modification date.
+         * Factory method to create a MatchClause matching against registration or modification
+         * date.
          * 
          * @param attribute The attribute to compare against
          * @param mode The kind of comparison (<=, ==, >=)
@@ -198,9 +193,9 @@ public class SearchCriteria implements Serializable
             {
                 final char c = s.charAt(i);
                 // These characters are part of the query syntax and must be escaped
-                if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'
-                        || c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}'
-                        || c == '~' || c == '*' || c == '?' || c == '|' || c == '&')
+                if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')'
+                        || c == ':' || c == '^' || c == '[' || c == ']' || c == '\"' || c == '{'
+                        || c == '}' || c == '~' || c == '*' || c == '?' || c == '|' || c == '&')
                 {
                     sb.append('\\');
                 }
@@ -376,7 +371,8 @@ public class SearchCriteria implements Serializable
          */
         protected AttributeMatchClause(MatchClauseAttribute attribute, String desiredValue)
         {
-            super(MatchClauseFieldType.ATTRIBUTE, attribute.toString(), desiredValue, CompareMode.EQUALS);
+            super(MatchClauseFieldType.ATTRIBUTE, attribute.toString(), desiredValue,
+                    CompareMode.EQUALS);
             this.attribute = attribute;
         }
 
@@ -424,7 +420,8 @@ public class SearchCriteria implements Serializable
          * @param timezone The time zone to use in the comparison.
          * @param mode The kind of comparison to carry out.
          */
-        protected TimeAttributeMatchClause(MatchClauseTimeAttribute attribute, String desiredDate, String timezone, CompareMode mode)
+        protected TimeAttributeMatchClause(MatchClauseTimeAttribute attribute, String desiredDate,
+                String timezone, CompareMode mode)
         {
             super(MatchClauseFieldType.ATTRIBUTE, attribute.toString(), desiredDate, mode);
             this.timezone = timezone;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/VocabularyTerm.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/VocabularyTerm.java
index fd398679f39..2494fd28798 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/VocabularyTerm.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/VocabularyTerm.java
@@ -22,10 +22,8 @@ import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
-import org.codehaus.jackson.annotate.JsonSubTypes;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
-
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService;
 
 /**
@@ -34,7 +32,6 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService
  */
 @SuppressWarnings("unused")
 @JsonObject("VocabularyTermGeneric")
-@JsonSubTypes(value = {@JsonSubTypes.Type(ControlledVocabularyPropertyType.VocabularyTerm.class)})
 public class VocabularyTerm implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TechId.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TechId.java
index 71724a4cf03..c62eb541839 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TechId.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/TechId.java
@@ -21,18 +21,15 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
+
 /**
  * Technical identifier of an entity.
  * 
  * @author Piotr Buczek
  */
 @JsonObject("TechId")
-@JsonSubTypes(value = {@JsonSubTypes.Type(TechId.WildcardTechId.class)})
 public class TechId implements IIdHolder, Serializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
index a3f645be588..e818a988c42 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
@@ -19,8 +19,6 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.CollectionMapping;
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
@@ -30,7 +28,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  * @author Izabela Adamczyk
  */
 @JsonObject("VocabularyBasic")
-@JsonSubTypes(value = {})
 public class Vocabulary extends CodeWithRegistration<Vocabulary> implements IVocabularyUpdates
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTerm.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTerm.java
index 585d5e5aa8a..937b5e9e59c 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTerm.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTerm.java
@@ -17,18 +17,17 @@
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonSubTypes;
 
 import ch.systemsx.cisd.common.annotation.BeanProperty;
 import ch.systemsx.cisd.common.annotation.JsonObject;
+
 /**
  * A vocabulary term.
  * 
  * @author Izabela Adamczyk
  */
 @JsonObject("VocabularyTermBasic")
-@JsonSubTypes(value = {})
-public class VocabularyTerm extends CodeWithRegistration<Vocabulary> implements  
+public class VocabularyTerm extends CodeWithRegistration<Vocabulary> implements
         IVocabularyTermUpdates
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/AbstractFormatSelectionCriterion.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/AbstractFormatSelectionCriterion.java
index 1901c03f9e3..2587250145e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/AbstractFormatSelectionCriterion.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/AbstractFormatSelectionCriterion.java
@@ -19,8 +19,6 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
 /**
@@ -30,9 +28,7 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  * @author Franz-Josef Elmer
  */
 @JsonObject("AbstractFormatSelectionCriterion")
-@JsonSubTypes(value = {@JsonSubTypes.Type(ColorDepthCriterion.class), 
-        @JsonSubTypes.Type(FileTypeCriterion.class), @JsonSubTypes.Type(OriginalCriterion.class)})
-public abstract class AbstractFormatSelectionCriterion implements 
+public abstract class AbstractFormatSelectionCriterion implements
         IImageRepresentationFormatSelectionCriterion
 {
     private static final long serialVersionUID = 1L;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
index cc4ec59f482..b4bf0d9ad8e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
@@ -2,15 +2,8 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Contains data which uniquely define a dataset.
  * 
@@ -19,9 +12,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
 
 @SuppressWarnings("unused")
 @JsonObject("DatasetIdentifier")
-@JsonSubTypes(value={@JsonSubTypes.Type(DatasetReference.class), 
-        @JsonSubTypes.Type(MicroscopyImageReference.class), 
-        @JsonSubTypes.Type(PlateImageReference.class)})
 public class DatasetIdentifier implements Serializable, IDatasetIdentifier
 {
     private static final long serialVersionUID = 1L;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
index 8bf881934b3..7ae0c7f4063 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
@@ -7,12 +7,8 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Description of one plate-based screening dataset.
  * 
@@ -20,8 +16,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("DatasetReference")
-@JsonSubTypes(value = {@JsonSubTypes.Type(FeatureVectorDatasetReference.class), 
-        @JsonSubTypes.Type(ImageDatasetReference.class)})
 public class DatasetReference extends DatasetIdentifier implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
index 9fbe8bf157d..99ea3115dec 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
@@ -5,15 +5,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Feature vector for one well.
  * 
@@ -21,7 +15,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("FeatureVector")
-@JsonSubTypes(value = {@JsonSubTypes.Type(FeatureVectorWithDescription.class)})
 public class FeatureVector implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
index 0d3b8e77b3d..f48a9b3a788 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
@@ -16,15 +16,11 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
-import java.util.Date; 
+import java.util.Date;
 import java.util.Map;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Description of one feature vector dataset.
  * 
@@ -32,7 +28,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("FeatureVectorDatasetReference")
-@JsonSubTypes(value = {@JsonSubTypes.Type(FeatureVectorDatasetWellReference.class)})
 public class FeatureVectorDatasetReference extends DatasetReference implements
         IFeatureVectorDatasetIdentifier
 {
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
index ea4947878fe..8bf1bd5aeb0 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
@@ -16,21 +16,14 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Contains data which uniquely define a dataset
  * 
  * @author Tomasz Pylak
  */
 @JsonObject("IDatasetIdentifier")
-@JsonSubTypes(value = {@JsonSubTypes.Type(DatasetIdentifier.class), 
-        @JsonSubTypes.Type(IFeatureVectorDatasetIdentifier.class), 
-        @JsonSubTypes.Type(IImageDatasetIdentifier.class)})
 public interface IDatasetIdentifier extends IPermanentIdentifier
 {
     /** a code of the dataset */
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
index 4b8e7769efb..0d6a672b01d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
@@ -16,19 +16,14 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Uniquely Identifies a feature vector dataset.
  * 
  * @author Tomasz Pylak
  */
 @JsonObject("IFeatureVectorDatasetIdentifier")
-@JsonSubTypes(value = {@JsonSubTypes.Type(FeatureVectorDatasetReference.class)})
 public interface IFeatureVectorDatasetIdentifier extends IDatasetIdentifier
 {
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
index dfae7305e63..809e8962f5d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
@@ -16,19 +16,14 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Contains data which uniquely define an image dataset.
  * 
  * @author Tomasz Pylak
  */
 @JsonObject("IImageDatasetIdentifier")
-@JsonSubTypes(value = {@JsonSubTypes.Type(ImageDatasetReference.class)})
 public interface IImageDatasetIdentifier extends IDatasetIdentifier
 {
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageRepresentationFormatSelectionCriterion.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageRepresentationFormatSelectionCriterion.java
index 9e19aa3be5e..ff72e756ed5 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageRepresentationFormatSelectionCriterion.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageRepresentationFormatSelectionCriterion.java
@@ -19,20 +19,14 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 import java.io.Serializable;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Interface of an image selection criterion based on {@link ImageRepresentationFormat}.
  * 
  * @author Franz-Josef Elmer
  */
 @JsonObject("IImageRepresentationFormatSelectionCriterion")
-@JsonSubTypes(value = {@JsonSubTypes.Type(AbstractFormatSelectionCriterion.class), 
-        @JsonSubTypes.Type(SizeCriterion.class)})
 public interface IImageRepresentationFormatSelectionCriterion extends Serializable
 {
     /**
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/MaterialIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/MaterialIdentifier.java
index fae910ac35e..3c9f5fc603f 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/MaterialIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/MaterialIdentifier.java
@@ -19,15 +19,9 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 import java.io.Serializable;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonSubTypes;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * A unique identifier for a material like e.g. a gene.
  * 
@@ -35,7 +29,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("MaterialIdentifierScreening")
-@JsonSubTypes(value = {@JsonSubTypes.Type(Material.class)})
 public class MaterialIdentifier implements Serializable
 {
     private static final long serialVersionUID = 1L;
@@ -124,7 +117,7 @@ public class MaterialIdentifier implements Serializable
         return "MaterialIdentifier [materialCode=" + materialCode + ", materialTypeIdentifier="
                 + materialTypeIdentifier + "]";
     }
-    
+
     //
     // JSON-RPC
     //
@@ -132,15 +125,15 @@ public class MaterialIdentifier implements Serializable
     private MaterialIdentifier()
     {
     }
-    
+
     private void setMaterialTypeIdentifier(MaterialTypeIdentifier materialTypeIdentifier)
     {
         this.materialTypeIdentifier = materialTypeIdentifier;
     }
-    
+
     private void setMaterialCode(String materialCode)
     {
         this.materialCode = materialCode;
     }
-    
+
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
index 52fe08f10c9..d043182d0b0 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
@@ -2,12 +2,9 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
 import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.annotate.JsonSubTypes;
 
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Contains data which uniquely define a plate.
  * 
@@ -15,7 +12,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("PlateIdentifier")
-@JsonSubTypes(value = {@JsonSubTypes.Type(Plate.class), @JsonSubTypes.Type(PlateMetadata.class)})
 public class PlateIdentifier extends PermanentIdentifier
 {
     private static final long serialVersionUID = 1L;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellIdentifier.java
index cb4534eb799..1e4565705b9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellIdentifier.java
@@ -1,11 +1,7 @@
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
-import org.codehaus.jackson.annotate.JsonSubTypes;
-
 import ch.systemsx.cisd.common.annotation.JsonObject;
 
-
-
 /**
  * Contains data which uniquely define a well on a plate.
  * 
@@ -13,7 +9,6 @@ import ch.systemsx.cisd.common.annotation.JsonObject;
  */
 @SuppressWarnings("unused")
 @JsonObject("WellIdentifier")
-@JsonSubTypes(value = {@JsonSubTypes.Type(WellMetadata.class)})
 public class WellIdentifier extends PermanentIdentifier
 {
     private static final long serialVersionUID = 1L;
@@ -93,7 +88,7 @@ public class WellIdentifier extends PermanentIdentifier
         }
         return true;
     }
-    
+
     //
     // JSON-RPC
     //
@@ -102,12 +97,12 @@ public class WellIdentifier extends PermanentIdentifier
     {
         super(null);
     }
-    
+
     private void setPlateIdentifier(PlateIdentifier plateIdentifier)
     {
         this.plateIdentifier = plateIdentifier;
     }
-    
+
     private void setWellPosition(WellPosition wellPosition)
     {
         this.wellPosition = wellPosition;
-- 
GitLab