]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/PartialIC.java
Fixed ComponentTypeCommands.setUnit to support unit == null
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / PartialIC.java
index 379aaf19a1769ab2a76f7e0a55305cf3db65b042..be5d86acc39738d6b34cae02266a909588095c89 100644 (file)
@@ -1,62 +1,65 @@
-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;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class PartialIC {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(PartialIC.class);
+       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) {
+////                           LOGGER.warn("apply " + v.getURI(graph) + " => " + variant);
+//                             v.setValue(graph, variant.getValue(), variant.getBinding());
+//                     } else {
+//                             LOGGER.warn("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) {
+//              LOGGER.warn("apply " + v.getURI(graph) + " => " + variant);
+                v.setValue(graph, variant.getValue(), variant.getBinding());
+            } else {
+                LOGGER.warn("failed to resolve " + rvi);
+            }
+        }
+           
+       }
+       
+}