diff --git a/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/Node.java b/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/Node.java deleted file mode 100644 index b8d077d..0000000 --- a/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/Node.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.gcube.informationsystem.types.knowledge.toBeRemoved; - -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/types/knowledge/toBeRemoved/NodeElaborator.java b/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/NodeElaborator.java deleted file mode 100644 index 5adb4bf..0000000 --- a/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/NodeElaborator.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.gcube.informationsystem.types.knowledge.toBeRemoved; - -/** - * @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/types/knowledge/toBeRemoved/Tree.java b/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/Tree.java deleted file mode 100644 index 926e957..0000000 --- a/src/main/java/org/gcube/informationsystem/types/knowledge/toBeRemoved/Tree.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.gcube.informationsystem.types.knowledge.toBeRemoved; - -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; - } - - protected 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