Fixed authorship
This commit is contained in:
parent
c507a063c6
commit
af24bde831
|
@ -44,9 +44,9 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* Enumerates the basic type names.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public enum AccessType {
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@ package org.gcube.informationsystem.base.reference;
|
|||
import org.gcube.informationsystem.model.reference.properties.Header;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* This interfaces is an helper to identify elements could be identified via {@link Header}
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public interface IdentifiableElement extends Element {
|
||||
|
||||
|
|
|
@ -3,10 +3,10 @@ package org.gcube.informationsystem.base.reference;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* This interfaces is an helper to identify elements supporting Schema Mixed.
|
||||
* i.e. elements which instances could have additional properties in respect to the ones defined in the schema
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public interface SchemaMixedElement extends Element {
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* Root Class for Property types.
|
||||
* It creates a base common type, which is useful for management purpose.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as=PropertyElementImpl.class)
|
||||
@TypeMetadata(name = PropertyElement.NAME, description = "This is the base class for any PropertyElement", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -20,9 +20,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR) This Entity is for internal use only
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Context
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as = ContextImpl.class)
|
||||
@TypeMetadata(name = Context.NAME, description = "This class is the used to define a Context", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -15,9 +15,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#IsParentOf
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#isParentOf
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as = IsParentOfImpl.class)
|
||||
@TypeMetadata(name = IsParentOf.NAME, description = "This class is the used to define parental relations between Context", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -10,9 +10,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Entity
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Basic_Concepts
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Abstract
|
||||
//@JsonDeserialize(as=EntityImpl.class) Do not uncomment to manage subclasses
|
||||
|
|
|
@ -15,7 +15,7 @@ import org.gcube.informationsystem.utils.TypeVersion;
|
|||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Facets
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Facet
|
||||
*/
|
||||
@Abstract
|
||||
// @JsonDeserialize(as=FacetImpl.class) Do not uncomment to manage subclasses
|
||||
|
|
|
@ -19,9 +19,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Resources
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Abstract
|
||||
@JsonIgnoreProperties(ignoreUnknown=true)
|
||||
|
|
|
@ -16,9 +16,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Header
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as=HeaderImpl.class)
|
||||
@TypeMetadata(name = Header.NAME, description = "This class provides metadata per every IdentifiableElement", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -11,8 +11,6 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* At any time entities and relations can be added or removed to/from a context or deleted.
|
||||
* The PropagationConstraint property contained in each relation is a predefined Property type
|
||||
* which indicates the behaviour to be held on a target entity when an event related to a context occurs
|
||||
|
@ -23,6 +21,8 @@ import org.gcube.informationsystem.utils.TypeVersion;
|
|||
* - ConsistsOf : remove=cascadeWhenOrphan, add=propagate.
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Propagation_Constraint
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as=PropagationConstraintImpl.class)
|
||||
@TypeMetadata(name = PropagationConstraint.NAME, description = "This class provides propation constraint for Relation", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -18,10 +18,10 @@ import org.gcube.informationsystem.utils.AdditionalPropertiesSerializer;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* Root Class for Property types.
|
||||
* It creates a base common type, which is useful for management purpose.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
// @JsonIgnoreProperties(ignoreUnknown=true)
|
||||
@JsonDeserialize(as=PropertyImpl.class)
|
||||
|
|
|
@ -12,9 +12,9 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#ConsistsOf
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as=ConsistsOfImpl.class)
|
||||
@TypeMetadata(name = ConsistsOf.NAME, description = "This is the base class for ConsistsOf relations", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -26,7 +26,7 @@ import org.gcube.informationsystem.utils.TypeVersion;
|
|||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Relations
|
||||
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Relation
|
||||
*/
|
||||
@Abstract
|
||||
// @JsonDeserialize(as=RelationImpl.class) Do not uncomment to manage subclasses
|
||||
|
|
|
@ -9,13 +9,13 @@ import org.gcube.informationsystem.model.reference.entities.Entity;
|
|||
import org.gcube.informationsystem.model.reference.relations.Relation;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* It indicates that the {@link Entity} or the {@link Relation} is abstract and
|
||||
* cannot be instantiated.
|
||||
* This is needed because the type definition is made with interface so that
|
||||
* even used the java abstract keyword is useless because it cannot be retrieved
|
||||
* using reflection (interfaces are always abstract)
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
@ -11,12 +11,12 @@ import org.gcube.informationsystem.types.TypeMapper;
|
|||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* It is used by {@link TypeMapper} to identify which getter method are
|
||||
* related to and {@link Entity} {@link PropertyDefinition}.
|
||||
* The name of the property is obtained by removing "get" or "is" from method
|
||||
* name and lower casing the first letter.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Documented
|
||||
@Target(ElementType.METHOD)
|
||||
|
|
|
@ -13,12 +13,12 @@ import org.gcube.informationsystem.types.TypeMapper;
|
|||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* It is used by {@link TypeMapper} to identify which getter method are
|
||||
* related to and {@link Entity} {@link PropertyDefinition}.
|
||||
* The name of the property is obtained by removing "get" or "is" from method
|
||||
* name and lower casing the first letter.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
@ -13,12 +13,12 @@ import org.gcube.informationsystem.types.TypeMapper;
|
|||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* It is used by {@link TypeMapper} to identify which getter method are
|
||||
* related to and {@link Entity} {@link PropertyDefinition}.
|
||||
* The name of the property is obtained by removing "get" or "is" from method
|
||||
* name and lower casing the first letter.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
@ -9,11 +9,11 @@ import org.gcube.informationsystem.types.reference.TypeMetadata;
|
|||
import org.gcube.informationsystem.utils.TypeVersion;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* A convenient type to define a Resource in terms of:
|
||||
* - mandatory/recommended ConsistsOf->Facets;
|
||||
* - suggested IsRelatedTo->Resource.
|
||||
* - suggested IsRelatedTo->Resource.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
@JsonDeserialize(as=LinkedEntityImpl.class)
|
||||
@TypeMetadata(name = LinkedEntity.NAME, description = " A convenient type to define a Resource in terms of: mandatory/recommended ConsistsOf->Facets; uggested IsRelatedTo->Resource.", version = TypeVersion.MINIMAL_VERSION_STRING)
|
||||
|
|
|
@ -5,13 +5,13 @@ import java.util.regex.Pattern;
|
|||
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* A class representing and validating a version in the following format X.X.X (Major.Minor.Revision)
|
||||
* Each part is an integer with no trailing zeros (e.g 1 and not 01).
|
||||
* The version is validated by the regex defined in the static field {@link TypeVersion#TYPE_VERSION_REGEX}
|
||||
*
|
||||
* Accepted initial version is {@link TypeVersion#MINIMAL_VERSION_STRING}
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class TypeVersion implements Comparable<TypeVersion> {
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@ package org.gcube.informationsystem.utils.discovery;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
* Any model which requires to register the defined types from marshalling and unmarshalling
|
||||
* must implement this interface returning the list of packages containing the interfaces
|
||||
* representing the model.
|
||||
*
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public interface RegistrationProvider {
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ package org.gcube.informationsystem.utils;
|
|||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class TypeVersionTest {
|
||||
|
||||
String[] validVersions = new String[] {"1.0.0", "13.23.45", "1.12.3"};
|
||||
|
|
Loading…
Reference in New Issue