-package org.simantics.modeling.utils;\r
-\r
-import gnu.trove.map.hash.THashMap;\r
-\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.exception.RuntimeDatabaseException;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.scl.runtime.SCLContext;\r
-import org.simantics.scl.runtime.function.FunctionImpl1;\r
-import org.simantics.structural.stubs.StructuralResource2;\r
-\r
-public class JoinMap extends FunctionImpl1<Object, Resource> {\r
-\r
- THashMap<Object,Resource> map = new THashMap<Object,Resource>(); \r
- \r
- @Override\r
- public Resource apply(Object key) {\r
- Resource join = map.get(key);\r
- if(join == null) {\r
- try {\r
- WriteGraph g = (WriteGraph)SCLContext.getCurrent().get("graph");\r
- Layer0 L0 = Layer0.getInstance(g);\r
- StructuralResource2 STR = StructuralResource2.getInstance(g);\r
- join = g.newResource();\r
- g.claim(join, L0.InstanceOf, STR.ConnectionJoin);\r
- map.put(key, join);\r
- } catch(DatabaseException e) {\r
- throw new RuntimeDatabaseException(e);\r
- }\r
- }\r
- return join;\r
- }\r
-\r
-}\r
+package org.simantics.modeling.utils;
+
+import gnu.trove.map.hash.THashMap;
+
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.exception.RuntimeDatabaseException;
+import org.simantics.layer0.Layer0;
+import org.simantics.scl.runtime.SCLContext;
+import org.simantics.scl.runtime.function.FunctionImpl1;
+import org.simantics.structural.stubs.StructuralResource2;
+
+public class JoinMap extends FunctionImpl1<Object, Resource> {
+
+ THashMap<Object,Resource> map = new THashMap<Object,Resource>();
+
+ @Override
+ public Resource apply(Object key) {
+ Resource join = map.get(key);
+ if(join == null) {
+ try {
+ WriteGraph g = (WriteGraph)SCLContext.getCurrent().get("graph");
+ Layer0 L0 = Layer0.getInstance(g);
+ StructuralResource2 STR = StructuralResource2.getInstance(g);
+ join = g.newResource();
+ g.claim(join, L0.InstanceOf, STR.ConnectionJoin);
+ map.put(key, join);
+ } catch(DatabaseException e) {
+ throw new RuntimeDatabaseException(e);
+ }
+ }
+ return join;
+ }
+
+}