diff options
author | OszkarSemerath <semerath@mit.bme.hu> | 2021-08-01 22:13:49 +0200 |
---|---|---|
committer | OszkarSemerath <semerath@mit.bme.hu> | 2021-08-01 22:13:49 +0200 |
commit | 59fd43462a7c5aa076c10ce3bb16121a7dc7edcc (patch) | |
tree | 1bd28bda68125fc70ce9bc330c7bafb2016ae8bf /model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java | |
parent | ContentEquals test + typo fix (diff) | |
download | refinery-59fd43462a7c5aa076c10ce3bb16121a7dc7edcc.tar.gz refinery-59fd43462a7c5aa076c10ce3bb16121a7dc7edcc.tar.zst refinery-59fd43462a7c5aa076c10ce3bb16121a7dc7edcc.zip |
KEY,VALUE replaced with K,V to please Sonar
Diffstat (limited to 'model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java')
-rw-r--r-- | model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java index 7b69ae54..5bcbf0c4 100644 --- a/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java +++ b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreImpl.java | |||
@@ -12,20 +12,20 @@ import org.eclipse.viatra.solver.data.map.internal.MapDiffCursor; | |||
12 | import org.eclipse.viatra.solver.data.map.internal.Node; | 12 | import org.eclipse.viatra.solver.data.map.internal.Node; |
13 | import org.eclipse.viatra.solver.data.map.internal.VersionedMapImpl; | 13 | import org.eclipse.viatra.solver.data.map.internal.VersionedMapImpl; |
14 | 14 | ||
15 | public class VersionedMapStoreImpl<KEY, VALUE> implements VersionedMapStore<KEY, VALUE> { | 15 | public class VersionedMapStoreImpl<K, V> implements VersionedMapStore<K, V> { |
16 | // Configuration | 16 | // Configuration |
17 | private final boolean immutableWhenCommiting; | 17 | private final boolean immutableWhenCommiting; |
18 | 18 | ||
19 | // Static data | 19 | // Static data |
20 | protected final ContinousHashProvider<? super KEY> hashProvider; | 20 | protected final ContinousHashProvider<? super K> hashProvider; |
21 | protected final VALUE defaultValue; | 21 | protected final V defaultValue; |
22 | 22 | ||
23 | // Dynamic data | 23 | // Dynamic data |
24 | protected final Map<Long, ImmutableNode<KEY, VALUE>> states = new HashMap<>(); | 24 | protected final Map<Long, ImmutableNode<K, V>> states = new HashMap<>(); |
25 | protected final Map<Node<KEY, VALUE>, ImmutableNode<KEY, VALUE>> nodeCache; | 25 | protected final Map<Node<K, V>, ImmutableNode<K, V>> nodeCache; |
26 | protected long nextID = 0; | 26 | protected long nextID = 0; |
27 | 27 | ||
28 | public VersionedMapStoreImpl(ContinousHashProvider<? super KEY> hashProvider, VALUE defaultValue, | 28 | public VersionedMapStoreImpl(ContinousHashProvider<? super K> hashProvider, V defaultValue, |
29 | VersionedMapStoreConfiguration config) { | 29 | VersionedMapStoreConfiguration config) { |
30 | this.immutableWhenCommiting = config.immutableWhenCommiting; | 30 | this.immutableWhenCommiting = config.immutableWhenCommiting; |
31 | this.hashProvider = hashProvider; | 31 | this.hashProvider = hashProvider; |
@@ -37,42 +37,42 @@ public class VersionedMapStoreImpl<KEY, VALUE> implements VersionedMapStore<KEY, | |||
37 | } | 37 | } |
38 | } | 38 | } |
39 | 39 | ||
40 | private VersionedMapStoreImpl(ContinousHashProvider<? super KEY> hashProvider, VALUE defaultValue, | 40 | private VersionedMapStoreImpl(ContinousHashProvider<K> hashProvider, V defaultValue, |
41 | Map<Node<KEY, VALUE>, ImmutableNode<KEY, VALUE>> nodeCache, VersionedMapStoreConfiguration config) { | 41 | Map<Node<K, V>, ImmutableNode<K, V>> nodeCache, VersionedMapStoreConfiguration config) { |
42 | this.immutableWhenCommiting = config.immutableWhenCommiting; | 42 | this.immutableWhenCommiting = config.immutableWhenCommiting; |
43 | this.hashProvider = hashProvider; | 43 | this.hashProvider = hashProvider; |
44 | this.defaultValue = defaultValue; | 44 | this.defaultValue = defaultValue; |
45 | this.nodeCache = nodeCache; | 45 | this.nodeCache = nodeCache; |
46 | } | 46 | } |
47 | 47 | ||
48 | public VersionedMapStoreImpl(ContinousHashProvider<KEY> hashProvider, VALUE defaultValue) { | 48 | public VersionedMapStoreImpl(ContinousHashProvider<K> hashProvider, V defaultValue) { |
49 | this(hashProvider, defaultValue, new VersionedMapStoreConfiguration()); | 49 | this(hashProvider, defaultValue, new VersionedMapStoreConfiguration()); |
50 | } | 50 | } |
51 | 51 | ||
52 | public static <KEY, VALUE> List<VersionedMapStore<KEY, VALUE>> createSharedVersionedMapStores(int amount, | 52 | public static <K, V> List<VersionedMapStore<K, V>> createSharedVersionedMapStores(int amount, |
53 | ContinousHashProvider<? super KEY> hashProvider, VALUE defaultValue, | 53 | ContinousHashProvider<K> hashProvider, V defaultValue, |
54 | VersionedMapStoreConfiguration config) { | 54 | VersionedMapStoreConfiguration config) { |
55 | List<VersionedMapStore<KEY, VALUE>> result = new ArrayList<>(amount); | 55 | List<VersionedMapStore<K, V>> result = new ArrayList<>(amount); |
56 | if (config.sharedNodeCacheInStoreGroups) { | 56 | if (config.sharedNodeCacheInStoreGroups) { |
57 | Map<Node<KEY, VALUE>, ImmutableNode<KEY, VALUE>> nodeCache; | 57 | Map<Node<K, V>, ImmutableNode<K, V>> nodeCache; |
58 | if (config.sharedNodeCacheInStore) { | 58 | if (config.sharedNodeCacheInStore) { |
59 | nodeCache = new HashMap<>(); | 59 | nodeCache = new HashMap<>(); |
60 | } else { | 60 | } else { |
61 | nodeCache = null; | 61 | nodeCache = null; |
62 | } | 62 | } |
63 | for (int i = 0; i < amount; i++) { | 63 | for (int i = 0; i < amount; i++) { |
64 | result.add(new VersionedMapStoreImpl<KEY, VALUE>(hashProvider, defaultValue, nodeCache, config)); | 64 | result.add(new VersionedMapStoreImpl<K, V>(hashProvider, defaultValue, nodeCache, config)); |
65 | } | 65 | } |
66 | } else { | 66 | } else { |
67 | for (int i = 0; i < amount; i++) { | 67 | for (int i = 0; i < amount; i++) { |
68 | result.add(new VersionedMapStoreImpl<KEY, VALUE>(hashProvider, defaultValue, config)); | 68 | result.add(new VersionedMapStoreImpl<K, V>(hashProvider, defaultValue, config)); |
69 | } | 69 | } |
70 | } | 70 | } |
71 | return result; | 71 | return result; |
72 | } | 72 | } |
73 | 73 | ||
74 | public static <KEY, VALUE> List<VersionedMapStore<KEY, VALUE>> createSharedVersionedMapStores(int amount, | 74 | public static <K, V> List<VersionedMapStore<K, V>> createSharedVersionedMapStores(int amount, |
75 | ContinousHashProvider<? super KEY> hashProvider, VALUE defaultValue) { | 75 | ContinousHashProvider<K> hashProvider, V defaultValue) { |
76 | return createSharedVersionedMapStores(amount, hashProvider, defaultValue, new VersionedMapStoreConfiguration()); | 76 | return createSharedVersionedMapStores(amount, hashProvider, defaultValue, new VersionedMapStoreConfiguration()); |
77 | } | 77 | } |
78 | 78 | ||
@@ -81,17 +81,17 @@ public class VersionedMapStoreImpl<KEY, VALUE> implements VersionedMapStore<KEY, | |||
81 | } | 81 | } |
82 | 82 | ||
83 | @Override | 83 | @Override |
84 | public VersionedMap<KEY, VALUE> createMap() { | 84 | public VersionedMap<K, V> createMap() { |
85 | return new VersionedMapImpl<KEY, VALUE>(this, hashProvider, defaultValue); | 85 | return new VersionedMapImpl<K, V>(this, hashProvider, defaultValue); |
86 | } | 86 | } |
87 | 87 | ||
88 | @Override | 88 | @Override |
89 | public VersionedMap<KEY, VALUE> createMap(long state) { | 89 | public VersionedMap<K, V> createMap(long state) { |
90 | ImmutableNode<KEY, VALUE> data = revert(state); | 90 | ImmutableNode<K, V> data = revert(state); |
91 | return new VersionedMapImpl<KEY, VALUE>(this, hashProvider, defaultValue, data); | 91 | return new VersionedMapImpl<K, V>(this, hashProvider, defaultValue, data); |
92 | } | 92 | } |
93 | 93 | ||
94 | public synchronized ImmutableNode<KEY, VALUE> revert(long state) { | 94 | public synchronized ImmutableNode<K, V> revert(long state) { |
95 | if (states.containsKey(state)) { | 95 | if (states.containsKey(state)) { |
96 | return states.get(state); | 96 | return states.get(state); |
97 | } else { | 97 | } else { |
@@ -102,8 +102,8 @@ public class VersionedMapStoreImpl<KEY, VALUE> implements VersionedMapStore<KEY, | |||
102 | } | 102 | } |
103 | } | 103 | } |
104 | 104 | ||
105 | public synchronized long commit(Node<KEY, VALUE> data, VersionedMapImpl<KEY, VALUE> mapToUpdateRoot) { | 105 | public synchronized long commit(Node<K, V> data, VersionedMapImpl<K, V> mapToUpdateRoot) { |
106 | ImmutableNode<KEY, VALUE> immutable; | 106 | ImmutableNode<K, V> immutable; |
107 | if (data != null) { | 107 | if (data != null) { |
108 | immutable = data.toImmutable(this.nodeCache); | 108 | immutable = data.toImmutable(this.nodeCache); |
109 | } else { | 109 | } else { |
@@ -121,11 +121,11 @@ public class VersionedMapStoreImpl<KEY, VALUE> implements VersionedMapStore<KEY, | |||
121 | } | 121 | } |
122 | 122 | ||
123 | @Override | 123 | @Override |
124 | public DiffCursor<KEY, VALUE> getDiffCursor(long fromState, long toState) { | 124 | public DiffCursor<K, V> getDiffCursor(long fromState, long toState) { |
125 | VersionedMap<KEY, VALUE> map1 = createMap(fromState); | 125 | VersionedMap<K, V> map1 = createMap(fromState); |
126 | VersionedMap<KEY, VALUE> map2 = createMap(toState); | 126 | VersionedMap<K, V> map2 = createMap(toState); |
127 | Cursor<KEY, VALUE> cursor1 = map1.getCursor(); | 127 | Cursor<K, V> cursor1 = map1.getCursor(); |
128 | Cursor<KEY, VALUE> cursor2 = map2.getCursor(); | 128 | Cursor<K, V> cursor2 = map2.getCursor(); |
129 | return new MapDiffCursor<KEY, VALUE>(this.hashProvider, this.defaultValue, cursor1, cursor2); | 129 | return new MapDiffCursor<K, V>(this.hashProvider, this.defaultValue, cursor1, cursor2); |
130 | } | 130 | } |
131 | } | 131 | } |