Improving solution
This commit is contained in:
parent
8a6f0f916f
commit
03859306e8
|
@ -0,0 +1,57 @@
|
||||||
|
package org.gcube.informationsystem.utils.documentation.knowledge;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
||||||
|
|
||||||
|
public class FacetKnowledge {
|
||||||
|
|
||||||
|
private static FacetKnowledge singleton;
|
||||||
|
|
||||||
|
public static FacetKnowledge getInstace() {
|
||||||
|
if(FacetKnowledge.singleton==null) {
|
||||||
|
FacetKnowledge.singleton = new FacetKnowledge();
|
||||||
|
}
|
||||||
|
return FacetKnowledge.singleton;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Map<String, Set<LinkedEntity>> map;
|
||||||
|
|
||||||
|
private FacetKnowledge(){
|
||||||
|
this.map = new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void add(String typeName, LinkedEntity linkedEntity) {
|
||||||
|
Set<LinkedEntity> list = map.get(typeName);
|
||||||
|
if(list==null) {
|
||||||
|
list = new TreeSet<>();
|
||||||
|
map.put(typeName, list);
|
||||||
|
}
|
||||||
|
list.add(linkedEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(LinkedEntity linkedEntity) {
|
||||||
|
String source = linkedEntity.getSource();
|
||||||
|
add(source, linkedEntity);
|
||||||
|
String relation = linkedEntity.getRelation();
|
||||||
|
add(relation, linkedEntity);
|
||||||
|
String target = linkedEntity.getTarget();
|
||||||
|
add(target, linkedEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addAll(Collection<LinkedEntity> linkedEntities) {
|
||||||
|
for(LinkedEntity le : linkedEntities) {
|
||||||
|
add(le);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<LinkedEntity> getUsage(String typeName){
|
||||||
|
Set<LinkedEntity> list = map.get(typeName);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,33 +1,34 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.knowledge;
|
package org.gcube.informationsystem.utils.documentation.knowledge;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
||||||
|
|
||||||
public class Knowledge {
|
public class ResourceKnowledge {
|
||||||
|
|
||||||
private static Knowledge singleton;
|
private static ResourceKnowledge singleton;
|
||||||
|
|
||||||
public static Knowledge getInstace() {
|
public static ResourceKnowledge getInstace() {
|
||||||
if(Knowledge.singleton==null) {
|
if(ResourceKnowledge.singleton==null) {
|
||||||
Knowledge.singleton = new Knowledge();
|
ResourceKnowledge.singleton = new ResourceKnowledge();
|
||||||
}
|
}
|
||||||
return Knowledge.singleton;
|
return ResourceKnowledge.singleton;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Map<String, List<LinkedEntity>> map;
|
protected Map<String, Set<LinkedEntity>> map;
|
||||||
|
|
||||||
private Knowledge(){
|
private ResourceKnowledge(){
|
||||||
this.map = new LinkedHashMap<>();
|
this.map = new LinkedHashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void add(String typeName, LinkedEntity linkedEntity) {
|
protected void add(String typeName, LinkedEntity linkedEntity) {
|
||||||
List<LinkedEntity> list = map.get(typeName);
|
Set<LinkedEntity> list = map.get(typeName);
|
||||||
if(list==null) {
|
if(list==null) {
|
||||||
list = new ArrayList<>();
|
list = new TreeSet<>();
|
||||||
map.put(typeName, list);
|
map.put(typeName, list);
|
||||||
}
|
}
|
||||||
list.add(linkedEntity);
|
list.add(linkedEntity);
|
||||||
|
@ -48,8 +49,8 @@ public class Knowledge {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<LinkedEntity> getUsage(String typeName){
|
public Set<LinkedEntity> getUsage(String typeName){
|
||||||
List<LinkedEntity> list = map.get(typeName);
|
Set<LinkedEntity> list = map.get(typeName);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model;
|
package org.gcube.informationsystem.utils.documentation.model;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.Collection;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -153,40 +154,45 @@ public abstract class DocumentationGenerator {
|
||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Table addLinkedEntities(Table table, List<LinkedEntity> entities) {
|
protected Row getLinkedEntityrow(LinkedEntity linkedEntity) {
|
||||||
|
Row row = new Row(RowType.NORMAL);
|
||||||
|
Cell source = new Cell();
|
||||||
|
source.setText(linkedEntity.getSource());
|
||||||
|
row.appendCell(source);
|
||||||
|
|
||||||
|
Cell relation = new Cell();
|
||||||
|
relation.setText(linkedEntity.getRelation());
|
||||||
|
row.appendCell(relation);
|
||||||
|
|
||||||
|
Cell multiplicity = new Cell();
|
||||||
|
StringBuffer buffer = new StringBuffer();
|
||||||
|
Integer min = linkedEntity.getMin();
|
||||||
|
buffer.append(min==null? "0" : min.toString());
|
||||||
|
buffer.append("..");
|
||||||
|
Integer max = linkedEntity.getMax();
|
||||||
|
buffer.append(max==null? "n" : max.toString());
|
||||||
|
multiplicity.setText(buffer.toString());
|
||||||
|
row.appendCell(multiplicity);
|
||||||
|
|
||||||
|
Cell target = new Cell();
|
||||||
|
target.setText(linkedEntity.getTarget());
|
||||||
|
row.appendCell(target);
|
||||||
|
|
||||||
|
Cell description = new Cell();
|
||||||
|
description.setText(linkedEntity.getDescription());
|
||||||
|
row.appendCell(description);
|
||||||
|
|
||||||
|
for(int i=row.getCells().size(); i<requiredNumberOfColumns; i++) {
|
||||||
|
row.appendCell(description);
|
||||||
|
}
|
||||||
|
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Table addLinkedEntities(Table table, Collection<LinkedEntity> entities) {
|
||||||
if(entities!=null) {
|
if(entities!=null) {
|
||||||
for(LinkedEntity entity : entities) {
|
for(LinkedEntity entity : entities) {
|
||||||
Row row = new Row(RowType.NORMAL);
|
Row row = getLinkedEntityrow(entity);
|
||||||
Cell source = new Cell();
|
|
||||||
source.setText(entity.getSource());
|
|
||||||
row.appendCell(source);
|
|
||||||
|
|
||||||
Cell relation = new Cell();
|
|
||||||
relation.setText(entity.getRelation());
|
|
||||||
row.appendCell(relation);
|
|
||||||
|
|
||||||
Cell multiplicity = new Cell();
|
|
||||||
StringBuffer buffer = new StringBuffer();
|
|
||||||
Integer min = entity.getMin();
|
|
||||||
buffer.append(min==null? "0" : min.toString());
|
|
||||||
buffer.append("..");
|
|
||||||
Integer max = entity.getMax();
|
|
||||||
buffer.append(max==null? "n" : max.toString());
|
|
||||||
multiplicity.setText(buffer.toString());
|
|
||||||
row.appendCell(multiplicity);
|
|
||||||
|
|
||||||
Cell target = new Cell();
|
|
||||||
target.setText(entity.getTarget());
|
|
||||||
row.appendCell(target);
|
|
||||||
|
|
||||||
Cell description = new Cell();
|
|
||||||
description.setText(entity.getDescription());
|
|
||||||
row.appendCell(description);
|
|
||||||
|
|
||||||
for(int i=row.getCells().size(); i<requiredNumberOfColumns; i++) {
|
|
||||||
row.appendCell(description);
|
|
||||||
}
|
|
||||||
|
|
||||||
table.appendRow(row);
|
table.appendRow(row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -267,6 +273,29 @@ public abstract class DocumentationGenerator {
|
||||||
return addCellSpanToRow(row, content, cellSpan);
|
return addCellSpanToRow(row, content, cellSpan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Table addPropertyRows(Table table, Set<PropertyDefinition> properties) {
|
||||||
|
table.appendRow(getPropertyFieldsBoldRow());
|
||||||
|
if(properties!=null && properties.size()>0) {
|
||||||
|
Set<PropertyDefinition> notMandatoryProperties = new HashSet<>();
|
||||||
|
for(PropertyDefinition propertyDefinition : properties) {
|
||||||
|
if(propertyDefinition.isMandatory()) {
|
||||||
|
/*
|
||||||
|
* Adding Mandatory properties first in the table
|
||||||
|
*/
|
||||||
|
table.appendRow(getPropertyRow(propertyDefinition));
|
||||||
|
}else {
|
||||||
|
notMandatoryProperties.add(propertyDefinition);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(PropertyDefinition propertyDefinition : notMandatoryProperties) {
|
||||||
|
table.appendRow(getPropertyRow(propertyDefinition));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
table.appendRow(getNoPropertyRow());
|
||||||
|
}
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* E.g. GCubeProperty extends Property
|
* E.g. GCubeProperty extends Property
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model.entities;
|
package org.gcube.informationsystem.utils.documentation.model.entities;
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
||||||
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||||
import org.gcube.informationsystem.utils.documentation.knowledge.Knowledge;
|
import org.gcube.informationsystem.utils.documentation.knowledge.FacetKnowledge;
|
||||||
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,32 +22,14 @@ public class FacetDocumentationGenerator extends EntityDocumentationGenerator {
|
||||||
protected Table getTable() {
|
protected Table getTable() {
|
||||||
Table table = new Table();
|
Table table = new Table();
|
||||||
table.appendRow(getEntityHeadingRow());
|
table.appendRow(getEntityHeadingRow());
|
||||||
table.appendRow(getPropertyFieldsBoldRow());
|
|
||||||
Set<PropertyDefinition> properties = type.getProperties();
|
Set<PropertyDefinition> properties = type.getProperties();
|
||||||
if(properties!=null && properties.size()>0) {
|
table = addPropertyRows(table, properties);
|
||||||
Set<PropertyDefinition> notMandatoryProperties = new HashSet<>();
|
|
||||||
for(PropertyDefinition propertyDefinition : properties) {
|
|
||||||
if(propertyDefinition.isMandatory()) {
|
|
||||||
/*
|
|
||||||
* Adding Mandatory properties first in the table
|
|
||||||
*/
|
|
||||||
table.appendRow(getPropertyRow(propertyDefinition));
|
|
||||||
}else {
|
|
||||||
notMandatoryProperties.add(propertyDefinition);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(PropertyDefinition propertyDefinition : notMandatoryProperties) {
|
|
||||||
table.appendRow(getPropertyRow(propertyDefinition));
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
table.appendRow(getNoPropertyRow());
|
|
||||||
}
|
|
||||||
|
|
||||||
table.appendRow(getKnownUsageBoldRow());
|
table.appendRow(getKnownUsageBoldRow());
|
||||||
table.appendRow(getSourceTargetBoldRow());
|
table.appendRow(getSourceTargetBoldRow());
|
||||||
|
|
||||||
Knowledge k = Knowledge.getInstace();
|
FacetKnowledge fk = FacetKnowledge.getInstace();
|
||||||
List<LinkedEntity> usage = k.getUsage(type.getName());
|
Set<LinkedEntity> usage = fk.getUsage(type.getName());
|
||||||
addLinkedEntities(table, usage);
|
addLinkedEntities(table, usage);
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model.entities;
|
package org.gcube.informationsystem.utils.documentation.model.entities;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
import org.gcube.informationsystem.types.reference.entities.ResourceType;
|
import org.gcube.informationsystem.types.reference.entities.ResourceType;
|
||||||
import org.gcube.informationsystem.utils.documentation.knowledge.Knowledge;
|
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;
|
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,9 +18,10 @@ public class ResourceDocumentationGenerator extends EntityDocumentationGenerator
|
||||||
public ResourceDocumentationGenerator(Type type) {
|
public ResourceDocumentationGenerator(Type type) {
|
||||||
super(type,AccessType.RESOURCE);
|
super(type,AccessType.RESOURCE);
|
||||||
ResourceType rt = (ResourceType) type;
|
ResourceType rt = (ResourceType) type;
|
||||||
Knowledge k = Knowledge.getInstace();
|
FacetKnowledge fk = FacetKnowledge.getInstace();
|
||||||
k.addAll(rt.getFacets());
|
fk.addAll(rt.getFacets());
|
||||||
k.addAll(rt.getResources());
|
ResourceKnowledge rk = ResourceKnowledge.getInstace();
|
||||||
|
rk.addAll(rt.getResources());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,9 +30,13 @@ public class ResourceDocumentationGenerator extends EntityDocumentationGenerator
|
||||||
table.appendRow(getSourceTargetHeadingRow());
|
table.appendRow(getSourceTargetHeadingRow());
|
||||||
table.appendRow(getRowCellSpan("**Facets**", requiredNumberOfColumns));
|
table.appendRow(getRowCellSpan("**Facets**", requiredNumberOfColumns));
|
||||||
ResourceType resourceType = (ResourceType) type;
|
ResourceType resourceType = (ResourceType) type;
|
||||||
addLinkedEntities(table, resourceType.getFacets());
|
FacetKnowledge fk = FacetKnowledge.getInstace();
|
||||||
|
Set<LinkedEntity> facets = fk.getUsage(resourceType.getName());
|
||||||
|
addLinkedEntities(table, facets);
|
||||||
table.appendRow(getRowCellSpan("**Relations**", requiredNumberOfColumns));
|
table.appendRow(getRowCellSpan("**Relations**", requiredNumberOfColumns));
|
||||||
addLinkedEntities(table, resourceType.getResources());
|
ResourceKnowledge rk = ResourceKnowledge.getInstace();
|
||||||
|
Set<LinkedEntity> resources = rk.getUsage(resourceType.getName());
|
||||||
|
addLinkedEntities(table, resources);
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model.relations;
|
package org.gcube.informationsystem.utils.documentation.model.relations;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
|
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
||||||
|
import org.gcube.informationsystem.utils.documentation.knowledge.FacetKnowledge;
|
||||||
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,8 +19,13 @@ public class ConsistsOfDocumentationGenerator extends RelationDocumentationGener
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Table getTable() {
|
protected Table getTable() {
|
||||||
Table table = new Table();
|
Table table = super.getTable();
|
||||||
table.appendRow(getPropertyFieldsHeadingRow());
|
|
||||||
|
table.appendRow(getKnownUsageBoldRow());
|
||||||
|
FacetKnowledge fk = FacetKnowledge.getInstace();
|
||||||
|
Set<LinkedEntity> facets = fk.getUsage(type.getName());
|
||||||
|
addLinkedEntities(table, facets);
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model.relations;
|
package org.gcube.informationsystem.utils.documentation.model.relations;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
|
import org.gcube.informationsystem.types.reference.properties.LinkedEntity;
|
||||||
|
import org.gcube.informationsystem.utils.documentation.knowledge.ResourceKnowledge;
|
||||||
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,8 +19,13 @@ public class IsRelatedToDocumentationGenerator extends RelationDocumentationGene
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Table getTable() {
|
protected Table getTable() {
|
||||||
Table table = new Table();
|
Table table = super.getTable();
|
||||||
table.appendRow(getPropertyFieldsHeadingRow());
|
|
||||||
|
table.appendRow(getKnownUsageBoldRow());
|
||||||
|
ResourceKnowledge rk = ResourceKnowledge.getInstace();
|
||||||
|
Set<LinkedEntity> resources = rk.getUsage(type.getName());
|
||||||
|
addLinkedEntities(table, resources);
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,18 @@
|
||||||
package org.gcube.informationsystem.utils.documentation.model.relations;
|
package org.gcube.informationsystem.utils.documentation.model.relations;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.base.reference.relations.RelationElement;
|
import org.gcube.informationsystem.base.reference.relations.RelationElement;
|
||||||
import org.gcube.informationsystem.types.TypeMapper;
|
import org.gcube.informationsystem.types.TypeMapper;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
|
import org.gcube.informationsystem.types.reference.entities.EntityType;
|
||||||
|
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition;
|
||||||
|
import org.gcube.informationsystem.types.reference.relations.RelationType;
|
||||||
import org.gcube.informationsystem.utils.documentation.model.DocumentationGenerator;
|
import org.gcube.informationsystem.utils.documentation.model.DocumentationGenerator;
|
||||||
|
import org.gcube.informationsystem.utils.documentation.rst.table.Cell;
|
||||||
|
import org.gcube.informationsystem.utils.documentation.rst.table.Row;
|
||||||
|
import org.gcube.informationsystem.utils.documentation.rst.table.RowType;
|
||||||
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
import org.gcube.informationsystem.utils.documentation.rst.table.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,10 +32,47 @@ public class RelationDocumentationGenerator extends DocumentationGenerator {
|
||||||
super(type, requiredType, superClassToBeExcluded);
|
super(type, requiredType, superClassToBeExcluded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Row getTypeDefinitionRow(RelationType<? extends EntityType, ? extends EntityType> relationType) {
|
||||||
|
Row row = new Row(RowType.NORMAL);
|
||||||
|
Cell source = new Cell();
|
||||||
|
source.setText(relationType.getSource().getName());
|
||||||
|
row.appendCell(source);
|
||||||
|
|
||||||
|
Cell relation = new Cell();
|
||||||
|
relation.setText(relationType.getName());
|
||||||
|
row.appendCell(relation);
|
||||||
|
|
||||||
|
Cell multiplicity = new Cell();
|
||||||
|
multiplicity.setText("0..n");
|
||||||
|
row.appendCell(multiplicity);
|
||||||
|
|
||||||
|
Cell target = new Cell();
|
||||||
|
target.setText(relationType.getTarget().getName());
|
||||||
|
row.appendCell(target);
|
||||||
|
|
||||||
|
Cell description = new Cell();
|
||||||
|
description.setText(relationType.getDescription());
|
||||||
|
row.appendCell(description);
|
||||||
|
|
||||||
|
for(int i=row.getCells().size(); i<requiredNumberOfColumns; i++) {
|
||||||
|
row.appendCell(description);
|
||||||
|
}
|
||||||
|
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Table getTable() {
|
protected Table getTable() {
|
||||||
Table table = new Table();
|
Table table = new Table();
|
||||||
table.appendRow(getPropertyFieldsHeadingRow());
|
table.appendRow(getSourceTargetHeadingRow());
|
||||||
|
|
||||||
|
table.appendRow(getRowCellSpan("**Definition**", requiredNumberOfColumns));
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
RelationType<? extends EntityType, ? extends EntityType> relationType = (RelationType<? extends EntityType, ? extends EntityType>) type;
|
||||||
|
table.appendRow(getTypeDefinitionRow(relationType));
|
||||||
|
|
||||||
|
Set<PropertyDefinition> properties = type.getProperties();
|
||||||
|
table = addPropertyRows(table, properties);
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue