]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graph/src/org/simantics/graph/store/ValueStore.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.graph / src / org / simantics / graph / store / ValueStore.java
index 96f8b0d161923c020f2ee669f1abce3c8508b294..8a490f3f6a78d016d581827f9da41cb07a0b78b4 100644 (file)
-package org.simantics.graph.store;\r
-\r
-import gnu.trove.map.hash.TIntIntHashMap;\r
-import gnu.trove.map.hash.TIntObjectHashMap;\r
-import gnu.trove.procedure.TIntObjectProcedure;\r
-import gnu.trove.procedure.TIntProcedure;\r
-import gnu.trove.set.hash.TIntHashSet;\r
-\r
-import java.util.ArrayList;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.adapter.AdaptException;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.databoard.serialization.Serializer;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.graph.representation.Value;\r
-\r
-public class ValueStore implements IStore {\r
-       \r
-       public static Binding DatatypeBinding =\r
-               Bindings.getBindingUnchecked(Datatype.class);\r
-       public static Serializer DatatypeSerializer =\r
-               Bindings.getSerializerUnchecked(DatatypeBinding);\r
-       \r
-       TIntObjectHashMap<Variant> byteValues = new TIntObjectHashMap<Variant>();\r
-       TIntObjectHashMap<Datatype> datatypeValues = new TIntObjectHashMap<Datatype>();\r
-       TIntHashSet collisions = new TIntHashSet();\r
-       \r
-       public void map(final TIntIntHashMap map) {\r
-               collisions = IndexMappingUtils.map(map, collisions);\r
-               byteValues = IndexMappingUtils.map(map, byteValues, collisions);\r
-               datatypeValues = IndexMappingUtils.map(map, datatypeValues, collisions);\r
-       }\r
-       \r
-       public void setValue(int id, Variant value) {\r
-               if(byteValues.put(id, value) != null)\r
-                       collisions.add(id);\r
-       }\r
-       \r
-       public void setValue(int id, Datatype value) {\r
-               datatypeValues.put(id, value);\r
-       }\r
-\r
-       public Variant getByteValue(int id) {\r
-               return byteValues.get(id);\r
-       }\r
-       \r
-       private static final Binding DATATYPE_BINDING = \r
-               Bindings.getBindingUnchecked(Datatype.class);\r
-       \r
-       public Datatype getDatatypeValue(int id) {\r
-               Datatype datatype = datatypeValues.get(id);\r
-               if(datatype == null) {\r
-                       Variant bytes = byteValues.get(id);\r
-                       if(bytes != null)\r
-                               try {\r
-                                       return (Datatype)bytes.getValue(DATATYPE_BINDING);\r
-                               } catch (AdaptException e) {\r
-                                       throw new RuntimeException(e);\r
-                               }\r
-               }\r
-               return datatype;\r
-       }\r
-\r
-       public Value[] toArray() {\r
-               final ArrayList<Value> values = new ArrayList<Value>();\r
-               byteValues.forEachEntry(new TIntObjectProcedure<Variant>() {\r
-                       @Override\r
-                       public boolean execute(int a, Variant b) {\r
-                               values.add(new Value(a, b));\r
-                               return true;\r
-                       }\r
-               });\r
-               datatypeValues.forEachEntry(new TIntObjectProcedure<Datatype>() {\r
-                   Binding datatypeBinding = Bindings.getBindingUnchecked(Datatype.class);\r
-                       @Override\r
-                       public boolean execute(int a, Datatype b) {\r
-                               if(!byteValues.containsKey(a))\r
-                                       try {\r
-                                               if(b == null)\r
-                                                       System.out.println("Resource " + a + " has null Datatype value.");\r
-                                               else\r
-                                                       values.add(new Value(a, new Variant(datatypeBinding, b)));\r
-                                       } catch (Exception e) {\r
-                                               throw new RuntimeException(e);\r
-                                       }\r
-                               return true;\r
-                       }\r
-               });\r
-               return values.toArray(new Value[values.size()]);\r
-       }\r
-       \r
-       public void collectReferences(final boolean[] set) {\r
-               TIntProcedure proc = new TIntProcedure() {                      \r
-                       @Override\r
-                       public boolean execute(int value) {\r
-                               set[value] = true;\r
-                               return true;\r
-                       }\r
-               };\r
-               \r
-               byteValues.forEach(proc);\r
-               datatypeValues.forEach(proc);\r
-       }\r
-       \r
-       public TIntHashSet getCollisions() {\r
-               datatypeValues.forEachKey(new TIntProcedure() {\r
-                       @Override\r
-                       public boolean execute(int value) {\r
-                               if(byteValues.containsKey(value))\r
-                                       collisions.add(value);\r
-                               return true;\r
-                       }\r
-               });\r
-               return collisions;\r
-       }\r
-}\r
+package org.simantics.graph.store;
+
+import gnu.trove.map.hash.TIntIntHashMap;
+import gnu.trove.map.hash.TIntObjectHashMap;
+import gnu.trove.procedure.TIntObjectProcedure;
+import gnu.trove.procedure.TIntProcedure;
+import gnu.trove.set.hash.TIntHashSet;
+
+import java.util.ArrayList;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.adapter.AdaptException;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.mutable.Variant;
+import org.simantics.databoard.serialization.Serializer;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.graph.representation.Value;
+
+public class ValueStore implements IStore {
+       
+       public static Binding DatatypeBinding =
+               Bindings.getBindingUnchecked(Datatype.class);
+       public static Serializer DatatypeSerializer =
+               Bindings.getSerializerUnchecked(DatatypeBinding);
+       
+       TIntObjectHashMap<Variant> byteValues = new TIntObjectHashMap<Variant>();
+       TIntObjectHashMap<Datatype> datatypeValues = new TIntObjectHashMap<Datatype>();
+       TIntHashSet collisions = new TIntHashSet();
+       
+       public void map(final TIntIntHashMap map) {
+               collisions = IndexMappingUtils.map(map, collisions);
+               byteValues = IndexMappingUtils.map(map, byteValues, collisions);
+               datatypeValues = IndexMappingUtils.map(map, datatypeValues, collisions);
+       }
+       
+       public void setValue(int id, Variant value) {
+               if(byteValues.put(id, value) != null)
+                       collisions.add(id);
+       }
+       
+       public void setValue(int id, Datatype value) {
+               datatypeValues.put(id, value);
+       }
+
+       public Variant getByteValue(int id) {
+               return byteValues.get(id);
+       }
+       
+       private static final Binding DATATYPE_BINDING = 
+               Bindings.getBindingUnchecked(Datatype.class);
+       
+       public Datatype getDatatypeValue(int id) {
+               Datatype datatype = datatypeValues.get(id);
+               if(datatype == null) {
+                       Variant bytes = byteValues.get(id);
+                       if(bytes != null)
+                               try {
+                                       return (Datatype)bytes.getValue(DATATYPE_BINDING);
+                               } catch (AdaptException e) {
+                                       throw new RuntimeException(e);
+                               }
+               }
+               return datatype;
+       }
+
+       public Value[] toArray() {
+               final ArrayList<Value> values = new ArrayList<Value>();
+               byteValues.forEachEntry(new TIntObjectProcedure<Variant>() {
+                       @Override
+                       public boolean execute(int a, Variant b) {
+                               values.add(new Value(a, b));
+                               return true;
+                       }
+               });
+               datatypeValues.forEachEntry(new TIntObjectProcedure<Datatype>() {
+                   Binding datatypeBinding = Bindings.getBindingUnchecked(Datatype.class);
+                       @Override
+                       public boolean execute(int a, Datatype b) {
+                               if(!byteValues.containsKey(a))
+                                       try {
+                                               if(b == null)
+                                                       System.out.println("Resource " + a + " has null Datatype value.");
+                                               else
+                                                       values.add(new Value(a, new Variant(datatypeBinding, b)));
+                                       } catch (Exception e) {
+                                               throw new RuntimeException(e);
+                                       }
+                               return true;
+                       }
+               });
+               return values.toArray(new Value[values.size()]);
+       }
+       
+       public void collectReferences(final boolean[] set) {
+               TIntProcedure proc = new TIntProcedure() {                      
+                       @Override
+                       public boolean execute(int value) {
+                               set[value] = true;
+                               return true;
+                       }
+               };
+               
+               byteValues.forEach(proc);
+               datatypeValues.forEach(proc);
+       }
+       
+       public TIntHashSet getCollisions() {
+               datatypeValues.forEachKey(new TIntProcedure() {
+                       @Override
+                       public boolean execute(int value) {
+                               if(byteValues.containsKey(value))
+                                       collisions.add(value);
+                               return true;
+                       }
+               });
+               return collisions;
+       }
+}