-package org.simantics.document.server;\r
-\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.simantics.databoard.adapter.AdaptException;\r
-import org.simantics.databoard.binding.Binding;\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.request.VariableRead;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.service.CollectionSupport;\r
-import org.simantics.document.base.ontology.DocumentationResource;\r
-import org.simantics.structural2.scl.StructuralComponent;\r
-\r
-public class VariableStructuralContext extends StructuralComponent<Variable> {\r
-\r
- final private Variable selfVariable;\r
- final private Variable variable;\r
- final private DocumentationResource DOC;\r
- \r
- public VariableStructuralContext(ReadGraph graph, Variable selfVariable) throws DatabaseException {\r
- this.selfVariable = selfVariable;\r
- this.variable = selfVariable.getParent(graph).getParent(graph);\r
- this.DOC = DocumentationResource.getInstance(graph);\r
- }\r
- \r
- @Override\r
- public Resource getType(ReadGraph g) throws DatabaseException {\r
- throw new UnsupportedOperationException();\r
- }\r
- \r
- static class MapRequest extends VariableRead<Map<Resource,Variable>> {\r
-\r
- public MapRequest(Variable component) {\r
- super(component);\r
- }\r
-\r
- @Override\r
- public Map<Resource, Variable> perform(ReadGraph graph) throws DatabaseException {\r
- \r
- CollectionSupport cs = graph.getService(CollectionSupport.class);\r
- Map<Resource, Variable> result = cs.createMap(Variable.class);\r
- for(Variable property : variable.getProperties(graph)) {\r
- Resource predicate = property.getPossiblePredicateResource(graph);\r
- if(predicate != null)\r
- result.put(predicate, property);\r
- }\r
- return result;\r
- \r
- }\r
- \r
- }\r
-\r
- @Override\r
- public Object getValue(ReadGraph g, Resource attribute, Binding binding) throws DatabaseException, AdaptException {\r
- \r
- Map<Resource,Variable> map = g.syncRequest(new MapRequest(variable));\r
- Variable p = map.get(attribute);\r
- if(p != null) {\r
- if(binding != null)\r
- return p.getValue(g, binding);\r
- else\r
- return p.getValue(g);\r
- }\r
- \r
- return null;\r
- \r
- }\r
-\r
- @Override\r
- public boolean isParametrized(ReadGraph g) throws DatabaseException {\r
- throw new UnsupportedOperationException();\r
- }\r
-\r
- @Override\r
- public Variable getConnection(ReadGraph g, Resource connectionPoint) throws DatabaseException {\r
- throw new UnsupportedOperationException();\r
- }\r
-\r
- @SuppressWarnings({ "unchecked", "rawtypes" })\r
- @Override\r
- public List getConnections(ReadGraph g, Resource connectionPoint) throws DatabaseException {\r
- throw new UnsupportedOperationException();\r
- }\r
-\r
- @Override\r
- public Resource getResource() {\r
- throw new UnsupportedOperationException();\r
- }\r
-\r
- @Override\r
- public StructuralComponent<Variable> getContext() {\r
- return null;\r
- }\r
-\r
-}\r
+package org.simantics.document.server;
+
+import java.util.List;
+import java.util.Map;
+
+import org.simantics.databoard.adapter.AdaptException;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.request.VariableRead;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.service.CollectionSupport;
+import org.simantics.structural2.scl.StructuralComponent;
+
+public class VariableStructuralContext extends StructuralComponent<Variable> {
+
+ final private Variable selfVariable;
+ final private Variable variable;
+
+ public VariableStructuralContext(ReadGraph graph, Variable selfVariable) throws DatabaseException {
+ this.selfVariable = selfVariable;
+ this.variable = selfVariable.getParent(graph).getParent(graph);
+ }
+
+ @Override
+ public Resource getType(ReadGraph g) throws DatabaseException {
+ throw new UnsupportedOperationException();
+ }
+
+ static class MapRequest extends VariableRead<Map<Resource,Variable>> {
+
+ public MapRequest(Variable component) {
+ super(component);
+ }
+
+ @Override
+ public Map<Resource, Variable> perform(ReadGraph graph) throws DatabaseException {
+
+ CollectionSupport cs = graph.getService(CollectionSupport.class);
+ Map<Resource, Variable> result = cs.createMap(Variable.class);
+ for(Variable property : variable.getProperties(graph)) {
+ Resource predicate = property.getPossiblePredicateResource(graph);
+ if(predicate != null)
+ result.put(predicate, property);
+ }
+ return result;
+
+ }
+
+ }
+
+ @Override
+ public Object getValue(ReadGraph g, Resource attribute, Binding binding) throws DatabaseException, AdaptException {
+
+ Map<Resource,Variable> map = g.syncRequest(new MapRequest(variable));
+ Variable p = map.get(attribute);
+ if(p != null) {
+ if(binding != null)
+ return p.getValue(g, binding);
+ else
+ return p.getValue(g);
+ }
+
+ return null;
+
+ }
+
+ @Override
+ public boolean isParametrized(ReadGraph g) throws DatabaseException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Variable getConnection(ReadGraph g, Resource connectionPoint) throws DatabaseException {
+ throw new UnsupportedOperationException();
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public List getConnections(ReadGraph g, Resource connectionPoint) throws DatabaseException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Resource getResource() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public StructuralComponent<Variable> getContext() {
+ return null;
+ }
+
+}