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 40e8ebe..a50be7c 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 @@ -15,10 +15,10 @@ import org.gcube.informationsystem.model.reference.properties.PropagationConstra 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; -import org.gcube.informationsystem.utils.documentation.knowledge.NodeElaborator; -import org.gcube.informationsystem.utils.documentation.knowledge.Tree; import org.gcube.informationsystem.utils.documentation.model.DocumentationGenerator; +import org.gcube.informationsystem.utils.knowledge.Node; +import org.gcube.informationsystem.utils.knowledge.NodeElaborator; +import org.gcube.informationsystem.utils.knowledge.Tree; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Node.java b/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Node.java deleted file mode 100644 index d796538..0000000 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Node.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.gcube.informationsystem.utils.documentation.knowledge; - -import java.util.Set; -import java.util.TreeSet; - -import org.gcube.informationsystem.types.reference.Type; - -/** - * @author Luca Frosini (ISTI - CNR) - */ -public class Node implements Comparable { - - public static String INDENTATION = "\t"; - - private Type type; - - private Tree tree; - - private Node parent; - private Set children; - - public Node(Type type) { - this.type = type; - this.children = new TreeSet(); - } - - public Tree getTree() { - return tree; - } - - private void setTree(Tree tree) { - this.tree = tree; - } - - public Type getType() { - return type; - } - - public Node getParent() { - return parent; - } - - public Node setParent(Node parent) { - this.parent = parent; - return this; - } - - public Node addChild(Node child) { - children.add(child); - child.setParent(this); - child.setTree(tree); - return this; - } - - public Set getChildrenNodes() { - return children; - } - - public Set getChildren() { - Set sortedChildren = new TreeSet<>(); - for (Node treeNode : children) { - sortedChildren.add(treeNode.type); - } - return sortedChildren; - } - - @Override - public String toString() { - return createTree(0).toString(); - } - - private StringBuffer createTree(int level) { - StringBuffer stringBuffer = new StringBuffer(); - for (int i = 0; i < level; ++i) { - stringBuffer.append(Node.INDENTATION); - } - stringBuffer.append(type.getName()); - for (Node child : children) { - stringBuffer.append("\n"); - stringBuffer.append(child.createTree(level+1)); - } - return stringBuffer; - } - - @Override - public int compareTo(Node other) { - if (this == other) { - return 0; - } - if (other == null) { - return -1; - } - if (getClass() != other.getClass()) { - return -1; - } - - return type.getName().compareTo(other.type.getName()); - } - - - public void elaborate(NodeElaborator nodeElaborator) throws Exception { - elaborate(nodeElaborator, 0); - } - - protected void elaborate(NodeElaborator nodeElaborator, int level) throws Exception { - nodeElaborator.elaborate(this, level); - for (Node child : children) { - child.elaborate(nodeElaborator, level+1); - } - } -} diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/NodeElaborator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/NodeElaborator.java deleted file mode 100644 index 7e62057..0000000 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/NodeElaborator.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.gcube.informationsystem.utils.documentation.knowledge; - -/** - * @author Luca Frosini (ISTI - CNR) - */ -public interface NodeElaborator { - - public void elaborate(Node node, int level) throws Exception; - -} diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Tree.java b/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Tree.java deleted file mode 100644 index 04d13e2..0000000 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/Tree.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.gcube.informationsystem.utils.documentation.knowledge; - -import java.util.HashMap; -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; - -/** - * @author Luca Frosini (ISTI - CNR) - */ -public class Tree { - - private Node root; - - private boolean allowMultipleInheritance; - private HashMap locate = new HashMap(); - - - public Tree(Type head) { - this.root = new Node(head); - this.locate.put(head.getName(), root); - this.allowMultipleInheritance = false; - } - - public void setAllowMultipleInheritance(boolean allowMultipleInheritance) { - this.allowMultipleInheritance = allowMultipleInheritance; - } - - public void createUsageKnowledge(Type type) { - if(type.getAccessType() != AccessType.RESOURCE) { - return; - } - ResourceType rt = (ResourceType) type; - UsageKnowledge fk = UsageKnowledge.getFacetKnowledge(); - fk.addAll(rt.getFacets()); - UsageKnowledge rk = UsageKnowledge.getResourceKnowledge(); - rk.addAll(rt.getResources()); - } - - public void addNode(Type type) { - createUsageKnowledge(type); - - if(root.getType().getName().compareTo(type.getName())==0) { - // Root has been already added - return; - } - - Set superClasses = type.getSuperClasses(); - - String name = type.getName(); - for(String superClass : superClasses) { - Node parent = locate.get(superClass); - if(parent==null) { - throw new RuntimeException("I can find parent Node for " + name + ". Missing parent is " + superClass); - } - Node node = new Node(type); - parent.addChild(node); - locate.put(name, node); - if(!allowMultipleInheritance) { - return; - } - } - } - - public Node getRoot() { - return root; - } - - @Override - public String toString() { - return root.toString(); - } - - public void elaborate(NodeElaborator nodeElaborator) throws Exception { - root.elaborate(nodeElaborator); - } -} \ No newline at end of file diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/UsageKnowledge.java b/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/UsageKnowledge.java deleted file mode 100644 index 0ef1806..0000000 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/knowledge/UsageKnowledge.java +++ /dev/null @@ -1,73 +0,0 @@ -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; - -/** - * @author Luca Frosini (ISTI - CNR) - */ -public class UsageKnowledge { - - private static UsageKnowledge facetKnowledge; - private static UsageKnowledge resourceKnowledge; - - public static UsageKnowledge getFacetKnowledge() { - if(UsageKnowledge.facetKnowledge==null) { - UsageKnowledge.facetKnowledge = new UsageKnowledge(); - } - return UsageKnowledge.facetKnowledge; - } - - public static UsageKnowledge getResourceKnowledge() { - if(UsageKnowledge.resourceKnowledge==null) { - UsageKnowledge.resourceKnowledge = new UsageKnowledge(); - } - return UsageKnowledge.resourceKnowledge; - } - - - protected Map> map; - - private UsageKnowledge(){ - this.map = new LinkedHashMap<>(); - } - - protected void add(String typeName, LinkedEntity linkedEntity) { - Set list = map.get(typeName); - if(list==null) { - list = new TreeSet<>(); - map.put(typeName, list); - } - list.add(linkedEntity); - } - - public void add(LinkedEntity linkedEntity) { - if(linkedEntity!=null) { - 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 linkedEntities) { - if(linkedEntities!=null) { - for(LinkedEntity le : linkedEntities) { - add(le); - } - } - } - - public Set getUsage(String typeName){ - Set list = map.get(typeName); - return list; - } - -} diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/FacetDocumentationGenerator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/FacetDocumentationGenerator.java index 2e4faca..689291f 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/FacetDocumentationGenerator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/FacetDocumentationGenerator.java @@ -6,8 +6,8 @@ import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.reference.Type; import org.gcube.informationsystem.types.reference.properties.LinkedEntity; import org.gcube.informationsystem.types.reference.properties.PropertyDefinition; -import org.gcube.informationsystem.utils.documentation.knowledge.UsageKnowledge; import org.gcube.informationsystem.utils.documentation.rst.table.Table; +import org.gcube.informationsystem.utils.knowledge.UsageKnowledge; /** * @author Luca Frosini (ISTI - CNR) diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/ResourceDocumentationGenerator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/ResourceDocumentationGenerator.java index b0f3ba0..37220d2 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/ResourceDocumentationGenerator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/model/entities/ResourceDocumentationGenerator.java @@ -6,8 +6,8 @@ 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.UsageKnowledge; import org.gcube.informationsystem.utils.documentation.rst.table.Table; +import org.gcube.informationsystem.utils.knowledge.UsageKnowledge; /** * @author Luca Frosini (ISTI - CNR) diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/ConsistsOfDocumentationGenerator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/ConsistsOfDocumentationGenerator.java index d8cd1dc..fe3455e 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/ConsistsOfDocumentationGenerator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/ConsistsOfDocumentationGenerator.java @@ -5,8 +5,8 @@ import java.util.Set; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.reference.Type; import org.gcube.informationsystem.types.reference.properties.LinkedEntity; -import org.gcube.informationsystem.utils.documentation.knowledge.UsageKnowledge; import org.gcube.informationsystem.utils.documentation.rst.table.Table; +import org.gcube.informationsystem.utils.knowledge.UsageKnowledge; /** * @author Luca Frosini (ISTI - CNR) diff --git a/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/IsRelatedToDocumentationGenerator.java b/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/IsRelatedToDocumentationGenerator.java index d9c6603..e21e1da 100644 --- a/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/IsRelatedToDocumentationGenerator.java +++ b/src/main/java/org/gcube/informationsystem/utils/documentation/model/relations/IsRelatedToDocumentationGenerator.java @@ -5,8 +5,8 @@ import java.util.Set; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.types.reference.Type; import org.gcube.informationsystem.types.reference.properties.LinkedEntity; -import org.gcube.informationsystem.utils.documentation.knowledge.UsageKnowledge; import org.gcube.informationsystem.utils.documentation.rst.table.Table; +import org.gcube.informationsystem.utils.knowledge.UsageKnowledge; /** * @author Luca Frosini (ISTI - CNR)