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 a8da4b8..593b32c 100644 --- a/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java +++ b/src/main/java/org/gcube/informationsystem/types/impl/TypeImpl.java @@ -13,6 +13,7 @@ import org.gcube.com.fasterxml.jackson.annotation.JsonInclude; import org.gcube.com.fasterxml.jackson.annotation.JsonInclude.Include; import org.gcube.com.fasterxml.jackson.annotation.JsonProperty; import org.gcube.com.fasterxml.jackson.annotation.JsonSetter; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.Element; import org.gcube.informationsystem.base.reference.entities.EntityElement; import org.gcube.informationsystem.base.reference.properties.PropertyElement; @@ -260,5 +261,10 @@ public class TypeImpl implements Type { public Set getProperties() { return properties; } + + @Override + public AccessType getAccessType() { + return null; + } } 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 2d27bb6..3b35f7b 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 @@ -11,6 +11,8 @@ import org.gcube.informationsystem.model.reference.entities.Resource; import org.gcube.informationsystem.model.reference.properties.Header; import org.gcube.informationsystem.types.impl.TypeImpl; import org.gcube.informationsystem.types.reference.entities.EntityType; +import org.gcube.informationsystem.types.reference.entities.FacetType; +import org.gcube.informationsystem.types.reference.entities.ResourceType; import org.gcube.informationsystem.utils.ElementMapper; /** @@ -106,14 +108,16 @@ public class EntityTypeImpl extends TypeImpl implements EntityType { return AccessType.CONTEXT; } - if(name.compareTo(EntityType.NAME)==0) { - return AccessType.ENTITY_TYPE; - } - if(name.compareTo(EntityElement.NAME)==0) { return AccessType.ENTITY_ELEMENT; } + if(name.compareTo(EntityType.NAME)==0 || + name.compareTo(ResourceType.NAME)==0 || + name.compareTo(FacetType.NAME)==0) { + return AccessType.ENTITY_TYPE; + } + return AccessType.ENTITY; } 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 20acc52..5e47188 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 @@ -3,6 +3,7 @@ package org.gcube.informationsystem.types.impl.entities; import java.util.Set; import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.model.reference.entities.Entity; import org.gcube.informationsystem.model.reference.entities.Facet; import org.gcube.informationsystem.types.reference.entities.FacetType; @@ -36,4 +37,9 @@ public class FacetTypeImpl extends EntityTypeImpl implements FacetType { return properties; } + @Override + public AccessType getAccessType() { + return AccessType.FACET; + } + } 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 c7f0dbe..e92e661 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 @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.model.reference.entities.Entity; import org.gcube.informationsystem.model.reference.entities.Resource; import org.gcube.informationsystem.types.TypeMapper; @@ -78,4 +79,9 @@ public class ResourceTypeImpl extends EntityTypeImpl implements ResourceType { return resources; } + @Override + public AccessType getAccessType() { + return AccessType.RESOURCE; + } + } 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 1a840f1..103fdc5 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 @@ -6,6 +6,7 @@ import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.properties.PropertyElement; import org.gcube.informationsystem.types.impl.TypeImpl; +import org.gcube.informationsystem.types.reference.properties.LinkedEntity; import org.gcube.informationsystem.types.reference.properties.PropertyDefinition; import org.gcube.informationsystem.types.reference.properties.PropertyType; @@ -43,7 +44,16 @@ public final class PropertyTypeImpl

extends TypeImpl @Override public AccessType getAccessType() { - if(name.compareTo(PropertyElement.NAME)==0) { + if(name.compareTo(PropertyType.NAME)==0) { + return AccessType.PROPERTY_TYPE; + } + + if(name.compareTo(PropertyDefinition.NAME)==0) { + return AccessType.PROPERTY_DEFINITION; + } + + if(name.compareTo(PropertyElement.NAME)==0 || + name.compareTo(LinkedEntity.NAME)==0) { return AccessType.PROPERTY_ELEMENT; } 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 4c6ee45..0c1dc07 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 @@ -3,6 +3,7 @@ package org.gcube.informationsystem.types.impl.relations; import java.lang.reflect.Type; import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.model.reference.entities.Facet; import org.gcube.informationsystem.model.reference.entities.Resource; import org.gcube.informationsystem.model.reference.relations.ConsistsOf; @@ -56,4 +57,10 @@ public class ConsistsOfTypeImpl extends RelationTypeImpl) sourceClass); this.target = new FacetTypeImpl((Class) targetClass); } + + @Override + public AccessType getAccessType() { + return AccessType.CONSISTS_OF; + } + } 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 f2c1f8a..c4c82a1 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 @@ -3,6 +3,7 @@ package org.gcube.informationsystem.types.impl.relations; import java.lang.reflect.Type; import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.model.reference.entities.Resource; import org.gcube.informationsystem.model.reference.relations.IsRelatedTo; import org.gcube.informationsystem.model.reference.relations.Relation; @@ -53,4 +54,10 @@ public class IsRelatedToTypeImpl extends RelationTypeImpl) sourceClass); this.target = new ResourceTypeImpl((Class) targetClass); } + + @Override + public AccessType getAccessType() { + return AccessType.IS_RELATED_TO; + } + } 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 c1cfacf..b066d61 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 @@ -15,6 +15,8 @@ import org.gcube.informationsystem.model.reference.relations.IsRelatedTo; import org.gcube.informationsystem.types.impl.TypeImpl; import org.gcube.informationsystem.types.impl.entities.EntityTypeImpl; import org.gcube.informationsystem.types.reference.entities.EntityType; +import org.gcube.informationsystem.types.reference.relations.ConsistsOfType; +import org.gcube.informationsystem.types.reference.relations.IsRelatedToType; import org.gcube.informationsystem.types.reference.relations.RelationType; /** @@ -140,14 +142,17 @@ public class RelationTypeImpl return AccessType.IS_PARENT_OF; } - if(name.compareTo(RelationType.NAME)==0) { - return AccessType.RELATION_TYPE; - } - if(name.compareTo(RelationElement.NAME)==0) { return AccessType.RELATION_ELEMENT; } + if(name.compareTo(RelationType.NAME)==0 || + name.compareTo(IsRelatedToType.NAME)==0 || + name.compareTo(ConsistsOfType.NAME)==0) { + return AccessType.RELATION_TYPE; + } + return AccessType.RELATION; } + } 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 bd5159b..b5d9ab9 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/Type.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/Type.java @@ -54,9 +54,6 @@ public interface Type extends IdentifiableElement { public Set getProperties(); - @JsonIgnore - public default AccessType getAccessType() { - return null; - } + public AccessType getAccessType(); } 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 ad60a87..d87cfe8 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 @@ -44,9 +44,6 @@ public interface EntityType extends Type, EntityElement { /* {@link Type} is just a Java useful class. The type is not created in the IS. Hence the fields must be redefined */ - @Override - public default AccessType getAccessType() { - return AccessType.ENTITY_ELEMENT; - } + public AccessType getAccessType(); } diff --git a/src/main/java/org/gcube/informationsystem/types/reference/entities/FacetType.java b/src/main/java/org/gcube/informationsystem/types/reference/entities/FacetType.java index 9f8e09d..837e00d 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/entities/FacetType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/entities/FacetType.java @@ -4,7 +4,6 @@ import java.util.Set; import org.gcube.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.annotations.ISProperty; import org.gcube.informationsystem.types.impl.entities.FacetTypeImpl; import org.gcube.informationsystem.types.reference.Change; @@ -27,9 +26,4 @@ public interface FacetType extends EntityType { @ISProperty(name = Type.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false) public Set getProperties(); - @Override - public default AccessType getAccessType() { - return AccessType.FACET; - } - } diff --git a/src/main/java/org/gcube/informationsystem/types/reference/entities/ResourceType.java b/src/main/java/org/gcube/informationsystem/types/reference/entities/ResourceType.java index e5dae3e..dbd8e2f 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/entities/ResourceType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/entities/ResourceType.java @@ -3,7 +3,6 @@ package org.gcube.informationsystem.types.reference.entities; import java.util.List; import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.annotations.ISProperty; import org.gcube.informationsystem.types.impl.entities.ResourceTypeImpl; import org.gcube.informationsystem.types.reference.Change; @@ -30,9 +29,4 @@ public interface ResourceType extends EntityType { @ISProperty(name = RESOURCES_PROPERTY, readonly = false, mandatory = true, nullable = false) public List getResources(); - @Override - public default AccessType getAccessType() { - return AccessType.RESOURCE; - } - } 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 c1b3151..095ca6a 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 @@ -4,7 +4,6 @@ import java.util.Set; import org.gcube.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.IdentifiableElement; import org.gcube.informationsystem.base.reference.properties.PropertyElement; import org.gcube.informationsystem.model.reference.properties.Header; @@ -53,8 +52,5 @@ public interface PropertyType

