LOG4J2-1349 added putAll(Map<String,String> method (same erasure as putAll(K, V)...)
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4a0962b6 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4a0962b6 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4a0962b6 Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext Commit: 4a0962b67ca7a4e73da859265cb60d3bb16e1070 Parents: efb2293 Author: rpopma <[email protected]> Authored: Fri Aug 19 23:17:04 2016 +0900 Committer: rpopma <[email protected]> Committed: Tue Aug 23 00:31:05 2016 +0900 ---------------------------------------------------------------------- .../log4j/spi/OpenHashMapContextData.java | 35 +++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4a0962b6/log4j-api/src/main/java/org/apache/logging/log4j/spi/OpenHashMapContextData.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/OpenHashMapContextData.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/OpenHashMapContextData.java index 9f27a6c..00712cc 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/OpenHashMapContextData.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/OpenHashMapContextData.java @@ -140,7 +140,8 @@ public class OpenHashMapContextData<K, V> implements MutableContextData, ThreadC * @param map * a {@link Map} to be copied into the new hash map. */ - public OpenHashMapContextData(final Map<? extends K, ? extends V> map) { + // TODO public OpenHashMapContextData(final Map<? extends K, ? extends V> map) { + public OpenHashMapContextData(final Map<String, String> map) { this(map, DEFAULT_LOAD_FACTOR); } /** @@ -151,7 +152,8 @@ public class OpenHashMapContextData<K, V> implements MutableContextData, ThreadC * @param f * the load factor. */ - public OpenHashMapContextData(final Map<? extends K, ? extends V> map, final float f) { + // TODO public OpenHashMapContextData(final Map<? extends K, ? extends V> map, final float f) { + public OpenHashMapContextData(final Map<String, String> map, final float f) { this(map.size(), f); putAll(map); } @@ -221,20 +223,6 @@ public class OpenHashMapContextData<K, V> implements MutableContextData, ThreadC } } - /** {@inheritDoc} */ - public void putAll(Map<? extends K, ? extends V> map) { - if (loadFactor <= .5) { - // The resulting map will be sized for m.size() elements - ensureCapacity(map.size()); - } else { - // The resulting map will be tentatively sized for size() + m.size() elements - tryCapacity(size() + map.size()); - } - for (Map.Entry<? extends K, ? extends V> entry : map.entrySet()) { - putObjectValue(entry.getKey(), entry.getValue()); - } - } - @Override public Map<String, String> asMap() { final Map<String, String> result = new HashMap<>(size); @@ -471,6 +459,21 @@ public class OpenHashMapContextData<K, V> implements MutableContextData, ThreadC } } + /** {@inheritDoc} */ + //TODO public void putAll(Map<? extends K, ? extends V> map) { + public void putAll(Map<String, String> map) { + if (loadFactor <= .5) { + // The resulting map will be sized for m.size() elements + ensureCapacity(map.size()); + } else { + // The resulting map will be tentatively sized for size() + m.size() elements + tryCapacity(size() + map.size()); + } + for (Map.Entry<String, String> entry : map.entrySet()) { + putValue(entry.getKey(), entry.getValue()); + } + } + private V putObjectValue(final K k, final V v) { final int pos = insert(k, v); if (pos < 0) {
