This is an automated email from the git hooks/post-receive script. eugene-guest pushed a commit to annotated tag OpenBSD in repository testng.
commit 5f1174b27ba59ecbba6a5498cad5369f1d95bb97 Author: Julien Herr <[email protected]> Date: Mon Apr 13 14:12:09 2015 +0200 Fit with Java and/or Guava API --- .../java/org/testng/collections/ListMultiMap.java | 52 +++++++++++++++++++--- .../java/org/testng/collections/SetMultiMap.java | 49 +++++++++++++++++--- 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/testng/collections/ListMultiMap.java b/src/main/java/org/testng/collections/ListMultiMap.java index c2ff651..1c7a8b2 100644 --- a/src/main/java/org/testng/collections/ListMultiMap.java +++ b/src/main/java/org/testng/collections/ListMultiMap.java @@ -3,6 +3,7 @@ package org.testng.collections; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -12,23 +13,30 @@ import java.util.Set; * A container to hold lists indexed by a key. */ public class ListMultiMap<K, V> { - private Map<K, List<V>> m_objects = Maps.newHashMap(); + private final Map<K, List<V>> m_objects = Maps.newHashMap(); - public void put(K key, V method) { + public boolean put(K key, V method) { + boolean setExists = true; List<V> l = m_objects.get(key); if (l == null) { + setExists = false; l = Lists.newArrayList(); m_objects.put(key, l); } - l.add(method); + return l.add(method) && setExists; } public List<V> get(K key) { return m_objects.get(key); } + @Deprecated public List<K> getKeys() { - return new ArrayList(m_objects.keySet()); + return new ArrayList<>(m_objects.keySet()); + } + + public Set<K> keySet() { + return new HashSet(m_objects.keySet()); } public boolean containsKey(K k) { @@ -38,7 +46,7 @@ public class ListMultiMap<K, V> { @Override public String toString() { StringBuilder result = new StringBuilder(); - List<K> indices = getKeys(); + Set<K> indices = keySet(); for (K i : indices) { result.append("\n ").append(i).append(" <-- "); for (Object o : m_objects.get(i)) { @@ -52,26 +60,56 @@ public class ListMultiMap<K, V> { return m_objects.size() == 0; } + @Deprecated public int getSize() { + return size(); + } + + public int size() { return m_objects.size(); } + @Deprecated public List<V> remove(K key) { + return removeAll(key); + } + + public boolean remove(K key, V value) { + List<V> values = get(key); + if (values == null) { + return false; + } + return values.remove(value); + } + + public List<V> removeAll(K key) { return m_objects.remove(key); } + @Deprecated public Set<Entry<K, List<V>>> getEntrySet() { + return entrySet(); + } + + public Set<Entry<K, List<V>>> entrySet() { return m_objects.entrySet(); } + @Deprecated public Collection<List<V>> getValues() { + return values(); + } + + public Collection<List<V>> values() { return m_objects.values(); } - public void putAll(K k, Collection<V> values) { + public boolean putAll(K k, Collection<? extends V> values) { + boolean result = false; for (V v : values) { - put(k, v); + result = put(k, v) || result; } + return result; } public static <K, V> ListMultiMap<K, V> create() { diff --git a/src/main/java/org/testng/collections/SetMultiMap.java b/src/main/java/org/testng/collections/SetMultiMap.java index 44bae95..9576bd1 100644 --- a/src/main/java/org/testng/collections/SetMultiMap.java +++ b/src/main/java/org/testng/collections/SetMultiMap.java @@ -10,22 +10,29 @@ import java.util.Set; * A container to hold sets indexed by a key. */ public class SetMultiMap<K, V> { - private Map<K, Set<V>> m_objects = Maps.newHashMap(); + private final Map<K, Set<V>> m_objects = Maps.newHashMap(); - public void put(K key, V method) { + public boolean put(K key, V method) { + boolean setExists = true; Set<V> l = m_objects.get(key); if (l == null) { + setExists = false; l = Sets.newHashSet(); m_objects.put(key, l); } - l.add(method); + return l.add(method) && setExists; } public Set<V> get(K key) { return m_objects.get(key); } + @Deprecated public Set<K> getKeys() { + return keySet(); + } + + public Set<K> keySet() { return new HashSet(m_objects.keySet()); } @@ -36,7 +43,7 @@ public class SetMultiMap<K, V> { @Override public String toString() { StringBuilder result = new StringBuilder(); - Set<K> indices = getKeys(); + Set<K> indices = keySet(); for (K i : indices) { result.append("\n ").append(i).append(" <-- "); for (Object o : m_objects.get(i)) { @@ -50,25 +57,55 @@ public class SetMultiMap<K, V> { return m_objects.size() == 0; } + @Deprecated public int getSize() { + return size(); + } + + public int size() { return m_objects.size(); } + @Deprecated public Set<V> remove(K key) { + return removeAll(key); + } + + public boolean remove(K key, V value) { + Set<V> values = get(key); + if (values == null) { + return false; + } + return values.remove(value); + } + + public Set<V> removeAll(K key) { return m_objects.remove(key); } + @Deprecated public Set<Entry<K, Set<V>>> getEntrySet() { + return entrySet(); + } + + public Set<Entry<K, Set<V>>> entrySet() { return m_objects.entrySet(); } + @Deprecated public Collection<Set<V>> getValues() { + return values(); + } + + public Collection<Set<V>> values() { return m_objects.values(); } - public void putAll(K k, Collection<V> values) { + public boolean putAll(K k, Collection<? extends V> values) { + boolean result = false; for (V v : values) { - put(k, v); + result = put(k, v) || result; } + return result; } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