extends PropertyElement public Set getProperties(); /* TypeDefinition is just a Java useful class. The type is not created in the IS. Hence the fields must be redefined */ - @Override - public default AccessType getAccessType() { - return AccessType.PROPERTY_ELEMENT; - } + } diff --git a/src/main/java/org/gcube/informationsystem/types/reference/relations/ConsistsOfType.java b/src/main/java/org/gcube/informationsystem/types/reference/relations/ConsistsOfType.java index 4fb586c..7bee74b 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/relations/ConsistsOfType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/relations/ConsistsOfType.java @@ -1,7 +1,6 @@ package org.gcube.informationsystem.types.reference.relations; import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.impl.relations.ConsistsOfTypeImpl; import org.gcube.informationsystem.types.reference.Change; import org.gcube.informationsystem.types.reference.TypeMetadata; @@ -19,9 +18,4 @@ public interface ConsistsOfType extends RelationType { public static final String NAME = "ConsistsOfType"; // ConsistsOfType.class.getSimpleName(); - @Override - public default AccessType getAccessType() { - return AccessType.CONSISTS_OF; - } - } diff --git a/src/main/java/org/gcube/informationsystem/types/reference/relations/IsRelatedToType.java b/src/main/java/org/gcube/informationsystem/types/reference/relations/IsRelatedToType.java index d3854be..7c4c749 100644 --- a/src/main/java/org/gcube/informationsystem/types/reference/relations/IsRelatedToType.java +++ b/src/main/java/org/gcube/informationsystem/types/reference/relations/IsRelatedToType.java @@ -1,7 +1,6 @@ package org.gcube.informationsystem.types.reference.relations; import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.impl.relations.IsRelatedToTypeImpl; import org.gcube.informationsystem.types.reference.Change; import org.gcube.informationsystem.types.reference.TypeMetadata; @@ -18,9 +17,4 @@ public interface IsRelatedToType extends RelationType @JsonGetter(value=TARGET_PROPERTY) public String getTargetType();*/ - @Override - public default AccessType getAccessType() { - return AccessType.RELATION_ELEMENT; - } - } diff --git a/src/test/java/org/gcube/informationsystem/types/SerializationTest.java b/src/test/java/org/gcube/informationsystem/types/SerializationTest.java index 3b4e76e..b5221eb 100644 --- a/src/test/java/org/gcube/informationsystem/types/SerializationTest.java +++ b/src/test/java/org/gcube/informationsystem/types/SerializationTest.java @@ -1,5 +1,6 @@ package org.gcube.informationsystem.types; +import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.entities.EntityElement; import org.gcube.informationsystem.base.reference.properties.PropertyElement; import org.gcube.informationsystem.context.reference.entities.Context; @@ -25,6 +26,7 @@ import org.gcube.informationsystem.types.reference.relations.IsRelatedToType; import org.gcube.informationsystem.types.reference.relations.RelationType; import org.gcube.informationsystem.utils.ElementMapper; import org.gcube.informationsystem.utils.TypeVersion; +import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,91 +59,115 @@ public class SerializationTest { @Test public void testPropertyTypeDefinition() throws Exception{ @SuppressWarnings("unchecked") - PropertyType basePropertyTypeDefinition = (PropertyType) TypeMapper.createTypeDefinition(PropertyElement.class); - logger.info(ElementMapper.marshal(basePropertyTypeDefinition)); - - @SuppressWarnings("unchecked") - PropertyType propertyTypeDefinition = (PropertyType) TypeMapper.createTypeDefinition(Property.class); - logger.info(ElementMapper.marshal(propertyTypeDefinition)); - - @SuppressWarnings("unchecked") - PropertyType

headerTypeDefinition = (PropertyType
) TypeMapper.createTypeDefinition(Header.class); - logger.info(ElementMapper.marshal(headerTypeDefinition)); - - - @SuppressWarnings("unchecked") - PropertyType propagationConstraintDefinition = (PropertyType) TypeMapper.createTypeDefinition(PropagationConstraint.class); - logger.info(ElementMapper.marshal(propagationConstraintDefinition)); - - - @SuppressWarnings("unchecked") - PropertyType encryptedTypeDefinition = (PropertyType) TypeMapper.createTypeDefinition(Encrypted.class); - logger.info(ElementMapper.marshal(encryptedTypeDefinition)); + PropertyType propertyElement = (PropertyType) TypeMapper.createTypeDefinition(PropertyElement.class); + Assert.assertTrue(propertyElement.getAccessType()==AccessType.PROPERTY_ELEMENT); + logger.info(ElementMapper.marshal(propertyElement)); + @SuppressWarnings({ "unchecked", "rawtypes" }) + PropertyType propertyType = (PropertyType) TypeMapper.createTypeDefinition(PropertyType.class); + Assert.assertTrue(propertyType.getAccessType()==AccessType.PROPERTY_TYPE); + logger.info(ElementMapper.marshal(propertyType)); @SuppressWarnings("unchecked") PropertyType propertyDefinition = (PropertyType) TypeMapper.createTypeDefinition(PropertyDefinition.class); + Assert.assertTrue(propertyDefinition.getAccessType()==AccessType.PROPERTY_DEFINITION); logger.info(ElementMapper.marshal(propertyDefinition)); @SuppressWarnings("unchecked") - PropertyType resourceEntryDefinition = (PropertyType) TypeMapper.createTypeDefinition(LinkedEntity.class); - logger.info(ElementMapper.marshal(resourceEntryDefinition)); + PropertyType linkedEntity = (PropertyType) TypeMapper.createTypeDefinition(LinkedEntity.class); + Assert.assertTrue(linkedEntity.getAccessType()==AccessType.PROPERTY_ELEMENT); + logger.info(ElementMapper.marshal(linkedEntity)); + + @SuppressWarnings("unchecked") + PropertyType property = (PropertyType) TypeMapper.createTypeDefinition(Property.class); + Assert.assertTrue(property.getAccessType()==AccessType.PROPERTY); + logger.info(ElementMapper.marshal(property)); + + @SuppressWarnings("unchecked") + PropertyType
header = (PropertyType
) TypeMapper.createTypeDefinition(Header.class); + Assert.assertTrue(header.getAccessType()==AccessType.PROPERTY); + logger.info(ElementMapper.marshal(header)); + + @SuppressWarnings("unchecked") + PropertyType propagationConstraint = (PropertyType) TypeMapper.createTypeDefinition(PropagationConstraint.class); + Assert.assertTrue(propagationConstraint.getAccessType()==AccessType.PROPERTY); + logger.info(ElementMapper.marshal(propagationConstraint)); + + @SuppressWarnings("unchecked") + PropertyType encrypted = (PropertyType) TypeMapper.createTypeDefinition(Encrypted.class); + Assert.assertTrue(encrypted.getAccessType()==AccessType.PROPERTY); + logger.info(ElementMapper.marshal(encrypted)); } @Test public void testEntityTypeDefinition() throws Exception{ - EntityType baseEntityTypeDefinition = (EntityType) TypeMapper.createTypeDefinition(EntityElement.class); - logger.info(ElementMapper.marshal(baseEntityTypeDefinition)); + EntityType entityElement = (EntityType) TypeMapper.createTypeDefinition(EntityElement.class); + Assert.assertTrue(entityElement.getAccessType()==AccessType.ENTITY_ELEMENT); + logger.info(ElementMapper.marshal(entityElement)); - EntityType entityTypeDefinition = (EntityType) TypeMapper.createTypeDefinition(Entity.class); - logger.info(ElementMapper.marshal(entityTypeDefinition)); + EntityType entity = (EntityType) TypeMapper.createTypeDefinition(Entity.class); + Assert.assertTrue(entity.getAccessType()==AccessType.ENTITY); + logger.info(ElementMapper.marshal(entity)); - ResourceType resourceTypeDefinition = (ResourceType) TypeMapper.createTypeDefinition(Resource.class); - logger.info(ElementMapper.marshal(resourceTypeDefinition)); + ResourceType resource = (ResourceType) TypeMapper.createTypeDefinition(Resource.class); + Assert.assertTrue(resource.getAccessType()==AccessType.RESOURCE); + logger.info(ElementMapper.marshal(resource)); - FacetType facetTypeDefinition = (FacetType) TypeMapper.createTypeDefinition(Facet.class); - logger.info(ElementMapper.marshal(facetTypeDefinition)); + FacetType facet = (FacetType) TypeMapper.createTypeDefinition(Facet.class); + Assert.assertTrue(facet.getAccessType()==AccessType.FACET); + logger.info(ElementMapper.marshal(facet)); - EntityType contextTypeDefinition = (EntityType) TypeMapper.createTypeDefinition(Context.class); - logger.info(ElementMapper.marshal(contextTypeDefinition)); + EntityType context = (EntityType) TypeMapper.createTypeDefinition(Context.class); + Assert.assertTrue(context.getAccessType()==AccessType.CONTEXT); + logger.info(ElementMapper.marshal(context)); - EntityType entityTypeDefinitionSelf = (EntityType) TypeMapper.createTypeDefinition(EntityType.class); - logger.info(ElementMapper.marshal(entityTypeDefinitionSelf)); + EntityType entityType = (EntityType) TypeMapper.createTypeDefinition(EntityType.class); + Assert.assertTrue(entityType.getAccessType()==AccessType.ENTITY_TYPE); + logger.info(ElementMapper.marshal(entityType)); - EntityType resourceTypeDefinitionSelf = (EntityType) TypeMapper.createTypeDefinition(ResourceType.class); - logger.info(ElementMapper.marshal(resourceTypeDefinitionSelf)); + EntityType resourceType = (EntityType) TypeMapper.createTypeDefinition(ResourceType.class); + Assert.assertTrue(resourceType.getAccessType()==AccessType.ENTITY_TYPE); + logger.info(ElementMapper.marshal(resourceType)); - EntityType facetTypeDefinitionSelf = (EntityType) TypeMapper.createTypeDefinition(FacetType.class); - logger.info(ElementMapper.marshal(facetTypeDefinitionSelf)); + EntityType facetType = (EntityType) TypeMapper.createTypeDefinition(FacetType.class); + Assert.assertTrue(facetType.getAccessType()==AccessType.ENTITY_TYPE); + logger.info(ElementMapper.marshal(facetType)); } @Test public void testRelationTypeDefinition() throws Exception{ @SuppressWarnings("unchecked") - RelationType relationTypeDefinition = (RelationType) TypeMapper.createTypeDefinition(Relation.class); - logger.info(ElementMapper.marshal(relationTypeDefinition)); + RelationType relation = (RelationType) TypeMapper.createTypeDefinition(Relation.class); + Assert.assertTrue(relation.getAccessType()==AccessType.RELATION); + logger.info(ElementMapper.marshal(relation)); - IsRelatedToType isRelatedToTypeDefinition = (IsRelatedToType) TypeMapper.createTypeDefinition(IsRelatedTo.class); - logger.info(ElementMapper.marshal(isRelatedToTypeDefinition)); + IsRelatedToType isRelatedTo = (IsRelatedToType) TypeMapper.createTypeDefinition(IsRelatedTo.class); + Assert.assertTrue(isRelatedTo.getAccessType()==AccessType.IS_RELATED_TO); + logger.info(ElementMapper.marshal(isRelatedTo)); - ConsistsOfType consistsOfTypeDefinition = (ConsistsOfType) TypeMapper.createTypeDefinition(ConsistsOf.class); - logger.info(ElementMapper.marshal(consistsOfTypeDefinition)); + ConsistsOfType consistsOf = (ConsistsOfType) TypeMapper.createTypeDefinition(ConsistsOf.class); + Assert.assertTrue(consistsOf.getAccessType()==AccessType.CONSISTS_OF); + logger.info(ElementMapper.marshal(consistsOf)); @SuppressWarnings("unchecked") - RelationType isParentOfTypeDefinition = (RelationType) TypeMapper.createTypeDefinition(IsParentOf.class); - logger.info(ElementMapper.marshal(isParentOfTypeDefinition)); + RelationType isParentOf = (RelationType) TypeMapper.createTypeDefinition(IsParentOf.class); + Assert.assertTrue(isParentOf.getAccessType()==AccessType.IS_PARENT_OF); + logger.info(ElementMapper.marshal(isParentOf)); @SuppressWarnings("unchecked") - RelationType rtdSelf = (RelationType) TypeMapper.createTypeDefinition(RelationType.class); - logger.info(ElementMapper.marshal(rtdSelf)); + RelationType relationType = (RelationType) TypeMapper.createTypeDefinition(RelationType.class); + Assert.assertTrue(relationType.getAccessType()==AccessType.RELATION_TYPE); + logger.info(ElementMapper.marshal(relationType)); @SuppressWarnings("unchecked") - RelationType isRelatedToTypeDefinitionSelf = (RelationType) TypeMapper.createTypeDefinition(IsRelatedToType.class); - logger.info(ElementMapper.marshal(isRelatedToTypeDefinitionSelf)); + RelationType isRelatedToType = (RelationType) TypeMapper.createTypeDefinition(IsRelatedToType.class); + Assert.assertTrue(isRelatedToType.getAccessType()==AccessType.RELATION_TYPE); + logger.info(ElementMapper.marshal(isRelatedToType)); @SuppressWarnings("unchecked") - RelationType consistsOfTypeDefinitionSelf = (RelationType) TypeMapper.createTypeDefinition(ConsistsOfType.class); - logger.info(ElementMapper.marshal(consistsOfTypeDefinitionSelf)); + RelationType consistsOfType = (RelationType) TypeMapper.createTypeDefinition(ConsistsOfType.class); + Assert.assertTrue(consistsOfType.getAccessType()==AccessType.RELATION_TYPE); + logger.info(ElementMapper.marshal(consistsOfType)); } @Test