package org.gcube.informationsystem.utils.documentation.model.entities; import java.util.Set; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.reference.Type; import org.gcube.informationsystem.types.reference.entities.ResourceType; import org.gcube.informationsystem.types.reference.properties.LinkedEntity; import org.gcube.informationsystem.utils.documentation.knowledge.FacetKnowledge; import org.gcube.informationsystem.utils.documentation.knowledge.ResourceKnowledge; import org.gcube.informationsystem.utils.documentation.rst.table.Table; /** * @author Luca Frosini (ISTI - CNR) */ public class ResourceDocumentationGenerator extends EntityDocumentationGenerator { public ResourceDocumentationGenerator(Type type) { super(type,AccessType.RESOURCE); ResourceType rt = (ResourceType) type; FacetKnowledge fk = FacetKnowledge.getInstace(); fk.addAll(rt.getFacets()); ResourceKnowledge rk = ResourceKnowledge.getInstace(); rk.addAll(rt.getResources()); } @Override protected Table getTable() { Table table = new Table(); table.appendRow(getSourceTargetHeadingRow()); table.appendRow(getRowCellSpan("**Facets**", requiredNumberOfColumns)); ResourceType resourceType = (ResourceType) type; FacetKnowledge fk = FacetKnowledge.getInstace(); Set facets = fk.getUsage(resourceType.getName()); addLinkedEntities(table, facets); table.appendRow(getRowCellSpan("**Relations**", requiredNumberOfColumns)); ResourceKnowledge rk = ResourceKnowledge.getInstace(); Set resources = rk.getUsage(resourceType.getName()); addLinkedEntities(table, resources); return table; } }