Added annotations to defined facets to comply with the new way to create
type definition
This commit is contained in:
parent
6c81f0bd3c
commit
9c84b79924
|
@ -3,12 +3,8 @@
|
|||
*/
|
||||
package org.gcube.resourcemanagement.model.impl.entities.facets;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import org.gcube.informationsystem.model.impl.entities.FacetImpl;
|
||||
import org.gcube.informationsystem.types.impl.TypeImpl;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.reference.entities.facets.IdentifierFacet;
|
||||
|
||||
/**
|
||||
|
@ -22,13 +18,14 @@ public class IdentifierFacetImpl extends FacetImpl implements IdentifierFacet {
|
|||
*/
|
||||
private static final long serialVersionUID = 5711870008624673728L;
|
||||
|
||||
/*
|
||||
public static final Map<TypeVersion, String> CHANGELOG;
|
||||
|
||||
static {
|
||||
CHANGELOG = TypeImpl.DEFAULT_CHANGELOG_MAP;
|
||||
CHANGELOG.put(new TypeVersion(IdentifierFacet.VERSION), "Added STRING in IdentificationType");
|
||||
}
|
||||
|
||||
*/
|
||||
protected String value;
|
||||
protected IdentificationType type;
|
||||
protected boolean persistent;
|
||||
|
|
|
@ -9,6 +9,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.model.reference.properties.Property;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.AccessPointFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -16,17 +19,18 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.AccessPointFacetI
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Access_Point_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=AccessPointFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = AccessPointFacet.NAME,
|
||||
description = "This facet is expected to capture information on \"access points\" for a resource, i.e. any endpoint to interact with the resource via a known protocol.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface AccessPointFacet extends Facet {
|
||||
|
||||
public static final String NAME = "AccessPointFacet"; //AccessPointFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "This facet is expected to "
|
||||
+ "capture information on “access points” for a resource, i.e. any "
|
||||
+ "endpoint to interact with the resource via a known protocol.";
|
||||
public static final String VERSION = "1.0.0";
|
||||
public static final String NAME = "AccessPointFacet"; // AccessPointFacet.class.getSimpleName();
|
||||
|
||||
public static final String ENDPOINT_PROPERTY = "endpoint";
|
||||
|
||||
|
||||
@ISProperty
|
||||
public String getEntryName();
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ActionFacetImpl;
|
||||
import org.gcube.resourcemanagement.model.reference.properties.EnumStringProperty;
|
||||
|
||||
|
@ -11,15 +14,17 @@ import org.gcube.resourcemanagement.model.reference.properties.EnumStringPropert
|
|||
*
|
||||
* @author Manuele Simi (ISTI-CNR)
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Action_Facet
|
||||
|
||||
*/
|
||||
@JsonDeserialize(as=ActionFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ActionFacet.NAME,
|
||||
description = "This facet is expected to capture information on which action perform while a resource is added or removed from a context.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ActionFacet extends Facet, NameProperty {
|
||||
|
||||
public static final String NAME = "ActionFacet";
|
||||
public static final String DESCRIPTION = "This facet is expected to "
|
||||
+ "capture information on which action perform while a resource is added or removed from a context.";
|
||||
public static final String VERSION = "1.0.0";
|
||||
public static final String NAME = "ActionFacet"; // ActionFacet.class.getSimpleName();
|
||||
|
||||
public static final String TYPE_PROPERTY = "type";
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.CPUFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.CPUFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#CPU_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=CPUFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = CPUFacet.NAME,
|
||||
description = "Describes CPU information.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface CPUFacet extends Facet {
|
||||
|
||||
public static final String NAME = "CPUFacet"; //CPUFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Describes CPU information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getModel();
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.CapabilityFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,13 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.CapabilityFacetIm
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Contact_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=CapabilityFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = CapabilityFacet.NAME,
|
||||
description = "This facet is expected to capture a defined facility for performing a specified task supported by a given Service or Software.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface CapabilityFacet extends Facet {
|
||||
|
||||
public static final String NAME = "CapabilityFacet"; // CapabilityFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "This facet is expected to "
|
||||
+ "capture a defined facility for performing a specified task "
|
||||
+ "supported by a given Service or Software";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getName();
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ContactFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.ContactFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Contact_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=ContactFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ContactFacet.NAME,
|
||||
description = "This facet is expected to capture contact information.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ContactFacet extends Facet {
|
||||
|
||||
public static final String NAME = "ContactFacet"; // ContactFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "This facet is expected to capture contact information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public static final String EMAIL_PROPERTY = "eMail";
|
||||
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URL;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ContactReferenceFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,12 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.ContactReferenceF
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Contact_Reference_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=ContactReferenceFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ContactReferenceFacet.NAME,
|
||||
description = "This facet is expected to capture extended contact information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ContactReferenceFacet extends Facet {
|
||||
|
||||
public static final String NAME = "ContactReferenceFacet"; // ContactReferenceFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "This facet is expected to "
|
||||
+ "capture contact information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty
|
||||
public URL getWebsite();
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
package org.gcube.resourcemanagement.model.reference.entities.facets;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ContainerStateFacetImpl;
|
||||
|
||||
|
||||
|
@ -12,10 +15,14 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.ContainerStateFac
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Container_State_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=ContainerStateFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ContainerStateFacet.NAME,
|
||||
description = "Container State Information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ContainerStateFacet extends StateFacet {
|
||||
|
||||
public static final String NAME = "ContainerStateFacet"; // ContainerStateFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Container State Information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URI;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.CoverageFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.CoverageFacetImpl
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Coverage_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=CoverageFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = CoverageFacet.NAME,
|
||||
description = "Collect any \\\"extent\\\"-related information.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface CoverageFacet extends Facet {
|
||||
|
||||
public static final String NAME = "CoverageFacet"; // CoverageFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Collect any \"extent\"-related information.";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getValue();
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URI;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.DescriptiveMetadataFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.DescriptiveMetada
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Descriptive_Metadata_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=DescriptiveMetadataFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = DescriptiveMetadataFacet.NAME,
|
||||
description = "Collect any descriptive metadata about the resource.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface DescriptiveMetadataFacet extends Facet {
|
||||
|
||||
public static final String NAME = "DescriptiveMetadataFacet"; // DescriptiveMetadataFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Collect any descriptive metadata about the resource";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getValue();
|
||||
|
|
|
@ -11,6 +11,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
import org.gcube.informationsystem.base.reference.Element;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.EventFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -18,6 +21,12 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.EventFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Event_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=EventFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = EventFacet.NAME,
|
||||
description = "This Facet collect information on happened events.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface EventFacet extends Facet {
|
||||
|
||||
public static final String NAME = "EventFacet"; // EventFacet.class.getSimpleName();
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
*/
|
||||
package org.gcube.resourcemanagement.model.reference.entities.facets;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.IdentifierFacetImpl;
|
||||
|
||||
|
@ -25,13 +25,16 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.IdentifierFacetIm
|
|||
*
|
||||
*/
|
||||
@JsonDeserialize(as=IdentifierFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = IdentifierFacet.NAME,
|
||||
description = "This facet collects information on Identifiers that can be attached to a resource.",
|
||||
version = "1.0.1"
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
@Change(version = "1.0.1", description = "Added STRING in IdentificationType enum.")
|
||||
public interface IdentifierFacet extends Facet {
|
||||
|
||||
public static final String NAME = "IdentifierFacet"; // IdentifierFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "This facet collects "
|
||||
+ "information on Identifiers that can be attached to a resource. ";
|
||||
public static final String VERSION = "1.0.1";
|
||||
public static final Map<TypeVersion, String> CHANGELOG = IdentifierFacetImpl.CHANGELOG;
|
||||
|
||||
public static final String VALUE_PROPERTY = "value";
|
||||
public static final String TYPE_PROPERTY = "type";
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.properties.Property;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.JSONSchemaFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.JSONSchemaFacetIm
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#XSD_Schema_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=JSONSchemaFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = JSONSchemaFacet.NAME,
|
||||
description = "rovide a way to store a JSON Schema",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface JSONSchemaFacet extends SchemaFacet {
|
||||
|
||||
public static final String NAME = "JSONSchemaFacet"; // JSONSchemaFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Provide a way to store a JSON Schema";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public Property getContent();
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URL;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.LicenseFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.LicenseFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#License_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=LicenseFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = LicenseFacet.NAME,
|
||||
description = "License information.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface LicenseFacet extends Facet {
|
||||
|
||||
public static final String NAME = "LicenseFacet"; // LicenseFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "License information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public static final String TEXT_URL_PROPERTY = "textURL";
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.LocationFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.LocationFacetImpl
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Location_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=LocationFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = LocationFacet.NAME,
|
||||
description = "Location information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface LocationFacet extends Facet {
|
||||
|
||||
public static final String NAME = "LocationFacet"; // LocationFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Location information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty
|
||||
public String getCountry();
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.MemoryFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.MemoryFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Memory_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=MemoryFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = MemoryFacet.NAME,
|
||||
description = "Memory information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface MemoryFacet extends Facet {
|
||||
|
||||
public static final String NAME = "MemoryFacet"; // MemoryFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Memory information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public enum MemoryUnit {
|
||||
Byte, kB, MB, GB, TB, PB, EB, ZB, YB
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.NetworkingFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.NetworkingFacetIm
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Network_Address_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=NetworkingFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = NetworkingFacet.NAME,
|
||||
description = "Networking information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface NetworkingFacet extends Facet {
|
||||
|
||||
public static final String NAME = "NetworkingFacet"; // NetworkingFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Networking information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public static final String IP_ADDRESS = "IPAddress";
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ import java.util.UUID;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ProvenanceFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -16,11 +19,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.ProvenanceFacetIm
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Provenance_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=ProvenanceFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ProvenanceFacet.NAME,
|
||||
description = "Collect information related with resource lineage/provenance.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ProvenanceFacet extends Facet {
|
||||
|
||||
public static final String NAME = "ProvenanceFacet"; // ProvenanceFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Collect information related with resource lineage/provenance";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public enum Relationship {
|
||||
wasDerivedFrom, wasGeneratedBy /* .... */
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URL;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.SchemaFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.SchemaFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Schema_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=SchemaFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = SchemaFacet.NAME,
|
||||
description = "Provide a way to store a Schema",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface SchemaFacet extends Facet {
|
||||
|
||||
public static final String NAME = "SchemaFacet"; // SchemaFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Provide a way to store a Schema";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public static final String NAME_PROPERTY = "name";
|
||||
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
package org.gcube.resourcemanagement.model.reference.entities.facets;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.ServiceStateFacetImpl;
|
||||
|
||||
|
||||
|
@ -12,10 +15,14 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.ServiceStateFacet
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Service_State_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=ServiceStateFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = ServiceStateFacet.NAME,
|
||||
description = "Service State Information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface ServiceStateFacet extends StateFacet {
|
||||
|
||||
public static final String NAME = "ServiceStateFacet"; // ServiceStateFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "State Information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
|
||||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.SimpleFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -12,10 +15,14 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.SimpleFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Simple_Property_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=SimpleFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = SimpleFacet.NAME,
|
||||
description = "A sort of catch all",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface SimpleFacet extends Facet {
|
||||
|
||||
public static final String NAME = "SimpleFacet"; // SimpleFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "A sort of catch all";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.SimplePropertyFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.SimplePropertyFac
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Simple_Property_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=SimplePropertyFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = SimplePropertyFacet.NAME,
|
||||
description = "Collect name-value property",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface SimplePropertyFacet extends Facet {
|
||||
|
||||
public static final String NAME = "SimplePropertyFacet"; // SimplePropertyFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Collect name-value property";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getName();
|
||||
|
|
|
@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.SoftwareFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -13,11 +16,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.SoftwareFacetImpl
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Software_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=SoftwareFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = SoftwareFacet.NAME,
|
||||
description = "Capture SW related features",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface SoftwareFacet extends Facet, NameProperty {
|
||||
|
||||
public static final String NAME = "SoftwareFacet"; // SoftwareFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Capture SW related features";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
public static final String GROUP_PROPERTY = "group";
|
||||
public static final String VERSION_PROPERTY = "version";
|
||||
|
|
|
@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.Abstract;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.StateFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.StateFacetImpl;
|
|||
*/
|
||||
@Abstract
|
||||
@JsonDeserialize(as=StateFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = StateFacet.NAME,
|
||||
description = "Any resource State Information",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface StateFacet extends Facet {
|
||||
|
||||
public static final String NAME = "StateFacet"; // StateFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "State Information";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getValue();
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.net.URI;
|
|||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.SubjectFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +18,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.SubjectFacetImpl;
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Subject_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=SubjectFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = SubjectFacet.NAME,
|
||||
description = "Collect any \"extent\"-related information.",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface SubjectFacet extends Facet {
|
||||
|
||||
public static final String NAME = "SubjectFacet"; // SubjectFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Collect any \"extent\"-related information.";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getValue();
|
||||
|
|
|
@ -5,6 +5,9 @@ package org.gcube.resourcemanagement.model.reference.entities.facets;
|
|||
|
||||
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import org.gcube.informationsystem.types.annotations.ISProperty;
|
||||
import org.gcube.informationsystem.types.reference.Change;
|
||||
import org.gcube.informationsystem.types.reference.TypeMetadata;
|
||||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
import org.gcube.resourcemanagement.model.impl.entities.facets.XSDSchemaFacetImpl;
|
||||
|
||||
/**
|
||||
|
@ -12,11 +15,15 @@ import org.gcube.resourcemanagement.model.impl.entities.facets.XSDSchemaFacetImp
|
|||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#XSD_Schema_Facet
|
||||
*/
|
||||
@JsonDeserialize(as=XSDSchemaFacetImpl.class)
|
||||
@TypeMetadata(
|
||||
name = XSDSchemaFacet.NAME,
|
||||
description = "Provide a way to store a JSON Schema",
|
||||
version = TypeVersion.MINIMAL_VERSION_STRING
|
||||
)
|
||||
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
|
||||
public interface XSDSchemaFacet extends SchemaFacet {
|
||||
|
||||
public static final String NAME = "XSDSchemaFacet"; // XSDSchemaFacet.class.getSimpleName();
|
||||
public static final String DESCRIPTION = "Provide a way to store a JSON Schema";
|
||||
public static final String VERSION = "1.0.0";
|
||||
|
||||
@ISProperty(mandatory=true, nullable=false)
|
||||
public String getContent();
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
package org.gcube.resourcemanagement.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
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;
|
||||
import org.gcube.informationsystem.base.reference.relations.RelationElement;
|
||||
import org.gcube.informationsystem.types.TypeMapper;
|
||||
import org.gcube.informationsystem.types.reference.Type;
|
||||
import org.gcube.informationsystem.utils.discovery.ElementSpecilizationDiscovery;
|
||||
import org.gcube.informationsystem.utils.discovery.RegistrationProvider;
|
||||
import org.gcube.informationsystem.utils.discovery.SchemaAction;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class ISMDiscoveryTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ISMDiscoveryTest.class);
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
|
||||
List<Package> packages = new ArrayList<Package>();
|
||||
|
||||
Class<Type> tdClz = Type.class;
|
||||
packages.add(tdClz.getPackage());
|
||||
|
||||
AccessType[] accessTypes = AccessType.values();
|
||||
for(AccessType accessType : accessTypes) {
|
||||
Class<Element> clz = accessType.getTypeClass();
|
||||
packages.add(clz.getPackage());
|
||||
}
|
||||
|
||||
ServiceLoader<? extends RegistrationProvider> regsitrationProviders = ServiceLoader
|
||||
.load(RegistrationProvider.class);
|
||||
for(RegistrationProvider registrationProvider : regsitrationProviders) {
|
||||
packages.addAll(registrationProvider.getPackagesToRegister());
|
||||
}
|
||||
|
||||
SchemaAction schemaAction = new SchemaAction() {
|
||||
|
||||
@Override
|
||||
public <R extends RelationElement<? extends EntityElement, ? extends EntityElement>> void manageRelationClass(
|
||||
Class<R> r) throws Exception {
|
||||
Type type = TypeMapper.createTypeDefinition(r);
|
||||
Assert.assertTrue(type.getName().compareTo(r.getSimpleName())==0);
|
||||
logger.debug("{} {}", r.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <P extends PropertyElement> void managePropertyClass(Class<P> p) throws Exception {
|
||||
Type type = TypeMapper.createTypeDefinition(p);
|
||||
Assert.assertTrue(type.getName().compareTo(p.getSimpleName())==0);
|
||||
logger.debug("{} {}", p.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <E extends EntityElement> void manageEntityClass(Class<E> e) throws Exception {
|
||||
Type type = TypeMapper.createTypeDefinition(e);
|
||||
Assert.assertTrue(type.getName().compareTo(e.getSimpleName())==0);
|
||||
logger.debug("{} {}", e.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
ElementSpecilizationDiscovery.manageISM(schemaAction , packages);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue