diff --git a/is-model.rst b/is-model.rst deleted file mode 100644 index f148854..0000000 --- a/is-model.rst +++ /dev/null @@ -1,277 +0,0 @@ - -######## -Property -######## - -This is the base type for any Property - - -.. table:: **Property** - - +------------------------------------------------------+------+------------+-------------+ - | Name | Type | Attributes | Description | - +======================================================+======+============+=============+ - | This type does not define any additional attributes. | - +------------------------------------------------------+------+------------+-------------+ - - -The **Property** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -###### -Entity -###### - -This is the base type for any Entity - - -.. table:: **Entity** - - +------------+----------+--------------------------------------------------------+--------------------------------------------------------------------------------------------+ - | Properties | - +============+==========+========================================================+============================================================================================+ - | **Name** | **Type** | **Attributes** | **Description** | - +------------+----------+--------------------------------------------------------+--------------------------------------------------------------------------------------------+ - | header | Header | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` | Metadata associated with the instance that is automatically created/updated by the system. | - +------------+----------+--------------------------------------------------------+--------------------------------------------------------------------------------------------+ - - -The **Entity** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -******** -Resource -******** - -This is the base type for any Resource - - -.. table:: **Resource** ``extends`` **Entity** - - +------------------------+-------------+--------------+----------+----------------------------------------------------------------------------------------------------+ - | Source | Relation | Multiplicity | Target | Description | - +========================+=============+==============+==========+====================================================================================================+ - | **Facets** | - +------------------------+-------------+--------------+----------+----------------------------------------------------------------------------------------------------+ - | Resource | ConsistsOf | 1..n | Facet | Any Resource consists of one or more Facets which describes the different aspects of the resource. | - +------------------------+-------------+--------------+----------+----------------------------------------------------------------------------------------------------+ - | **Resource Relations** | - +------------------------+-------------+--------------+----------+----------------------------------------------------------------------------------------------------+ - | Resource | IsRelatedTo | 0..n | Resource | Any Resource can be related to any other resource. | - +------------------------+-------------+--------------+----------+----------------------------------------------------------------------------------------------------+ - - -The **Resource** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -***** -Facet -***** - -This is the base type for any Facet - - -.. table:: **Facet** ``extends`` **Entity** - - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | Properties | - +======================================================+================+==================+=================+====================================================================================================+ - | **Name** | **Type** | **Attributes** | **Description** | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | This type does not define any additional attributes. | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | **Known Usage** | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | GCubeResource | IsIdentifiedBy | 1..1 | Facet | Any Resource has at least one Facet which in some way allow to identify the Resource per se. | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - | Resource | ConsistsOf | 1..n | Facet | Any Resource consists of one or more Facets which describes the different aspects of the resource. | - +------------------------------------------------------+----------------+------------------+-----------------+----------------------------------------------------------------------------------------------------+ - - -The **Facet** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -######## -Relation -######## - -This is the base type for any Relation - - -.. table:: **Relation** - - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - | **Definition** | - +=======================+=======================+==========================================================+=================+========================================+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - | Resource | Relation | 0..n | Entity | This is the base type for any Relation | - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - | **Properties** | - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - | **Name** | **Type** | **Attributes** | **Description** | - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - | propagationConstraint | PropagationConstraint | ``Mandatory:false`` ``ReadOnly:false`` ``NotNull:false`` | | - +-----------------------+-----------------------+----------------------------------------------------------+-----------------+----------------------------------------+ - - -The **Relation** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -********** -ConsistsOf -********** - -This is the base type for any ConsistsOf relation - - -.. table:: **ConsistsOf** ``extends`` **Relation** - - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **Definition** | - +======================================================+==============+==================+==========================+=====================================================================================================================================================================================+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Resource | ConsistsOf | 0..n | Facet | This is the base type for any ConsistsOf relation | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **Properties** | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **Name** | **Type** | **Attributes** | **Description** | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | This type does not define any additional attributes. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **Known Usage** | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Actor | ConsistsOf | 0..n | ContactReferenceFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | ConcreteDataset | ConsistsOf | 1..n | AccessPointFacet | The access point to use for having access to the concrete dataset. The embargoState can be modeled through the access policy defined in the consistsOf relation. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | AccessPointFacet | The access point to use for having access to the dataset. The embargoState can be modeled through the access policy defined in the consistsOf relation. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | DescriptiveMetadataFacet | Any descriptive information associated with the dataset, e.g. for discovery purposes. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | EventFacet | Any 'event' characterising the lifecycle of the dataset, e.g. collection date, last collection date. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | LicenseFacet | The licence governing dataset exploitation. The duration of license (if any) is captured by the expiry date defined in the consistsOf relation. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | ProvenanceFacet | Any provenance record associated with the dataset. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Dataset | ConsistsOf | 0..n | SubjectFacet | Any subject/tag associated with the dataset for descriptive and discovery purposes. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | EService | ConsistsOf | 1..n | AccessPointFacet | Identify the endpoints of the EService. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | EService | ConsistsOf | 1..n | EventFacet | Events characterising the current status and lifecycle of the service, e.g. ActivationTime, DeploymentTime. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | EService | ConsistsOf | 0..n | LicenseFacet | The specific terms of use governing the exploitation of the EService. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | EService | ConsistsOf | 0..n | SoftwareFacet | Software available in the EService environment that characterizes the specific EService instance. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | EService | ConsistsOf | 1..1 | StateFacet | The current status of the EService, e.g. STARTED, ready, down, failed. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | HostingNode | ConsistsOf | 1..n | CPUFacet | The CPU equipping the Hosting Node. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | HostingNode | ConsistsOf | 1..n | EventFacet | Every event characterizing the life cycle of the Hosting Node, e.g. the activation time. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | HostingNode | ConsistsOf | 0..n | SimplePropertyFacet | Any pair property worth associating with the Hosting Node, e.g. Environment Variables | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | HostingNode | ConsistsOf | 0..n | SoftwareFacet | 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 | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | HostingNode | ConsistsOf | 1..1 | StateFacet | The current state of the Hosting Node, e.g. started, ready, certified, down, failed. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Resource | ConsistsOf | 1..n | Facet | Any Resource consists of one or more Facets which describes the different aspects of the resource. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Schema | ConsistsOf | 0..n | DescriptiveMetadataFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Schema | ConsistsOf | 0..n | SubjectFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Service | ConsistsOf | 0..n | CapabilityFacet | Any facility supported/offered by the Service. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Service | ConsistsOf | 0..n | DescriptiveMetadataFacet | Any descriptive information associated with the service, e.g. for discovery purposes. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Service | ConsistsOf | 0..n | SubjectFacet | Any subject/tag associated with the service for descriptive, cataloguing and discovery purposes. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Site | ConsistsOf | 1..n | LocationFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Site | ConsistsOf | 1..n | NetworkingFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Software | ConsistsOf | 0..n | CapabilityFacet | | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Software | ConsistsOf | 1..n | SoftwareFacet | Apart the one connected by the IsIdentifiedBy relation (gCube coordinates) the others identify the software in other way e.g. (Maven coordinates). | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | VirtualMachine | ConsistsOf | 1..n | CPUFacet | The CPU equipping the Virtual Machine. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | VirtualMachine | ConsistsOf | 1..n | EventFacet | Every event characterizing the life cycle of the Virtual Machine, e.g. the activation time. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | VirtualMachine | ConsistsOf | 0..n | SoftwareFacet | 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 | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | VirtualMachine | ConsistsOf | 1..1 | StateFacet | The current state of the Virtual Machine, e.g. started, ready, down, unreachable. | - +------------------------------------------------------+--------------+------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - - -The **ConsistsOf** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - - -*********** -IsRelatedTo -*********** - -This is the base type for any IsRelatedTo relation - - -.. table:: **IsRelatedTo** ``extends`` **Relation** - - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | **Definition** | - +======================================================+==============+==================+=================+====================================================+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | Resource | IsRelatedTo | 0..n | Resource | This is the base type for any IsRelatedTo relation | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | **Properties** | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | **Name** | **Type** | **Attributes** | **Description** | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | This type does not define any additional attributes. | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | **Known Usage** | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - | Resource | IsRelatedTo | 0..n | Resource | Any Resource can be related to any other resource. | - +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------+ - - -The **IsRelatedTo** current version is 1.0.0. - -Changelog: - -* **1.0.0**: First Version. - diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/generator/Generator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/generator/Generator.java index f8f50e4..8854609 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/generator/Generator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/generator/Generator.java @@ -78,30 +78,37 @@ public class Generator { switch (type.getAccessType()) { case PROPERTY: dg = new PropertyDocumentationGenerator(type); + dg.setLevel(0); break; case ENTITY: dg = new EntityDocumentationGenerator(type); + dg.setLevel(0); break; case RESOURCE: dg = new ResourceDocumentationGenerator(type); + dg.setLevel(1); break; case FACET: dg = new FacetDocumentationGenerator(type); + dg.setLevel(1); break; case RELATION: dg = new RelationDocumentationGenerator(type); + dg.setLevel(0); break; case IS_RELATED_TO: dg = new IsRelatedToDocumentationGenerator(type); + dg.setLevel(1); break; case CONSISTS_OF: dg = new ConsistsOfDocumentationGenerator(type); + dg.setLevel(1); break; default: diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/generator/TreeGenerator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/generator/TreeGenerator.java index 9ca4c52..fcdd57e 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/generator/TreeGenerator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/generator/TreeGenerator.java @@ -3,10 +3,16 @@ package org.gcube.informationsystem.utils.documentation.generator; import java.io.File; import java.nio.file.Files; import java.nio.file.StandardOpenOption; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.TreeMap; import org.gcube.informationsystem.base.reference.AccessType; +import org.gcube.informationsystem.model.reference.properties.Encrypted; +import org.gcube.informationsystem.model.reference.properties.Header; +import org.gcube.informationsystem.model.reference.properties.PropagationConstraint; +import org.gcube.informationsystem.model.reference.properties.Property; import org.gcube.informationsystem.types.TypeMapper; import org.gcube.informationsystem.types.reference.Type; import org.gcube.informationsystem.utils.documentation.knowledge.Node; @@ -90,6 +96,14 @@ public class TreeGenerator extends Generator { switch (at) { case PROPERTY: file = getFile(PROPERTIES_FILENAME, true); + List> classes = new ArrayList<>(); + classes.add(Header.class); + classes.add(Encrypted.class); + classes.add(PropagationConstraint.class); + for(Class clz : classes) { + Type t = TypeMapper.createTypeDefinition(clz); + writeTypeToFile(t, is, 1); + } break; case ENTITY: