]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/scl/GraphEntityType.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / scl / GraphEntityType.java
index cd7a6d163caf3c2263302c54ad438d8d2957b451..d59ea605cb2f3f40e7f0e5ae6077b65063ae05de 100644 (file)
@@ -1,84 +1,84 @@
-package org.simantics.modeling.scl;\r
-\r
-import static org.simantics.scl.compiler.elaboration.expressions.Expressions.externalConstant;\r
-import gnu.trove.map.hash.THashMap;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.scl.compiler.common.names.Name;\r
-import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;\r
-import org.simantics.scl.compiler.elaboration.expressions.EApply;\r
-import org.simantics.scl.compiler.elaboration.expressions.EConstant;\r
-import org.simantics.scl.compiler.elaboration.expressions.EVariable;\r
-import org.simantics.scl.compiler.elaboration.expressions.Expression;\r
-import org.simantics.scl.compiler.elaboration.expressions.Variable;\r
-import org.simantics.scl.compiler.elaboration.java.CheckRelation;\r
-import org.simantics.scl.compiler.elaboration.query.QAtom;\r
-import org.simantics.scl.compiler.elaboration.query.QConjunction;\r
-import org.simantics.scl.compiler.elaboration.query.Query;\r
-import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;\r
-import org.simantics.scl.compiler.elaboration.relations.SCLRelation;\r
-import org.simantics.scl.compiler.types.Types;\r
-\r
-public class GraphEntityType implements SCLEntityType {\r
-\r
-    Resource type;\r
-    THashMap<String, GraphAttribute> attributeMap = new THashMap<String, GraphAttribute>(); \r
-    \r
-    public GraphEntityType(ReadGraph graph, Resource type) throws DatabaseException {\r
-        this.type = type;\r
-        Layer0 L0 = Layer0.getInstance(graph);\r
-        for(Resource stype : graph.getSupertypes(type))\r
-            addSupertype(graph, L0, stype);\r
-        addSupertype(graph, L0, type);\r
-        addRelation(graph, L0, L0.PartOf);\r
-    }\r
-    \r
-    private void addSupertype(ReadGraph graph, Layer0 L0, Resource type) throws DatabaseException {\r
-        for(Resource relation : graph.getObjects(type, L0.DomainOf))\r
-            addRelation(graph, L0, relation);\r
-    }\r
-    \r
-    private void addRelation(ReadGraph graph, Layer0 L0, Resource relation) throws DatabaseException {\r
-        String relationName = (String)graph.getRelatedValue(relation, L0.HasName, Bindings.STRING);\r
-        attributeMap.put(relationName, new GraphAttribute(OntologyModule.createRelation(graph, relation)));\r
-    }\r
-\r
-    private static final Name DB_isInstanceOf = Name.create("Simantics/DB", "isInstanceOf");\r
-    \r
-    @Override\r
-    public Query generateQuery(TranslationContext context, Variable base,\r
-            AttributeBinding[] attributeBindings) {\r
-        Query[] queries = new Query[attributeBindings.length+1];\r
-        for(int i=0;i<attributeBindings.length;++i) {\r
-            AttributeBinding binding = attributeBindings[i];\r
-            GraphAttribute attribute = (GraphAttribute)binding.attribute;\r
-            SCLRelation relation = attribute.relation;\r
-            queries[i] = new QAtom(relation, new EVariable(base), new EVariable(binding.variable));\r
-        }\r
-        queries[attributeBindings.length] = new QAtom(CheckRelation.INSTANCE,\r
-                new EApply(\r
-                        new EConstant(context.getEnvironment().getValue(DB_isInstanceOf)),\r
-                        new EVariable(base),\r
-                        externalConstant(type, Types.RESOURCE)));\r
-        return new QConjunction(queries);\r
-    }\r
-\r
-    @Override\r
-    public Attribute getAttribute(String name) {\r
-        return attributeMap.get(name);\r
-    }\r
-    \r
-    public static class GraphAttribute implements Attribute {\r
-        SCLRelation relation;\r
-        Expression[] evidence;\r
-\r
-        public GraphAttribute(SCLRelation relation) {\r
-            this.relation = relation;\r
-        }\r
-    }\r
-\r
-}\r
+package org.simantics.modeling.scl;
+
+import static org.simantics.scl.compiler.elaboration.expressions.Expressions.externalConstant;
+import gnu.trove.map.hash.THashMap;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.layer0.Layer0;
+import org.simantics.scl.compiler.common.names.Name;
+import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
+import org.simantics.scl.compiler.elaboration.expressions.EApply;
+import org.simantics.scl.compiler.elaboration.expressions.EConstant;
+import org.simantics.scl.compiler.elaboration.expressions.EVariable;
+import org.simantics.scl.compiler.elaboration.expressions.Expression;
+import org.simantics.scl.compiler.elaboration.expressions.Variable;
+import org.simantics.scl.compiler.elaboration.java.CheckRelation;
+import org.simantics.scl.compiler.elaboration.query.QAtom;
+import org.simantics.scl.compiler.elaboration.query.QConjunction;
+import org.simantics.scl.compiler.elaboration.query.Query;
+import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;
+import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
+import org.simantics.scl.compiler.types.Types;
+
+public class GraphEntityType implements SCLEntityType {
+
+    Resource type;
+    THashMap<String, GraphAttribute> attributeMap = new THashMap<String, GraphAttribute>(); 
+    
+    public GraphEntityType(ReadGraph graph, Resource type) throws DatabaseException {
+        this.type = type;
+        Layer0 L0 = Layer0.getInstance(graph);
+        for(Resource stype : graph.getSupertypes(type))
+            addSupertype(graph, L0, stype);
+        addSupertype(graph, L0, type);
+        addRelation(graph, L0, L0.PartOf);
+    }
+    
+    private void addSupertype(ReadGraph graph, Layer0 L0, Resource type) throws DatabaseException {
+        for(Resource relation : graph.getObjects(type, L0.DomainOf))
+            addRelation(graph, L0, relation);
+    }
+    
+    private void addRelation(ReadGraph graph, Layer0 L0, Resource relation) throws DatabaseException {
+        String relationName = (String)graph.getRelatedValue(relation, L0.HasName, Bindings.STRING);
+        attributeMap.put(relationName, new GraphAttribute(OntologyModule.createRelation(graph, relation)));
+    }
+
+    private static final Name DB_isInstanceOf = Name.create("Simantics/DB", "isInstanceOf");
+    
+    @Override
+    public Query generateQuery(TranslationContext context, Variable base,
+            AttributeBinding[] attributeBindings) {
+        Query[] queries = new Query[attributeBindings.length+1];
+        for(int i=0;i<attributeBindings.length;++i) {
+            AttributeBinding binding = attributeBindings[i];
+            GraphAttribute attribute = (GraphAttribute)binding.attribute;
+            SCLRelation relation = attribute.relation;
+            queries[i] = new QAtom(relation, new EVariable(base), new EVariable(binding.variable));
+        }
+        queries[attributeBindings.length] = new QAtom(CheckRelation.INSTANCE,
+                new EApply(
+                        new EConstant(context.getEnvironment().getValue(DB_isInstanceOf)),
+                        new EVariable(base),
+                        externalConstant(type, Types.RESOURCE)));
+        return new QConjunction(queries);
+    }
+
+    @Override
+    public Attribute getAttribute(String name) {
+        return attributeMap.get(name);
+    }
+    
+    public static class GraphAttribute implements Attribute {
+        SCLRelation relation;
+        Expression[] evidence;
+
+        public GraphAttribute(SCLRelation relation) {
+            this.relation = relation;
+        }
+    }
+
+}