From 817c875b869f6f5f9504f9cd9614d86ebab8dace Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Thu, 27 Apr 2023 11:14:35 +0200 Subject: [PATCH] Changed superclasses in typeSuperTypes --- .../org/gcube/informationsystem/types/impl/TypeImpl.java | 6 +++--- .../types/impl/entities/EntityTypeImpl.java | 8 ++++---- .../types/impl/entities/FacetTypeImpl.java | 2 +- .../types/impl/entities/ResourceTypeImpl.java | 2 +- .../types/impl/properties/PropertyTypeImpl.java | 2 +- .../types/impl/relations/ConsistsOfTypeImpl.java | 2 +- .../types/impl/relations/IsRelatedToTypeImpl.java | 2 +- .../types/impl/relations/RelationTypeImpl.java | 6 +++--- .../org/gcube/informationsystem/types/reference/Type.java | 5 +++-- .../types/reference/entities/EntityType.java | 4 ++-- .../types/reference/properties/PropertyType.java | 4 ++-- .../types/reference/relations/RelationType.java | 4 ++-- .../gcube/informationsystem/discovery/DiscoveryTest.java | 4 ++-- .../gcube/informationsystem/types/SerializationTest.java | 2 +- 14 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java index bd8b19d..a31074b 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java @@ -75,7 +75,7 @@ public class TypeImpl implements Type { @JsonProperty(value = FINAL_PROPERTY) protected boolean finalClass; - protected Set superClasses; + protected Set typeSuperTypes; protected Set properties; @@ -275,8 +275,8 @@ public class TypeImpl implements Type { } @Override - public Set getSuperClasses() { - return superClasses; + public Set getTypeSuperTypes() { + return typeSuperTypes; } @JsonInclude(Include.NON_EMPTY) diff --git a/src/main/java/org/gcube/informationsystem/types/impl/entities/EntityTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/entities/EntityTypeImpl.java index 501c134..720a6ae 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/entities/EntityTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/entities/EntityTypeImpl.java @@ -66,17 +66,17 @@ public class EntityTypeImpl extends TypeImpl implements EntityType { if(EntityType.class.isAssignableFrom(clz)){ @SuppressWarnings("unchecked") Class c = (Class) clz; - this.superClasses = retrieveSuperClasses(c, EntityType.class, EntityElement.NAME); + this.typeSuperTypes = retrieveSuperClasses(c, EntityType.class, EntityElement.NAME); } else if(Context.class.isAssignableFrom(clz)){ @SuppressWarnings("unchecked") Class c = (Class) clz; - this.superClasses = retrieveSuperClasses(c, Context.class, EntityElement.NAME); + this.typeSuperTypes = retrieveSuperClasses(c, Context.class, EntityElement.NAME); } else if(QueryTemplate.class.isAssignableFrom(clz)){ @SuppressWarnings("unchecked") Class c = (Class) clz; - this.superClasses = retrieveSuperClasses(c, QueryTemplate.class, EntityElement.NAME); + this.typeSuperTypes = retrieveSuperClasses(c, QueryTemplate.class, EntityElement.NAME); } else if(EntityElement.class.isAssignableFrom(clz)){ - this.superClasses = retrieveSuperClasses(clz, EntityElement.class, null); + this.typeSuperTypes = retrieveSuperClasses(clz, EntityElement.class, null); } else { throw new RuntimeException("Type Hierachy Error for class " + clz.getSimpleName()); } diff --git a/src/main/java/org/gcube/informationsystem/types/impl/entities/FacetTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/entities/FacetTypeImpl.java index 00ad157..eb02229 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/entities/FacetTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/entities/FacetTypeImpl.java @@ -29,7 +29,7 @@ public final class FacetTypeImpl extends EntityTypeImpl implements FacetType { public FacetTypeImpl(Class clz) { super(clz); - this.superClasses = retrieveSuperClasses(clz, Facet.class, Entity.NAME); + this.typeSuperTypes = retrieveSuperClasses(clz, Facet.class, Entity.NAME); this.properties = retrieveListOfProperties(clz); } diff --git a/src/main/java/org/gcube/informationsystem/types/impl/entities/ResourceTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/entities/ResourceTypeImpl.java index 876830a..4b9849f 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/entities/ResourceTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/entities/ResourceTypeImpl.java @@ -37,7 +37,7 @@ public final class ResourceTypeImpl extends EntityTypeImpl implements ResourceTy public ResourceTypeImpl(Class clz) { super(clz); - this.superClasses = retrieveSuperClasses(clz, Resource.class, Entity.NAME); + this.typeSuperTypes = retrieveSuperClasses(clz, Resource.class, Entity.NAME); setResourceSchemaEntries(clz); } diff --git a/src/main/java/org/gcube/informationsystem/types/impl/properties/PropertyTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/properties/PropertyTypeImpl.java index cb2740e..90b5ef0 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/properties/PropertyTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/properties/PropertyTypeImpl.java @@ -45,7 +45,7 @@ public final class PropertyTypeImpl

extends TypeImpl public PropertyTypeImpl(Class

clz) { super(clz); - this.superClasses = retrieveSuperClasses(clz, PropertyElement.class, + this.typeSuperTypes = retrieveSuperClasses(clz, PropertyElement.class, clz == PropertyElement.class ? null : PropertyElement.NAME); this.properties = retrieveListOfProperties(clz); diff --git a/src/main/java/org/gcube/informationsystem/types/impl/relations/ConsistsOfTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/relations/ConsistsOfTypeImpl.java index 5a1f590..a1d9d4d 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/relations/ConsistsOfTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/relations/ConsistsOfTypeImpl.java @@ -33,7 +33,7 @@ public final class ConsistsOfTypeImpl extends RelationTypeImpl> clz) { super(clz); - this.superClasses = retrieveSuperClasses(clz, ConsistsOf.class, Relation.NAME); + this.typeSuperTypes = retrieveSuperClasses(clz, ConsistsOf.class, Relation.NAME); this.properties = retrieveListOfProperties(clz); diff --git a/src/main/java/org/gcube/informationsystem/types/impl/relations/IsRelatedToTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/relations/IsRelatedToTypeImpl.java index 0c5db70..9b6a712 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/relations/IsRelatedToTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/relations/IsRelatedToTypeImpl.java @@ -30,7 +30,7 @@ public final class IsRelatedToTypeImpl extends RelationTypeImpl> clz) { super(clz); - this.superClasses = retrieveSuperClasses(clz, IsRelatedTo.class, Relation.NAME); + this.typeSuperTypes = retrieveSuperClasses(clz, IsRelatedTo.class, Relation.NAME); this.properties = retrieveListOfProperties(clz); diff --git a/src/main/java/org/gcube/informationsystem/types/impl/relations/RelationTypeImpl.java b/src/main/java/org/gcube/informationsystem/types/impl/relations/RelationTypeImpl.java index 9293b75..5f8c02b 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/relations/RelationTypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/relations/RelationTypeImpl.java @@ -58,13 +58,13 @@ public class RelationTypeImpl if(RelationType.class.isAssignableFrom(clz)) { @SuppressWarnings({"unchecked"}) Class> c = (Class>) clz; - this.superClasses = retrieveSuperClasses(c, RelationType.class, RelationElement.NAME); + this.typeSuperTypes = retrieveSuperClasses(c, RelationType.class, RelationElement.NAME); } else if(IsParentOf.class.isAssignableFrom(clz)) { @SuppressWarnings("unchecked") Class c = (Class) clz; - this.superClasses = retrieveSuperClasses(c, IsParentOf.class, RelationElement.NAME); + this.typeSuperTypes = retrieveSuperClasses(c, IsParentOf.class, RelationElement.NAME); } else if(RelationElement.class.isAssignableFrom(clz)) { - this.superClasses = retrieveSuperClasses(clz, RelationElement.class, null); + this.typeSuperTypes = retrieveSuperClasses(clz, RelationElement.class, null); } else { throw new RuntimeException("Type Hierachy Error"); } diff --git a/src/main/java/org/gcube/informationsystem/types/reference/Type.java b/src/main/java/org/gcube/informationsystem/types/reference/Type.java index 5b5ebf3..fe455c0 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/Type.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/Type.java @@ -33,7 +33,7 @@ public interface Type extends IdentifiableElement { public static final String CHANGELOG_PROPERTY = "changelog"; public static final String ABSTRACT_PROPERTY = "abstract"; public static final String FINAL_PROPERTY = "final"; - public static final String TYPE_SUPERCLASSES_PROPERTY = "superClasses"; + public static final String TYPE_SUPER_TYPES_PROPERTY = "typeSuperTypes"; public static final String PROPERTIES_PROPERTY = "properties"; @JsonGetter(value = UUID_PROPERTY) @@ -74,7 +74,8 @@ public interface Type extends IdentifiableElement { @JsonGetter(value = FINAL_PROPERTY) public boolean isFinal(); - public Set getSuperClasses(); + @JsonGetter(value = TYPE_SUPER_TYPES_PROPERTY) + public Set getTypeSuperTypes(); public Set getProperties(); diff --git a/src/main/java/org/gcube/informationsystem/types/reference/entities/EntityType.java b/src/main/java/org/gcube/informationsystem/types/reference/entities/EntityType.java index 6692538..d0c8dd1 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/entities/EntityType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/entities/EntityType.java @@ -38,8 +38,8 @@ public interface EntityType extends Type, EntityElement { public boolean isAbstract(); @Override - @ISProperty(name = Type.TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false) - public Set getSuperClasses(); + @ISProperty(name = Type.TYPE_SUPER_TYPES_PROPERTY, readonly = true, mandatory = true, nullable = false) + public Set getTypeSuperTypes(); /* Type is just a Java useful class. The type is not created in the IS. Hence the fields must be redefined */ diff --git a/src/main/java/org/gcube/informationsystem/types/reference/properties/PropertyType.java b/src/main/java/org/gcube/informationsystem/types/reference/properties/PropertyType.java index 3c3c24d..2361c96 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/properties/PropertyType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/properties/PropertyType.java @@ -62,8 +62,8 @@ public interface PropertyType

extends PropertyElement public boolean isAbstract(); @Override - @ISProperty(name = Type.TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false) - public Set getSuperClasses(); + @ISProperty(name = Type.TYPE_SUPER_TYPES_PROPERTY, readonly = true, mandatory = true, nullable = false) + public Set getTypeSuperTypes(); @ISProperty(name = Type.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false) public Set getProperties(); diff --git a/src/main/java/org/gcube/informationsystem/types/reference/relations/RelationType.java b/src/main/java/org/gcube/informationsystem/types/reference/relations/RelationType.java index 7f8939e..82dde6f 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/relations/RelationType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/relations/RelationType.java @@ -41,8 +41,8 @@ public interface RelationType public boolean isAbstract(); @Override - @ISProperty(name = Type.TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false) - public Set getSuperClasses(); + @ISProperty(name = Type.TYPE_SUPER_TYPES_PROPERTY, readonly = true, mandatory = true, nullable = false) + public Set getTypeSuperTypes(); @Override @ISProperty(name = Type.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false) diff --git a/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java b/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java index 8f0910a..2228455 100644 --- a/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java +++ b/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java @@ -41,8 +41,8 @@ public class DiscoveryTest { Assert.assertTrue(type.getDescription().compareTo(expected.getDescription())==0); Assert.assertTrue(type.isAbstract() == expected.isAbstract()); - Assert.assertTrue(type.getSuperClasses().containsAll(expected.getSuperClasses())); - Assert.assertTrue(expected.getSuperClasses().containsAll(type.getSuperClasses())); + Assert.assertTrue(type.getTypeSuperTypes().containsAll(expected.getTypeSuperTypes())); + Assert.assertTrue(expected.getTypeSuperTypes().containsAll(type.getTypeSuperTypes())); Map typeChangelog = type.getChangelog(); diff --git a/src/test/java/org/gcube/informationsystem/types/SerializationTest.java b/src/test/java/org/gcube/informationsystem/types/SerializationTest.java index 4acc41c..d21f184 100644 --- a/src/test/java/org/gcube/informationsystem/types/SerializationTest.java +++ b/src/test/java/org/gcube/informationsystem/types/SerializationTest.java @@ -207,7 +207,7 @@ public class SerializationTest { logger.debug("Version {}", typeVersion.toString()); logger.info(ElementMapper.marshal(propertyType)); - String json = "{\"" + Element.TYPE_PROPERTY + "\":\"PropertyType\",\"metadata\":null,\"name\":\"Metadata\",\"description\":\"This class provides metadata per every IdentifiableElement\",\"superClasses\":[\"Property\"],\"properties\":[{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"creationTime\",\"description\":\"Creation time. It represents the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970, UTC.\",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"Date\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"lastUpdateTime\",\"description\":\"Last Update time. At creation time it assumes the same value of creationTime. It represents the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970, UTC.\",\"mandatory\":true,\"readonly\":false,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"Date\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"createdBy\",\"description\":\"The user that created the Entity or the Relation. It is initialized at creation time. \",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"String\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"uuid\",\"description\":\"This UUID is be used to identify the Entity or the Relation univocally.\",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":\"^([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}){1}$\",\"propertyType\":\"String\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"lastUpdateBy\",\"description\":\"The user that made the last update to the Entity or the Relation. At creation time, it assumes the same value of creator.\",\"mandatory\":true,\"readonly\":false,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"String\"}],\"accessType\":\"PROPERTY\",\"abstract\":false,\"version\":\"1.0.0\",\"changelog\":{\"1.0.0\":\"First Version\"}}"; + String json = "{\"" + Element.TYPE_PROPERTY + "\":\"PropertyType\",\"metadata\":null,\"name\":\"Metadata\",\"description\":\"This class provides metadata per every IdentifiableElement\",\"typeSuperTypes\":[\"Property\"],\"properties\":[{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"creationTime\",\"description\":\"Creation time. It represents the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970, UTC.\",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"Date\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"lastUpdateTime\",\"description\":\"Last Update time. At creation time it assumes the same value of creationTime. It represents the difference, measured in milliseconds, between the creation time and midnight, January 1, 1970, UTC.\",\"mandatory\":true,\"readonly\":false,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"Date\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"createdBy\",\"description\":\"The user that created the Entity or the Relation. It is initialized at creation time. \",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"String\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"uuid\",\"description\":\"This UUID is be used to identify the Entity or the Relation univocally.\",\"mandatory\":true,\"readonly\":true,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":\"^([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}){1}$\",\"propertyType\":\"String\"},{\"" + Element.TYPE_PROPERTY + "\":\"PropertyDefinition\",\"name\":\"lastUpdateBy\",\"description\":\"The user that made the last update to the Entity or the Relation. At creation time, it assumes the same value of creator.\",\"mandatory\":true,\"readonly\":false,\"notnull\":true,\"max\":null,\"min\":null,\"regexp\":null,\"propertyType\":\"String\"}],\"accessType\":\"PROPERTY\",\"abstract\":false,\"version\":\"1.0.0\",\"changelog\":{\"1.0.0\":\"First Version\"}}"; logger.info(json); @SuppressWarnings("unchecked") PropertyType metadataType = (PropertyType) TypeMapper.deserializeTypeDefinition(json);