diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/entities/resources/Site.java b/src/main/java/org/gcube/resourcemanagement/model/reference/entities/resources/Site.java index a4d4b10..c576604 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/entities/resources/Site.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/entities/resources/Site.java @@ -23,6 +23,16 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Hosts; import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsOwnedBy; /** + * Site is a resource representing the location (physical or virtual) hosting the + * resources associated. + * + * Site allows to identify all the services that will be affected by downtime due to a + * scheduled maintenance, as well as the impact on the infrastructure that an accidental + * loss of connectivity could cause. + * + * This resource allows to study and define the replication scenarios or to provide + * an adequate redundancy level to a VRE. + * * @author Luca Frosini (ISTI - CNR) * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Site */ @@ -43,7 +53,13 @@ import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.IsOwne ) @TypeMetadata( name = Site.NAME, - description = "An entity representing the location (physical or virtual) hosting and providing the resources associated with it.", + description = "Site is a resource representing the location (physical or virtual) hosting " + + "the resources associated.\n" + + "Site allows to identify all the services that will be affected by downtime due to a " + + "scheduled maintenance, as well as the impact on the infrastructure that an accidental" + + "loss of connectivity could cause.\n" + + "This resource allows to study and define the replication scenarios or to provide " + + "an adequate redundancy level to a VRE.", version = TypeVersion.MINIMAL_VERSION_STRING ) @Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION) diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Demands.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Demands.java index c10f7aa..a8c32d1 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Demands.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Demands.java @@ -13,7 +13,8 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Software; import org.gcube.resourcemanagement.model.reference.entities.resources.VirtualService; /** - * + * Demands is used to properly support to share a {@link VirtualService} + * with another context. * * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Demands * @@ -22,7 +23,7 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.VirtualSe @JsonDeserialize(as=DemandsImpl.class) @TypeMetadata( name = Demands.NAME, - description = "", + description = "Demands is used to properly support to share a {@link VirtualService} with another context.", version = TypeVersion.MINIMAL_VERSION_STRING ) @Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION) diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Discovers.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Discovers.java index 1e2df0c..e2bdbf4 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Discovers.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Discovers.java @@ -11,7 +11,12 @@ import org.gcube.resourcemanagement.model.impl.relations.isrelatedto.DiscoversIm import org.gcube.resourcemanagement.model.reference.entities.resources.EService; /** + * Any {@link EService} or its specialisations can be related with + * another {@link EService} with Discovers relation. + * Discovers relation inform that the source {@link EService} + * discovers the target through the information system. * + * Discovers relation specialises the semantic of {@link CallsFor}. * * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Discovers * @@ -20,7 +25,11 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.EService; @JsonDeserialize(as=DiscoversImpl.class) @TypeMetadata( name = Discovers.NAME, - description = "", + description = "Any {@link EService} or its specialisations can be related with " + + "another {@link EService} with Discovers relation.\n" + + "Discovers relation inform that the source {@link EService} discovers " + + "the target through the information system." + + "Discovers relation specialise the semantic of {@link CallsFor}.", version = TypeVersion.MINIMAL_VERSION_STRING ) @Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION) diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Hosts.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Hosts.java index 920da83..a484e88 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Hosts.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Hosts.java @@ -9,11 +9,24 @@ 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.relations.isrelatedto.HostsImpl; +import org.gcube.resourcemanagement.model.reference.entities.resources.EService; +import org.gcube.resourcemanagement.model.reference.entities.resources.HostingNode; import org.gcube.resourcemanagement.model.reference.entities.resources.Service; import org.gcube.resourcemanagement.model.reference.entities.resources.Site; +import org.gcube.resourcemanagement.model.reference.entities.resources.VirtualMachine; /** + * Hosts relation is used from a {@link Site} a {@link Service} instance. + * The target of the Hosts relation depends on the service offered by the Site. + * When the resources provided by a site are virtual machines, + * Hosts relation is created from a {@link Site} to a {@link VirtualMachine}. * + * When, instead a Site provides web-services, Hosts relation is created with {@link EService}. + * + * If a site provides container facilities Hosts relation is created with {@link HostingNode}. + * + * By defining Hosts relation with target {@link Service}, the model is capable of representing + * the diverse type of federated systems and service. * * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Hosts * diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Involves.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Involves.java index afaa742..0e67a29 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Involves.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Involves.java @@ -13,7 +13,8 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Actor; import org.gcube.resourcemanagement.model.reference.entities.resources.Dataset; /** - * + * Involves is used to indicate that and {@link Actor} is involved in a + * {@link Dataset}. * * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Involves * diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsOwnedBy.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsOwnedBy.java index 15441c2..147cb3f 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsOwnedBy.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsOwnedBy.java @@ -13,7 +13,10 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Actor; import org.gcube.resourcemanagement.model.reference.entities.resources.Site; /** - * + * Any {@link Site} is owned by an {@link Actor} and this is captured by the IsOwnedBy relation. + * The referenced {@link Actor} can be used as a contact point during an emergency, + * to agree on the scheduling of a site downtime and to request additional resources + * during the downtime of another site. * * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#IsOwnedBy * @@ -22,7 +25,10 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Site; @JsonDeserialize(as=IsOwnedByImpl.class) @TypeMetadata( name = IsOwnedBy.NAME, - description = "", + description = "Any {@link Site} is owned by an {@link Actor} and this is captured by the IsOwnedBy relation.\n" + + "The referenced {@link Actor} can be used as a contact point during an emergency, " + + "to agree on the scheduling of a site downtime and to request additional resources " + + "during the downtime of another site.", version = TypeVersion.MINIMAL_VERSION_STRING ) @Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION) diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsPluginOf.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsPluginOf.java index 36b7f85..9f7dee1 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsPluginOf.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/IsPluginOf.java @@ -12,8 +12,12 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Plugin; import org.gcube.resourcemanagement.model.reference.entities.resources.Software; /** - * - * + * A {@link Plugin} is a piece of Software extending the capabilities of another + * {@link Software} (main) and requiring the main {@link Software} to be executed. + * The relation between the main {@link Software} and the {@link Plugin} is expressed + * by IsPluginOf relation. + * IsPluginOf is an extension of {@link DependsOn}. + * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#IsPluginOf * * @author Luca Frosini (ISTI - CNR) @@ -21,7 +25,11 @@ import org.gcube.resourcemanagement.model.reference.entities.resources.Software; @JsonDeserialize(as = IsPluginOfImpl.class) @TypeMetadata( name = IsPluginOf.NAME, - description = "", + description = "A {@link Plugin} is a piece of Software extending the capabilities of another {@link Software} " + + "(main) and requiring the main {@link Software} to be executed.\n" + + "The relation between the main {@link Software} and the {@link Plugin} " + + "is expressed by IsPluginOf relation.\n" + + "IsPluginOf is an extension of {@link DependsOn}.", version = TypeVersion.MINIMAL_VERSION_STRING ) @Change(version = TypeVersion.MINIMAL_VERSION_STRING, description = TypeVersion.MINIMAL_VERSION_DESCRIPTION) diff --git a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Uses.java b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Uses.java index ef26c70..3ef26c7 100644 --- a/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Uses.java +++ b/src/main/java/org/gcube/resourcemanagement/model/reference/relations/isrelatedto/Uses.java @@ -11,8 +11,11 @@ import org.gcube.resourcemanagement.model.impl.relations.isrelatedto.UsesImpl; import org.gcube.resourcemanagement.model.reference.entities.resources.EService; /** + * Uses relation inform regarding the network invocation of the target + * {@link EService} by the source. * - * + * Uses relation specialises the semantic of {@link CallsFor}. + * https://wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Uses * * @author Luca Frosini (ISTI - CNR)