Added annotation to comply with new way to create type definition

This commit is contained in:
Luca Frosini 2020-12-15 20:06:58 +01:00
parent 68dbf33af6
commit 45901f0a37
18 changed files with 165 additions and 38 deletions

View File

@ -8,6 +8,9 @@ import org.gcube.informationsystem.types.annotations.Abstract;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.ActorImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactReferenceFacet;
@ -33,10 +36,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsOwne
@ResourceSchemaRelatedEntry(source=Site.class, relation=IsOwnedBy.class, target=Actor.class)
}
)
@TypeMetadata(
name = Actor.NAME,
description = "Any entity (human or machine) playing an active role.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Actor extends GCubeResource {
public static final String NAME = "Actor"; // Actor.class.getSimpleName();
public static final String DESCRIPTION = "Any entity (human or machine) playing an active role.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.ConcreteDatasetImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.AccessPointFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
@ -28,10 +31,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsPart
@ResourceSchemaRelatedEntry(source=ConcreteDataset.class, relation=IsPartOf.class, target=Dataset.class, description="The reference to the 'incarnations'/'manifestations' contributing to a dataset."),
}
)
@TypeMetadata(
name = ConcreteDataset.NAME,
description = "Any incarnation/manifestation of a dataset or part of it",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface ConcreteDataset extends Dataset {
public static final String NAME = "ConcreteDataset"; // ConcreteDataset.class.getSimpleName();
public static final String DESCRIPTION = "Any incarnation/manifestation of a dataset or part of it";
public static final String VERSION = "1.0.0";
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.ConfigurationImpl;
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsDerivationOf;
@ -20,10 +23,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsDeri
@ResourceSchemaRelatedEntry(source=Configuration.class, relation=IsDerivationOf.class, target=ConfigurationTemplate.class)
}
)
@TypeMetadata(
name = Configuration.NAME,
description = "An instance of a configuration template characterising the behaviour and shape of the resource it is attached to.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Configuration extends ConfigurationTemplate {
public static final String NAME = "Configuration"; // Configuration.class.getSimpleName();
public static final String DESCRIPTION = "An instance of a configuration template characterising the behaviour and shape of the resource it is attached to.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.ConfigurationTemplateImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.IdentifierFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.SimplePropertyFacet;
@ -31,10 +34,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsDeri
@ResourceSchemaRelatedEntry(source=Software.class, relation=IsConfiguredBy.class, target=ConfigurationTemplate.class),
}
)
@TypeMetadata(
name = ConfigurationTemplate.NAME,
description = "It represents a template for a configuration. It describe how a configuration has to be realized. E.g. Used to define the accounting configuration parameters template.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface ConfigurationTemplate extends GCubeResource {
public static final String NAME = "ConfigurationTemplate"; //ConfigurationTemplate.class.getSimpleName();
public static final String DESCRIPTION = "It represents a template for a configuration. It describe how a configuration has to be realized. E.g. Used to define the accounting configuration parameters template.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.DatasetImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.AccessPointFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
@ -65,10 +68,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Manage
@ResourceSchemaRelatedEntry(source=Service.class, relation=Manages.class, target=Dataset.class, description="The link between the service that 'manages' the dataset and the dataset, e.g. the service that hosts the dataset and give access to it."),
}
)
@TypeMetadata(
name = Dataset.NAME,
description = "Any set of digital objects representing data and treated collectively as a unit.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Dataset extends GCubeResource {
public static final String NAME = "Dataset"; // Dataset.class.getSimpleName();
public static final String DESCRIPTION = "Any set of digital objects representing data and treated collectively as a unit.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.EServiceImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.AccessPointFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.EventFacet;
@ -36,11 +39,15 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Uses;
@ResourceSchemaRelatedEntry(source=EService.class, relation=Uses.class, target=EService.class, description="A reference to any other EService, the EService instance is invoking.")
}
)
@TypeMetadata(
name = EService.NAME,
description = "Any Electronic Service (aka Running Service) that is registered in the infrastructure and made available by an Access Point.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface EService extends Service {
public static final String NAME = "EService"; // EService.class.getSimpleName();
public static final String DESCRIPTION = "Any Electronic Service (aka Running Service) that is registered in the infrastructure and made available by an Access Point.";
public static final String VERSION = "1.0.0";
public static EService getInstance() {
return new EServiceImpl();

View File

@ -9,6 +9,9 @@ import org.gcube.informationsystem.model.reference.entities.Resource;
import org.gcube.informationsystem.types.annotations.Abstract;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
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.resources.GCubeResourceImpl;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy;
@ -22,15 +25,17 @@ import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdent
@ResourceSchemaEntry(relation=IsIdentifiedBy.class, min=1, description=" Any Resource has at least one Facet which in some way allow to identify the Resource per se.")
}
)
@TypeMetadata(
name = GCubeResource.NAME,
description = "Base Class for any gCube Resource",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface GCubeResource extends Resource {
public static final String NAME = "GCubeResource"; // GCubeResource.class.getSimpleName();
public static final String DESCRIPTION = "Base Class for any gCube Resource";
public static final String VERSION = "1.0.0";
@JsonIgnore
public List<? extends Facet> getIdentificationFacets();
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
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.resources.HostingNodeImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.CPUFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContainerStateFacet;
@ -35,10 +38,14 @@ import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdent
@ResourceSchemaEntry(facet=SoftwareFacet.class, description=" Any Software characterising the Hosting Node. Useful to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System")
}
)
@TypeMetadata(
name = HostingNode.NAME,
description = "The HostingNode represent a container capable of managing the lifecycle of an electronic service, i.e., being capable to host and operate an EService.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface HostingNode extends Service {
public static final String NAME = "HostingNode"; //HostingNode.class.getSimpleName();
public static final String DESCRIPTION = "The HostingNode represent a container capable of managing the lifecycle of an electronic service, i.e., being capable to host and operate an EService.";
public static final String VERSION = "1.0.0";
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.LegalBodyImpl;
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.BelongsTo;
@ -20,10 +23,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Belong
@ResourceSchemaRelatedEntry(source=Person.class, relation=BelongsTo.class, target=LegalBody.class)
}
)
@TypeMetadata(
name = LegalBody.NAME,
description = "A legal entity playing the role of an Actor.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface LegalBody extends Actor {
public static final String NAME = "LegalBody"; // LegalBody.class.getSimpleName();
public static final String DESCRIPTION = "A legal entity playing the role of an Actor.";
public static final String VERSION = "1.0.0";
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.PersonImpl;
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.BelongsTo;
@ -19,10 +22,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Belong
@ResourceSchemaRelatedEntry(source = Person.class, relation = BelongsTo.class, target = LegalBody.class)
}
)
@TypeMetadata(
name = Person.NAME,
description = "Any human playing the role of Actor.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Person extends Actor {
public static final String NAME = "Person"; // Person.class.getSimpleName();
public static final String DESCRIPTION = "Any human playing the role of Actor.";
public static final String VERSION = "1.0.0";
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.PluginImpl;
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsPluginOf;
@ -20,9 +23,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsPlug
@ResourceSchemaRelatedEntry(source=Plugin.class, relation=IsPluginOf.class, target=Software.class, description="A reference to the Software this Plugin is conceived to extend the capabilities.")
}
)
@TypeMetadata(
name = Plugin.NAME,
description = "Collect Plugin information through the list of its facets.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Plugin extends Software {
public static final String NAME = "Plugin"; // Plugin.class.getSimpleName();
public static final String DESCRIPTION = "Collect Plugin information through the list of its facets";
public static final String VERSION = "1.0.0";
}

