-package org.simantics.document.linking.report.evaluator;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.document.linking.Activator;\r
-import org.simantics.document.linking.ontology.DocumentLink;\r
-import org.simantics.document.linking.report.DocumentLine;\r
-import org.simantics.objmap.graph.annotations.OrderedSetType;\r
-import org.simantics.objmap.graph.annotations.RelatedGetValue;\r
-import org.simantics.objmap.graph.annotations.RelatedSetValue;\r
-\r
-@OrderedSetType(DocumentLink.URIs.EvaluatorTree_Path)\r
-public class Path extends EvaluatorNode implements StringEditableNode{\r
- \r
- String separator;\r
- \r
- public Path() {\r
- separator = "/";\r
- }\r
- \r
- public Path(String separator) {\r
- this.separator = separator;\r
- }\r
- \r
- @Override\r
- public String toString() {\r
- return "path " + "(" + separator +")" ;\r
- }\r
- \r
- @Override\r
- public String setValue(String value) {\r
- separator = value;\r
- return null;\r
- }\r
- \r
- @RelatedSetValue(DocumentLink.URIs.EvaluatorTree_HasValue)\r
- public void _setValue(String value) {\r
- separator = value;\r
- }\r
- \r
- @RelatedGetValue(DocumentLink.URIs.EvaluatorTree_HasValue)\r
- @Override\r
- public String getValue() {\r
- return separator;\r
- }\r
- \r
- @Override\r
- public String getValue(ReadGraph graph, Variable variable,\r
- Map<Object, Object> context) throws DatabaseException {\r
- Resource model = (Resource)context.get("model");\r
- String text = "";\r
- Variable parent = variable.getParent(graph);\r
- while (parent != null) {\r
- text = children.get(0).getValue(graph, parent, context) + separator + text;\r
- parent = parent.getParent(graph);\r
- if (model.equals(parent.getRepresents(graph)))\r
- parent = null;\r
- }\r
- if (text.length() == 0)\r
- return null;\r
- return text.substring(0,text.length()-separator.length());\r
- }\r
- \r
- @Override\r
- public List<DocumentLine> getLines(ReadGraph graph, Variable variable,\r
- Map<Object, Object> context) throws DatabaseException {\r
- List<DocumentLine> result = new ArrayList<DocumentLine>();\r
- Resource model = (Resource)context.get("model");\r
- for (int i = 0 ; i < children.size(); i++) {\r
- Variable parent = variable.getParent(graph);\r
- while (parent != null) {\r
- List<DocumentLine> list = children.get(i).getLines(graph, parent, context);\r
- for (int j = 0; j < list.size(); j++) {\r
- DocumentLine line = list.get(j); \r
- if (j <= result.size()) {\r
- result.add(line);\r
- } else {\r
- DocumentLine extLine = result.get(j);\r
- String combined = line.getLine() + separator + extLine.getLine();\r
- Map<Object,Object> combinedSet = new HashMap<Object, Object>();\r
- combinedSet.putAll(extLine.getHints());\r
- combinedSet.putAll(line.getHints());\r
- \r
- result.set(j, new DocumentLine(combined,combinedSet));\r
- }\r
- }\r
- parent = parent.getParent(graph);\r
- if (model.equals(parent.getRepresents(graph)))\r
- parent = null;\r
- }\r
- }\r
- return result;\r
- }\r
- \r
- @Override\r
- public ImageDescriptor getImage() {\r
- return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/folder.png");\r
- }\r
- \r
- @Override\r
- public EvaluatorItem copy() {\r
- Path path = new Path();\r
- return path;\r
- }\r
- \r
- @Override\r
- public List<Class<? extends EvaluatorItem>> getPossibleChildren(boolean add) {\r
- if (add && children.size() > 0)\r
- return Collections.emptyList();\r
- return super.getPossibleChildren(add);\r
- }\r
- \r
- @Override\r
- public boolean acceptChild(EvaluatorItem item) {\r
- return children.size() == 0;\r
- }\r
- \r
- @Override\r
- public boolean acceptChild(int index, EvaluatorItem item) {\r
- return children.size() == 0;\r
- }\r
-\r
-}\r
+package org.simantics.document.linking.report.evaluator;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.document.linking.Activator;
+import org.simantics.document.linking.ontology.DocumentLink;
+import org.simantics.document.linking.report.DocumentLine;
+import org.simantics.objmap.graph.annotations.OrderedSetType;
+import org.simantics.objmap.graph.annotations.RelatedGetValue;
+import org.simantics.objmap.graph.annotations.RelatedSetValue;
+
+@OrderedSetType(DocumentLink.URIs.EvaluatorTree_Path)
+public class Path extends EvaluatorNode implements StringEditableNode{
+
+ String separator;
+
+ public Path() {
+ separator = "/"; //$NON-NLS-1$
+ }
+
+ public Path(String separator) {
+ this.separator = separator;
+ }
+
+ @Override
+ public String toString() {
+ return "path " + "(" + separator +")" ; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+
+ @Override
+ public String setValue(String value) {
+ separator = value;
+ return null;
+ }
+
+ @RelatedSetValue(DocumentLink.URIs.EvaluatorTree_HasValue)
+ public void _setValue(String value) {
+ separator = value;
+ }
+
+ @RelatedGetValue(DocumentLink.URIs.EvaluatorTree_HasValue)
+ @Override
+ public String getValue() {
+ return separator;
+ }
+
+ @Override
+ public String getValue(ReadGraph graph, Variable variable,
+ Map<Object, Object> context) throws DatabaseException {
+ Resource model = (Resource)context.get("model"); //$NON-NLS-1$
+ String text = ""; //$NON-NLS-1$
+ Variable parent = variable.getParent(graph);
+ while (parent != null) {
+ text = children.get(0).getValue(graph, parent, context) + separator + text;
+ parent = parent.getParent(graph);
+ if (model.equals(parent.getRepresents(graph)))
+ parent = null;
+ }
+ if (text.length() == 0)
+ return null;
+ return text.substring(0,text.length()-separator.length());
+ }
+
+ @Override
+ public List<DocumentLine> getLines(ReadGraph graph, Variable variable,
+ Map<Object, Object> context) throws DatabaseException {
+ List<DocumentLine> result = new ArrayList<DocumentLine>();
+ Resource model = (Resource)context.get("model"); //$NON-NLS-1$
+ for (int i = 0 ; i < children.size(); i++) {
+ Variable parent = variable.getParent(graph);
+ while (parent != null) {
+ List<DocumentLine> list = children.get(i).getLines(graph, parent, context);
+ for (int j = 0; j < list.size(); j++) {
+ DocumentLine line = list.get(j);
+ if (j <= result.size()) {
+ result.add(line);
+ } else {
+ DocumentLine extLine = result.get(j);
+ String combined = line.getLine() + separator + extLine.getLine();
+ Map<Object,Object> combinedSet = new HashMap<Object, Object>();
+ combinedSet.putAll(extLine.getHints());
+ combinedSet.putAll(line.getHints());
+
+ result.set(j, new DocumentLine(combined,combinedSet));
+ }
+ }
+ parent = parent.getParent(graph);
+ if (model.equals(parent.getRepresents(graph)))
+ parent = null;
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public ImageDescriptor getImage() {
+ return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/folder.png"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Override
+ public EvaluatorItem copy() {
+ Path path = new Path();
+ return path;
+ }
+
+ @Override
+ public List<Class<? extends EvaluatorItem>> getPossibleChildren(boolean add) {
+ if (add && children.size() > 0)
+ return Collections.emptyList();
+ return super.getPossibleChildren(add);
+ }
+
+ @Override
+ public boolean acceptChild(EvaluatorItem item) {
+ return children.size() == 0;
+ }
+
+ @Override
+ public boolean acceptChild(int index, EvaluatorItem item) {
+ return children.size() == 0;
+ }
+
+}