-package org.simantics.modeling;\r
-\r
-import java.util.Arrays;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.RVI;\r
-import org.simantics.db.layer0.variable.Variable;\r
-\r
-public class PartialIC {\r
-\r
- public static Binding BINDING = Bindings.getBindingUnchecked(PartialIC.class);\r
- \r
- public RVI[] rvis = {};\r
- public Variant[] variants = {};\r
- \r
- //public TreeMap<RVI, Variant> values = new TreeMap<RVI, Variant>(); \r
- \r
- public void add(RVI rvi, Variant value) {\r
- rvis = Arrays.copyOf(rvis, rvis.length + 1);\r
- rvis[rvis.length - 1] = rvi;\r
- variants = Arrays.copyOf(variants, variants.length + 1);\r
- variants[rvis.length - 1] = value;\r
- \r
- //values.put(rvi, value);\r
- }\r
- \r
- public void apply(WriteGraph graph, Variable base) throws DatabaseException {\r
-// for(Map.Entry<RVI,Variant> entry : values.entrySet()) {\r
-// RVI rvi = entry.getKey();\r
-// Variant variant = entry.getValue();\r
-// Variable v = rvi.resolvePossible(graph, base);\r
-// if(v != null) {\r
-//// System.err.println("apply " + v.getURI(graph) + " => " + variant);\r
-// v.setValue(graph, variant.getValue(), variant.getBinding());\r
-// } else {\r
-// System.err.println("failed to resolve " + rvi);\r
-// }\r
-// }\r
- \r
- if (rvis.length != variants.length) {\r
- throw new DatabaseException("PartialIC has broken RVI and Variant data arrays. Tried to apply to " + base.getURI(graph));\r
- }\r
- \r
- for (int i = 0; i < rvis.length; i++) {\r
- RVI rvi = rvis[i];\r
- Variant variant = variants[i];\r
- Variable v = rvi.resolvePossible(graph, base);\r
- if (v != null) {\r
-// System.err.println("apply " + v.getURI(graph) + " => " + variant);\r
- v.setValue(graph, variant.getValue(), variant.getBinding());\r
- } else {\r
- System.err.println("failed to resolve " + rvi);\r
- }\r
- }\r
- \r
- }\r
- \r
-}\r
+package org.simantics.modeling;
+
+import java.util.Arrays;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.mutable.Variant;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.RVI;
+import org.simantics.db.layer0.variable.Variable;
+
+public class PartialIC {
+
+ public static Binding BINDING = Bindings.getBindingUnchecked(PartialIC.class);
+
+ public RVI[] rvis = {};
+ public Variant[] variants = {};
+
+ //public TreeMap<RVI, Variant> values = new TreeMap<RVI, Variant>();
+
+ public void add(RVI rvi, Variant value) {
+ rvis = Arrays.copyOf(rvis, rvis.length + 1);
+ rvis[rvis.length - 1] = rvi;
+ variants = Arrays.copyOf(variants, variants.length + 1);
+ variants[rvis.length - 1] = value;
+
+ //values.put(rvi, value);
+ }
+
+ public void apply(WriteGraph graph, Variable base) throws DatabaseException {
+// for(Map.Entry<RVI,Variant> entry : values.entrySet()) {
+// RVI rvi = entry.getKey();
+// Variant variant = entry.getValue();
+// Variable v = rvi.resolvePossible(graph, base);
+// if(v != null) {
+//// System.err.println("apply " + v.getURI(graph) + " => " + variant);
+// v.setValue(graph, variant.getValue(), variant.getBinding());
+// } else {
+// System.err.println("failed to resolve " + rvi);
+// }
+// }
+
+ if (rvis.length != variants.length) {
+ throw new DatabaseException("PartialIC has broken RVI and Variant data arrays. Tried to apply to " + base.getURI(graph));
+ }
+
+ for (int i = 0; i < rvis.length; i++) {
+ RVI rvi = rvis[i];
+ Variant variant = variants[i];
+ Variable v = rvi.resolvePossible(graph, base);
+ if (v != null) {
+// System.err.println("apply " + v.getURI(graph) + " => " + variant);
+ v.setValue(graph, variant.getValue(), variant.getBinding());
+ } else {
+ System.err.println("failed to resolve " + rvi);
+ }
+ }
+
+ }
+
+}