View File

@ -4,6 +4,9 @@
package org.gcube.resourcemanagement.model.reference.entities.resources;
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.resources.RunningPluginImpl;
/**
@ -11,10 +14,14 @@ import org.gcube.resourcemanagement.model.impl.entities.resources.RunningPluginI
* https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Running_Plugin
*/
@JsonDeserialize(as=RunningPluginImpl.class)
@TypeMetadata(
name = RunningPlugin.NAME,
description = "Any instance of a Plugin deployed and running by an EService.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface RunningPlugin extends EService {
public static final String NAME = "RunningPlugin"; // RunningPlugin.class.getSimpleName();
public static final String DESCRIPTION = "Any instance of a Plugin deployed and running by an EService.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.SchemaImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.DescriptiveMetadataFacet;
@ -36,9 +39,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsComp
@ResourceSchemaRelatedEntry(source=Dataset.class, relation=IsCompliantWith.class, target=Schema.class, description="Any schema characterising the content of the dataset, e.g. the schema describing the 'columns' of a CSV-based dataset.")
}
)
@TypeMetadata(
name = Schema.NAME,
description = "Any reference schema to be used to specify values compliant with it. Examples include controlled vocabularies, ontologies, etc.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Schema extends GCubeResource {
public static final String NAME = "Schema"; // Schema.class.getSimpleName();
public static final String DESCRIPTION = "Any reference schema to be used to specify values compliant with it. Examples include controlled vocabularies, ontologies, etc.";
public static final String VERSION = "1.0.0";
}

