Moved Header in model
This commit is contained in:
parent
1e84cd6607
commit
1421a53b52
|
@ -6,7 +6,7 @@ package org.gcube.informationsystem.base.impl;
|
|||
import java.io.StringWriter;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.ER;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.utils.ISMapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
|
|
@ -4,8 +4,8 @@ import java.io.StringWriter;
|
|||
|
||||
import org.gcube.informationsystem.base.impl.ERImpl;
|
||||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.entities.Entity;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.utils.ISMapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
package org.gcube.informationsystem.base.reference;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package org.gcube.informationsystem.base.reference.entities;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.ER;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.types.annotations.Abstract;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package org.gcube.informationsystem.base.reference.relations;
|
|||
|
||||
import org.gcube.informationsystem.base.reference.ER;
|
||||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.types.annotations.Abstract;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ import java.util.List;
|
|||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.impl.entities.BaseEntityImpl;
|
||||
import org.gcube.informationsystem.base.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.context.impl.relations.IsParentOfImpl;
|
||||
import org.gcube.informationsystem.context.reference.entities.Context;
|
||||
import org.gcube.informationsystem.context.reference.relations.IsParentOf;
|
||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
|
|
@ -5,7 +5,7 @@ package org.gcube.informationsystem.model.impl.entities;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,7 +5,7 @@ package org.gcube.informationsystem.model.impl.entities;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.informationsystem.base.impl.properties;
|
||||
package org.gcube.informationsystem.model.impl.properties;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
@ -14,7 +14,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
|
|||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonTypeName(value=Header.NAME)
|
||||
public final class HeaderImpl extends BasePropertyImpl implements Header {
|
||||
public final class HeaderImpl extends PropertyImpl implements Header {
|
||||
|
||||
/**
|
||||
* Generated Serial Version UID
|
|
@ -1,13 +1,13 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.informationsystem.base.reference.properties;
|
||||
package org.gcube.informationsystem.model.reference.properties;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.base.reference.ISConstants;
|
||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
@ -18,7 +18,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Header
|
||||
*/
|
||||
@JsonDeserialize(as=HeaderImpl.class)
|
||||
public interface Header extends BaseProperty {
|
||||
public interface Header extends Property {
|
||||
|
||||
public static final String NAME = "Header"; // Header.class.getSimpleName();
|
||||
|
|
@ -11,7 +11,6 @@ import org.gcube.informationsystem.base.reference.ISManageable;
|
|||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.base.reference.properties.BaseProperty;
|
||||
import org.gcube.informationsystem.base.reference.relations.BaseRelation;
|
||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||
import org.gcube.informationsystem.types.TypeBinder;
|
||||
import org.gcube.informationsystem.types.annotations.Abstract;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
|
@ -45,10 +44,8 @@ public class TypeDefinitionImpl extends ERImpl implements TypeDefinition {
|
|||
@JsonProperty(value="abstract")
|
||||
protected boolean abstractType;
|
||||
protected Set<String> superClasses;
|
||||
protected Set<PropertyDefinition> properties;
|
||||
|
||||
|
||||
protected static <ISM extends ISManageable> Set<String> retrieveSuperClasses(Class<? extends ISM> type, Class<ISM> baseClass, String topSuperClass){
|
||||
protected <ISM extends ISManageable> Set<String> retrieveSuperClasses(Class<? extends ISM> type, Class<ISM> baseClass, String topSuperClass){
|
||||
Set<String> interfaceList = new HashSet<>();
|
||||
|
||||
if(type==baseClass){
|
||||
|
@ -74,7 +71,7 @@ public class TypeDefinitionImpl extends ERImpl implements TypeDefinition {
|
|||
return interfaceList;
|
||||
}
|
||||
|
||||
private static Set<PropertyDefinition> retrieveListOfProperties(Class<?> type){
|
||||
protected Set<PropertyDefinition> retrieveListOfProperties(Class<?> type){
|
||||
Set<PropertyDefinition> properties = new HashSet<>();
|
||||
for (Method m : type.getDeclaredMethods()){
|
||||
m.setAccessible(true);
|
||||
|
@ -140,10 +137,6 @@ public class TypeDefinitionImpl extends ERImpl implements TypeDefinition {
|
|||
this.abstractType = true;
|
||||
}
|
||||
|
||||
if(!Resource.class.isAssignableFrom(clz)){
|
||||
this.properties = retrieveListOfProperties(clz);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,10 +158,5 @@ public class TypeDefinitionImpl extends ERImpl implements TypeDefinition {
|
|||
public Set<String> getSuperClasses() {
|
||||
return superClasses;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PropertyDefinition> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,11 +3,10 @@ package org.gcube.informationsystem.types.impl.entities;
|
|||
import java.io.StringWriter;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.context.reference.entities.Context;
|
||||
import org.gcube.informationsystem.model.reference.entities.Entity;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.types.impl.TypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.entities.EntityTypeDefinition;
|
||||
import org.gcube.informationsystem.utils.ISMapper;
|
||||
|
@ -31,6 +30,11 @@ public class EntityTypeDefinitionImpl extends TypeDefinitionImpl implements Enti
|
|||
Class<? extends Resource> c = (Class<? extends Resource>) clz;
|
||||
entityTypeDefinition = new ResourceTypeDefinitionImpl(c);
|
||||
return entityTypeDefinition;
|
||||
} else if(Facet.class.isAssignableFrom(clz)){
|
||||
@SuppressWarnings("unchecked")
|
||||
Class<? extends Facet> c = (Class<? extends Facet>) clz;
|
||||
entityTypeDefinition = new FacetTypeDefinitionImpl(c);
|
||||
return entityTypeDefinition;
|
||||
} else {
|
||||
entityTypeDefinition = new EntityTypeDefinitionImpl(clz);
|
||||
}
|
||||
|
@ -45,11 +49,7 @@ public class EntityTypeDefinitionImpl extends TypeDefinitionImpl implements Enti
|
|||
public EntityTypeDefinitionImpl(Class<? extends BaseEntity> clz) {
|
||||
super(clz);
|
||||
|
||||
if(Facet.class.isAssignableFrom(clz)){
|
||||
@SuppressWarnings("unchecked")
|
||||
Class<? extends Facet> c = (Class<? extends Facet>) clz;
|
||||
this.superClasses = retrieveSuperClasses(c, Facet.class, Entity.NAME);
|
||||
} else if(EntityTypeDefinition.class.isAssignableFrom(clz)){
|
||||
if(EntityTypeDefinition.class.isAssignableFrom(clz)){
|
||||
@SuppressWarnings("unchecked")
|
||||
Class<? extends EntityTypeDefinition> c = (Class<? extends EntityTypeDefinition>) clz;
|
||||
this.superClasses = retrieveSuperClasses(c, EntityTypeDefinition.class, BaseEntity.NAME);
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
package org.gcube.informationsystem.types.impl.entities;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.model.reference.entities.Entity;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.reference.entities.FacetTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
@JsonTypeName(value=FacetTypeDefinition.NAME)
|
||||
public class FacetTypeDefinitionImpl extends EntityTypeDefinitionImpl implements FacetTypeDefinition {
|
||||
|
||||
/**
|
||||
* Generated Serial Version UID
|
||||
*/
|
||||
private static final long serialVersionUID = 6268161046955738969L;
|
||||
|
||||
protected Set<PropertyDefinition> properties;
|
||||
|
||||
protected FacetTypeDefinitionImpl() {
|
||||
super();
|
||||
}
|
||||
|
||||
public FacetTypeDefinitionImpl(Class<? extends Facet> clz) {
|
||||
super(clz);
|
||||
|
||||
Class<? extends Facet> c = (Class<? extends Facet>) clz;
|
||||
this.superClasses = retrieveSuperClasses(c, Facet.class, Entity.NAME);
|
||||
|
||||
this.properties = retrieveListOfProperties(clz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PropertyDefinition> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
}
|
|
@ -2,7 +2,6 @@ package org.gcube.informationsystem.types.impl.entities;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||
import org.gcube.informationsystem.types.TypeBinder;
|
||||
|
@ -11,10 +10,8 @@ import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
|
|||
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
|
||||
import org.gcube.informationsystem.types.impl.properties.ResourceEntryDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.entities.ResourceTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.ResourceEntryDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
@JsonTypeName(value=ResourceTypeDefinition.NAME)
|
||||
|
@ -75,10 +72,4 @@ public class ResourceTypeDefinitionImpl extends EntityTypeDefinitionImpl impleme
|
|||
return resources;
|
||||
}
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
public Set<PropertyDefinition> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
package org.gcube.informationsystem.types.impl.properties;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.properties.BaseProperty;
|
||||
import org.gcube.informationsystem.types.impl.TypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyTypeDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
@ -15,6 +18,8 @@ public final class PropertyTypeDefinitionImpl<P extends BaseProperty> extends Ty
|
|||
*/
|
||||
private static final long serialVersionUID = 7532701373450638829L;
|
||||
|
||||
protected Set<PropertyDefinition> properties;
|
||||
|
||||
protected PropertyTypeDefinitionImpl() {
|
||||
super();
|
||||
}
|
||||
|
@ -23,6 +28,12 @@ public final class PropertyTypeDefinitionImpl<P extends BaseProperty> extends Ty
|
|||
super(clz);
|
||||
this.superClasses = retrieveSuperClasses(clz, BaseProperty.class,
|
||||
clz == BaseProperty.class ? null : BaseProperty.NAME);
|
||||
this.properties = retrieveListOfProperties(clz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PropertyDefinition> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@ package org.gcube.informationsystem.types.impl.relations;
|
|||
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.base.reference.relations.BaseRelation;
|
||||
|
@ -14,6 +15,7 @@ import org.gcube.informationsystem.model.reference.relations.Relation;
|
|||
import org.gcube.informationsystem.types.impl.TypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.impl.entities.EntityTypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.entities.EntityTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
import org.gcube.informationsystem.types.reference.relations.RelationTypeDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
@ -26,6 +28,8 @@ public final class RelationTypeDefinitionImpl extends TypeDefinitionImpl impleme
|
|||
*/
|
||||
private static final long serialVersionUID = 2221831081869571296L;
|
||||
|
||||
protected Set<PropertyDefinition> properties;
|
||||
|
||||
protected RelationTypeDefinitionImpl() {
|
||||
super();
|
||||
}
|
||||
|
@ -55,6 +59,8 @@ public final class RelationTypeDefinitionImpl extends TypeDefinitionImpl impleme
|
|||
throw new RuntimeException("Type Hierachy Error");
|
||||
}
|
||||
|
||||
this.properties = retrieveListOfProperties(clz);
|
||||
|
||||
discoverSourceAndTarget(clz);
|
||||
|
||||
}
|
||||
|
@ -92,6 +98,12 @@ public final class RelationTypeDefinitionImpl extends TypeDefinitionImpl impleme
|
|||
this.target = new EntityTypeDefinitionImpl(targetClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PropertyDefinition> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Java does not support class multiple inheritance.
|
||||
* TypeDefinitionImpl is the superclass so that this class does not inherits the methods and field of BaseRelationImpl
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package org.gcube.informationsystem.types.reference;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
* This is just an useful interface to capture all type definition having properties
|
||||
* such as FacetTypeDefinition, PropertyTypeDefinition, RelationTypeDefinition
|
||||
*/
|
||||
public interface PropertyCapableTypeDefinition {
|
||||
|
||||
public static final String PROPERTIES_PROPERTY = "properties";
|
||||
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
}
|
|
@ -5,7 +5,6 @@ import java.util.Set;
|
|||
import org.gcube.informationsystem.base.reference.ER;
|
||||
import org.gcube.informationsystem.types.annotations.Abstract;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
|
@ -20,7 +19,6 @@ public interface TypeDefinition extends ER {
|
|||
public static final String DESCRIPTION_PROPERTY = "description";
|
||||
public static final String ABSTRACT_PROPERTY = "abstract";
|
||||
public static final String TYPE_SUPERCLASSES_PROPERTY = "superClasses";
|
||||
public static final String PROPERTIES_PROPERTY = "properties";
|
||||
|
||||
@ISProperty(name = NAME_PROPERTY, readonly = true, mandatory = true, nullable = false)
|
||||
public String getName();
|
||||
|
@ -33,8 +31,5 @@ public interface TypeDefinition extends ER {
|
|||
|
||||
@ISProperty(name = TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false)
|
||||
public Set<String> getSuperClasses();
|
||||
|
||||
@ISProperty(name = PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
|
||||
}
|
||||
|
|
|
@ -6,13 +6,12 @@ import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
|||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.impl.entities.EntityTypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.TypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@JsonDeserialize(as = EntityTypeDefinitionImpl.class)
|
||||
@JsonDeserialize(as = EntityTypeDefinitionImpl.class) // Do not uncomment to manage subclasses
|
||||
public interface EntityTypeDefinition extends TypeDefinition, BaseEntity {
|
||||
|
||||
public static final String NAME = "EntityTypeDefinition"; //EntityTypeDefinition.class.getSimpleName();
|
||||
|
@ -35,10 +34,6 @@ public interface EntityTypeDefinition extends TypeDefinition, BaseEntity {
|
|||
@ISProperty(name = TypeDefinition.TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false)
|
||||
public Set<String> getSuperClasses();
|
||||
|
||||
@Override
|
||||
@ISProperty(name = TypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
|
||||
/* TypeDefinition is just a Java useful class. The type is not created in the IS. Hence the fields must be redefined */
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package org.gcube.informationsystem.types.reference.entities;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.impl.entities.FacetTypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.PropertyCapableTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@JsonDeserialize(as = FacetTypeDefinitionImpl.class)
|
||||
public interface FacetTypeDefinition extends EntityTypeDefinition, BaseEntity, PropertyCapableTypeDefinition {
|
||||
|
||||
public static final String NAME = "FacetTypeDefinition"; //FacetTypeDefinition.class.getSimpleName();
|
||||
|
||||
@Override
|
||||
@ISProperty(name = PropertyCapableTypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
|
||||
|
||||
}
|
|
@ -4,9 +4,10 @@ import java.util.Set;
|
|||
|
||||
import org.gcube.informationsystem.base.reference.ER;
|
||||
import org.gcube.informationsystem.base.reference.properties.BaseProperty;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.impl.properties.PropertyTypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.PropertyCapableTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.TypeDefinition;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
@ -14,7 +15,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@JsonDeserialize(as = PropertyTypeDefinitionImpl.class)
|
||||
public interface PropertyTypeDefinition<P extends BaseProperty> extends TypeDefinition, BaseProperty {
|
||||
public interface PropertyTypeDefinition<P extends BaseProperty> extends TypeDefinition, BaseProperty, PropertyCapableTypeDefinition {
|
||||
|
||||
public static final String NAME = "PropertyTypeDefinition"; // PropertyTypeDefinition.class.getSimpleName();
|
||||
|
||||
|
@ -40,9 +41,9 @@ public interface PropertyTypeDefinition<P extends BaseProperty> extends TypeDefi
|
|||
@Override
|
||||
@ISProperty(name = TypeDefinition.TYPE_SUPERCLASSES_PROPERTY, readonly = true, mandatory = true, nullable = false)
|
||||
public Set<String> getSuperClasses();
|
||||
|
||||
|
||||
@Override
|
||||
@ISProperty(name = TypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
@ISProperty(name = PropertyCapableTypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
|
||||
/* TypeDefinition is just a Java useful class. The type is not created in the IS. Hence the fields must be redefined */
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.Set;
|
|||
import org.gcube.informationsystem.base.reference.relations.BaseRelation;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.impl.relations.RelationTypeDefinitionImpl;
|
||||
import org.gcube.informationsystem.types.reference.PropertyCapableTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.TypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.entities.EntityTypeDefinition;
|
||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
@ -14,7 +15,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@JsonDeserialize(as = RelationTypeDefinitionImpl.class)
|
||||
public interface RelationTypeDefinition extends TypeDefinition, BaseRelation<EntityTypeDefinition,EntityTypeDefinition> {
|
||||
public interface RelationTypeDefinition extends TypeDefinition, BaseRelation<EntityTypeDefinition,EntityTypeDefinition>, PropertyCapableTypeDefinition {
|
||||
|
||||
public static final String NAME = "RelationTypeDefinition"; // PropertyTypeDefiniton.class.getSimpleName();
|
||||
|
||||
|
@ -37,7 +38,7 @@ public interface RelationTypeDefinition extends TypeDefinition, BaseRelation<Ent
|
|||
public Set<String> getSuperClasses();
|
||||
|
||||
@Override
|
||||
@ISProperty(name = TypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
@ISProperty(name = PropertyCapableTypeDefinition.PROPERTIES_PROPERTY, readonly = false, mandatory = true, nullable = false)
|
||||
public Set<PropertyDefinition> getProperties();
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,8 +6,8 @@ package org.gcube.informationsystem.utils;
|
|||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.entities.Entity;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package org.gcube.informationsystem.base.impl.properties;
|
||||
package org.gcube.informationsystem.model.impl.properties;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.base.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.utils.ISMapper;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
|
@ -5,8 +5,8 @@ package org.gcube.informationsystem.types;
|
|||
|
||||
import org.gcube.informationsystem.base.reference.ISManageable;
|
||||
import org.gcube.informationsystem.base.reference.properties.BaseProperty;
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.relations.IsRelatedTo;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package org.gcube.informationsystem.types;
|
||||
|
||||
import org.gcube.informationsystem.base.reference.properties.Header;
|
||||
import org.gcube.informationsystem.context.reference.relations.IsParentOf;
|
||||
import org.gcube.informationsystem.model.impl.properties.PropagationConstraintImpl;
|
||||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint;
|
||||
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.AddConstraint;
|
||||
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.RemoveConstraint;
|
||||
|
|
Loading…
Reference in New Issue