diff --git a/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java b/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java index 43c0ab57b48208b12a2001564c49b691d9e800cd..c5782500fcc3ef36ef8a4c9bfdfa0056398ed82b 100644 --- a/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java +++ b/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java @@ -23,6 +23,11 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** + * Annotation all JSON transfered classes should be marked with. It was originally created to + * replace @JsonTypeName annotation which was not visible in the documentation. With @JsonTypeName + * annotation it would be impossible for our users to find a logical type name of a class to be sent + * to JSON-RPC services. + * * @author pkupczyk */ @Target( diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java index c0d380f3fcd0d4e539ac0637b5deded8fc648770..5390eb491b8df489aac4f47bd29d005548c9775c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java @@ -22,6 +22,8 @@ import ch.systemsx.cisd.common.api.server.json.JsonReflectionsSubTypeResolver; import ch.systemsx.cisd.common.api.server.json.JsonTypeAndClassAnnotationIntrospector; /** + * Jackson library object mapper used in generic OpenBIS. + * * @author pkupczyk */ public class GenericObjectMapper extends ObjectMapper @@ -31,7 +33,7 @@ public class GenericObjectMapper extends ObjectMapper { setAnnotationIntrospector(new JsonTypeAndClassAnnotationIntrospector( new GenericJsonClassValueToClassObjectsMapping())); - setSubtypeResolver(new JsonReflectionsSubTypeResolver()); + setSubtypeResolver(JsonReflectionsSubTypeResolver.getDefaultInstance()); } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java index 7cf2099f533c72fbf97e7e78cfc5f6ae76d9a4ba..fbe110a0aad645994a8a00f574e5efd810a055c2 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java @@ -22,6 +22,8 @@ import ch.systemsx.cisd.common.api.server.json.JsonReflectionsSubTypeResolver; import ch.systemsx.cisd.common.api.server.json.JsonTypeAndClassAnnotationIntrospector; /** + * Jackson library object mapper used in screening OpenBIS. + * * @author pkupczyk */ public class ScreeningObjectMapper extends ObjectMapper @@ -31,7 +33,7 @@ public class ScreeningObjectMapper extends ObjectMapper { setAnnotationIntrospector(new JsonTypeAndClassAnnotationIntrospector( new ScreeningJsonClassValueToClassObjectsMapping())); - setSubtypeResolver(new JsonReflectionsSubTypeResolver()); + setSubtypeResolver(JsonReflectionsSubTypeResolver.getDefaultInstance()); } }