View File

@ -8,6 +8,9 @@ import org.gcube.informationsystem.types.annotations.Abstract;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.ServiceImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.CapabilityFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.DescriptiveMetadataFacet;
@ -40,10 +43,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Requir
@ResourceSchemaRelatedEntry(source=Service.class, relation=Requires.class, target=Service.class, description="A reference to any Service needed by a Software to properly operate, e.g. this can be used to capture a sort of run-time requirements between a software component and the Service it needs.")
}
)
@TypeMetadata(
name = Service.NAME,
description = "An abstract entity to represent any typology of Service worth registering in the infrastructure.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Service extends GCubeResource {
public static final String NAME = "Service"; // Service.class.getSimpleName();
public static final String DESCRIPTION = "An abstract entity to represent any typology of Service worth registering in the infrastructure.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.SiteImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.IdentifierFacet;
@ -38,10 +41,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsOwne
@ResourceSchemaRelatedEntry(source=Site.class, relation=Hosts.class, target=Service.class)
}
)
@TypeMetadata(
name = Site.NAME,
description = "An entity representing the location (physical or virtual) hosting and providing the resources associated with it.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Site extends GCubeResource {
public static final String NAME = "Site"; // Site.class.getSimpleName();
public static final String DESCRIPTION = "An entity representing the location (physical or virtual) hosting and providing the resources associated with it.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.SoftwareImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.CapabilityFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.SoftwareFacet;
@ -36,10 +39,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Requir
@ResourceSchemaRelatedEntry(source=Plugin.class, relation=IsPluginOf.class, target=Software.class, description="To capture the relation between a Software and its Plugins.")
}
)
@TypeMetadata(
name = Software.NAME,
description = "Any Software entity worth being represented for management purposes.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface Software extends GCubeResource {
public static final String NAME = "Software"; // Software.class.getSimpleName();
public static final String DESCRIPTION = "Any Software entity worth being represented for management purposes.";
public static final String VERSION = "1.0.0";
}

View File

@ -6,6 +6,9 @@ package org.gcube.resourcemanagement.model.reference.entities.resources;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
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.resources.VirtualMachineImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.CPUFacet;
import org.gcube.resourcemanagement.model.reference.entities.facets.EventFacet;
@ -33,10 +36,14 @@ import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdent
@ResourceSchemaEntry(facet=SoftwareFacet.class, description=" Any Software characterising the Virtual Machine. Useful to report the hosted software that are not registered in the Resource Registry as Software Resource, e.g. Operating System")
}
)
@TypeMetadata(
name = VirtualMachine.NAME,
description = "A Virtual Machine is an emulation of a physical computer which appears to the running operative system as real hardware.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface VirtualMachine extends Service {
public static final String NAME = "VirtualMachine"; //VirtualMachine.class.getSimpleName();
public static final String DESCRIPTION = "A Virtual Machine is an emulation of a physical computer which appears to the running operative system as real hardware.";
public static final String VERSION = "1.0.0";
}

View File

@ -7,6 +7,9 @@ import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.gcube.informationsystem.types.annotations.ResourceSchema;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry;
import org.gcube.informationsystem.types.annotations.ResourceSchemaRelatedEntry;
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.resources.VirtualServiceImpl;
import org.gcube.resourcemanagement.model.reference.entities.facets.SoftwareFacet;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy;
@ -25,9 +28,14 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Demand
@ResourceSchemaRelatedEntry(source=VirtualService.class, relation=Demands.class, target=Software.class)
}
)
@TypeMetadata(
name = VirtualService.NAME,
description = "An abstract service (non physically existing service) worth being represented as an existing Service for management purposes. Examples of usage include cases where classes or set of services are to be managed like an existing unit.",
version = TypeVersion.MINIMAL_VERSION_STRING
)
@Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION)
public interface VirtualService extends Service {
public static final String NAME = "VirtualService"; // VirtualService.class.getSimpleName();
public static final String DESCRIPTION = "An abstract service (non physically existing service) worth being represented as an existing Service for management purposes. Examples of usage include cases where classes or set of services are to be managed like an existing unit.";
public static final String VERSION = "1.0.0";
}