X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.graph%2Fsrc%2Forg%2Fsimantics%2Fgraph%2Fstore%2FIndexMappingUtils.java;h=36f533aaa28899e54f93eeb07a158a02820e3a8c;hp=29be57cd4d6725dfc4b714fc6237b8b3c67d3a57;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.graph/src/org/simantics/graph/store/IndexMappingUtils.java b/bundles/org.simantics.graph/src/org/simantics/graph/store/IndexMappingUtils.java index 29be57cd4..36f533aaa 100644 --- a/bundles/org.simantics.graph/src/org/simantics/graph/store/IndexMappingUtils.java +++ b/bundles/org.simantics.graph/src/org/simantics/graph/store/IndexMappingUtils.java @@ -1,73 +1,73 @@ -package org.simantics.graph.store; - -import gnu.trove.list.array.TIntArrayList; -import gnu.trove.map.hash.TIntIntHashMap; -import gnu.trove.map.hash.TIntObjectHashMap; -import gnu.trove.map.hash.TObjectIntHashMap; -import gnu.trove.procedure.TIntObjectProcedure; -import gnu.trove.procedure.TIntProcedure; -import gnu.trove.procedure.TObjectIntProcedure; -import gnu.trove.set.hash.TIntHashSet; - -public class IndexMappingUtils { - - public static TIntObjectHashMap map(final TIntIntHashMap map, TIntObjectHashMap target, - final TIntHashSet collisions) { - final TIntObjectHashMap newTarget = new TIntObjectHashMap(); - target.forEachEntry(new TIntObjectProcedure() { - @Override - public boolean execute(int a, T b) { - if(map.contains(a)) - a = map.get(a); - if(newTarget.put(a, b) != null) - collisions.add(a); - return true; - } - }); - return newTarget; - } - - public static void map(TIntIntHashMap map, TIntArrayList target) { - int size = target.size(); - for(int i=0;i void map(final TIntIntHashMap map, - final TObjectIntHashMap target) { - target.forEachEntry(new TObjectIntProcedure() { - @Override - public boolean execute(T a, int b) { - if(map.containsKey(b)) - target.put(a, map.get(b)); - return true; - } - }); - } - - public static TIntHashSet map(final TIntIntHashMap map, TIntHashSet target) { - final TIntHashSet newTarget = new TIntHashSet(); - target.forEach(new TIntProcedure() { - @Override - public boolean execute(int a) { - if(map.contains(a)) - a = map.get(a); - newTarget.add(a); - return true; - } - }); - return newTarget; - } - - public static void map(TIntIntHashMap map, int[] target) { - for(int i=0;i TIntObjectHashMap map(final TIntIntHashMap map, TIntObjectHashMap target, + final TIntHashSet collisions) { + final TIntObjectHashMap newTarget = new TIntObjectHashMap(); + target.forEachEntry(new TIntObjectProcedure() { + @Override + public boolean execute(int a, T b) { + if(map.contains(a)) + a = map.get(a); + if(newTarget.put(a, b) != null) + collisions.add(a); + return true; + } + }); + return newTarget; + } + + public static void map(TIntIntHashMap map, TIntArrayList target) { + int size = target.size(); + for(int i=0;i void map(final TIntIntHashMap map, + final TObjectIntHashMap target) { + target.forEachEntry(new TObjectIntProcedure() { + @Override + public boolean execute(T a, int b) { + if(map.containsKey(b)) + target.put(a, map.get(b)); + return true; + } + }); + } + + public static TIntHashSet map(final TIntIntHashMap map, TIntHashSet target) { + final TIntHashSet newTarget = new TIntHashSet(); + target.forEach(new TIntProcedure() { + @Override + public boolean execute(int a) { + if(map.contains(a)) + a = map.get(a); + newTarget.add(a); + return true; + } + }); + return newTarget; + } + + public static void map(TIntIntHashMap map, int[] target) { + for(int i=0;i