Reorganized model as following

Element
 - EntityElement
   - Entity
     - Resource
     - Facet
   - Context
   - EntityType
     - ResourceType (3 lists of PropertyDefinition, LinkedFacet,
LinkedResource)
     - FacetType (1 list of PropertyDefinition)
 - RelationElement
   - Relation
     - IsRelatedTo
     - ConsistsOf
   - IsParentOf
   - RelationType
     - IsRelatedTo (1 list of PropertyDefinition)
     - ConsistsOf (1 list of PropertyDefinition)
 - PropertyElement
   - Property
     - Header
     - PropagationConstraint
     - Encrypted
   - PropertyType (1 list of PropertyDefinition)
     - PropertyDefinition
     - LinkedEntity
       - LinkedFacet
       - LinkedResource
master
Luca Frosini 4 years ago
parent ef0124adf9
commit 191b91d6c9

@ -5,16 +5,16 @@ import java.util.List;
import java.util.ServiceLoader;
import org.gcube.informationsystem.base.reference.AccessType;
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.base.reference.Element;
import org.gcube.informationsystem.base.reference.entities.EntityElement;
import org.gcube.informationsystem.base.reference.properties.PropertyElement;
import org.gcube.informationsystem.base.reference.relations.RelationElement;
import org.gcube.informationsystem.types.TypeBinder;
import org.gcube.informationsystem.types.reference.TypeDefinition;
import org.gcube.informationsystem.types.reference.entities.EntityTypeDefinition;
import org.gcube.informationsystem.types.reference.entities.EntityType;
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
import org.gcube.informationsystem.types.reference.properties.PropertyTypeDefinition;
import org.gcube.informationsystem.types.reference.relations.RelationTypeDefinition;
import org.gcube.informationsystem.types.reference.properties.PropertyType;
import org.gcube.informationsystem.types.reference.relations.RelationType;
import org.gcube.informationsystem.utils.ISMapper;
import org.gcube.informationsystem.utils.discovery.ISMDiscovery;
import org.gcube.informationsystem.utils.discovery.RegistrationProvider;
@ -23,11 +23,11 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ISMDiscoveryTest {
public class EntityDiscoveryTest {
private static Logger logger = LoggerFactory.getLogger(ISMDiscovery.class);
private void addDiscoveredModel(ISMDiscovery<? extends ISManageable> ismDiscovery) {
private void addDiscoveredModel(ISMDiscovery<? extends Element> ismDiscovery) {
ServiceLoader<? extends RegistrationProvider> regsitrationProviders = ServiceLoader
.load(RegistrationProvider.class);
for(RegistrationProvider registrationProvider : regsitrationProviders) {
@ -43,20 +43,20 @@ public class ISMDiscoveryTest {
SchemaAction schemaAction = new SchemaAction() {
@Override
public <R extends BaseRelation<? extends BaseEntity,? extends BaseEntity>> void manageRelationClass(Class<R> r)
public <R extends RelationElement<? extends EntityElement,? extends EntityElement>> void manageRelationClass(Class<R> r)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public <P extends BaseProperty> void managePropertyClass(Class<P> e) throws Exception {
public <P extends PropertyElement> void managePropertyClass(Class<P> e) throws Exception {
// TODO Auto-generated method stub
}
@Override
public <E extends BaseEntity> void manageEntityClass(Class<E> e) throws Exception {
public <E extends EntityElement> void manageEntityClass(Class<E> e) throws Exception {
// TODO Auto-generated method stub
}
@ -68,7 +68,7 @@ public class ISMDiscoveryTest {
AccessType[] accessTypes = AccessType.values();
for(AccessType accessType : accessTypes) {
Class<ISManageable> clz = accessType.getTypeClass();
Class<Element> clz = accessType.getTypeClass();
packages.add(clz.getPackage());
}
@ -82,11 +82,11 @@ public class ISMDiscoveryTest {
@Test
public void testPropertyDiscovery() throws Exception {
ISMDiscovery<BaseProperty> propertyDiscovery = new ISMDiscovery<BaseProperty>(BaseProperty.class);
ISMDiscovery<PropertyElement> propertyDiscovery = new ISMDiscovery<PropertyElement>(PropertyElement.class);
addDiscoveredModel(propertyDiscovery);
propertyDiscovery.discover();
for(Class<? extends BaseProperty> propertyClass : propertyDiscovery.getDiscovered()) {
for(Class<? extends PropertyElement> propertyClass : propertyDiscovery.getDiscovered()) {
String json = TypeBinder.serializeType(propertyClass);
logger.info("{}", json);
TypeDefinition typeDefinition = TypeBinder.deserializeTypeDefinition(json);
@ -96,25 +96,25 @@ public class ISMDiscoveryTest {
@Test
public void testEntityTypeDefinitionSerialization() throws Exception {
logger.info("{}", TypeBinder.serializeType(EntityTypeDefinition.class));
logger.info("{}", TypeBinder.serializeType(EntityType.class));
}
@Test
public void testDefinitionSerialization() throws Exception {
logger.info("{}", TypeBinder.serializeType(TypeDefinition.class));
logger.info("{}", TypeBinder.serializeType(EntityTypeDefinition.class));
logger.info("{}", TypeBinder.serializeType(RelationTypeDefinition.class));
logger.info("{}", TypeBinder.serializeType(PropertyTypeDefinition.class));
logger.info("{}", TypeBinder.serializeType(EntityType.class));
logger.info("{}", TypeBinder.serializeType(RelationType.class));
logger.info("{}", TypeBinder.serializeType(PropertyType.class));
logger.info("{}", TypeBinder.serializeType(PropertyDefinition.class));
}
@Test
public void testEntityDiscovery() throws Exception {
ISMDiscovery<BaseEntity> entityDiscovery = new ISMDiscovery<>(BaseEntity.class);
ISMDiscovery<EntityElement> entityDiscovery = new ISMDiscovery<>(EntityElement.class);
addDiscoveredModel(entityDiscovery);
entityDiscovery.discover();
for(Class<? extends BaseEntity> entity : entityDiscovery.getDiscovered()) {
for(Class<? extends EntityElement> entity : entityDiscovery.getDiscovered()) {
logger.info("{}", TypeBinder.serializeType(entity));
}
}
@ -122,11 +122,11 @@ public class ISMDiscoveryTest {
@Test
public void testRelationDiscovery() throws Exception {
@SuppressWarnings("rawtypes")
ISMDiscovery<BaseRelation> relationDiscovery = new ISMDiscovery<>(BaseRelation.class);
ISMDiscovery<RelationElement> relationDiscovery = new ISMDiscovery<>(RelationElement.class);
addDiscoveredModel(relationDiscovery);
relationDiscovery.discover();
for(@SuppressWarnings("rawtypes") Class<? extends BaseRelation> relation : relationDiscovery.getDiscovered()) {
for(@SuppressWarnings("rawtypes") Class<? extends RelationElement> relation : relationDiscovery.getDiscovered()) {
logger.info("{}", TypeBinder.serializeType(relation));
}
}
Loading…
Cancel
Save