Thanks Mikael!

Sent from my iPhone

> On Jan 18, 2017, at 1:42, mi...@apache.org wrote:
> 
> Repository: logging-log4j2
> Updated Branches:
>  refs/heads/master 5b6322ae7 -> b886eca88
> 
> 
> LOG4J2-1648 ObjectThreadContextMap.putAllValues
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b886eca8
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b886eca8
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b886eca8
> 
> Branch: refs/heads/master
> Commit: b886eca883699b0ba07d3ab5fc2416efdbed34bf
> Parents: 5b6322a
> Author: Mikael Ståldal <mikael.stal...@magine.com>
> Authored: Tue Jan 17 17:42:19 2017 +0100
> Committer: Mikael Ståldal <mikael.stal...@magine.com>
> Committed: Tue Jan 17 17:42:19 2017 +0100
> 
> ----------------------------------------------------------------------
> .../spi/CopyOnWriteSortedArrayThreadContextMap.java   | 14 ++++++++++++++
> .../spi/GarbageFreeSortedArrayThreadContextMap.java   | 11 +++++++++++
> .../logging/log4j/spi/ObjectThreadContextMap.java     | 10 ++++++++++
> 3 files changed, 35 insertions(+)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b886eca8/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
>  
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
> index 3b06686..05b783c 100644
> --- 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
> +++ 
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
> @@ -134,6 +134,20 @@ class CopyOnWriteSortedArrayThreadContextMap implements 
> ReadOnlyThreadContextMap
>     }
> 
>     @Override
> +    public <V> void putAllValues(final Map<String, V> values) {
> +        if (values == null || values.isEmpty()) {
> +            return;
> +        }
> +        StringMap map = localMap.get();
> +        map = map == null ? createStringMap() : createStringMap(map);
> +        for (final Map.Entry<String, V> entry : values.entrySet()) {
> +            map.putValue(entry.getKey(), entry.getValue());
> +        }
> +        map.freeze();
> +        localMap.set(map);
> +    }
> +
> +    @Override
>     public String get(final String key) {
>         return (String) getValue(key);
>     }
> 
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b886eca8/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
>  
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
> index d8be3c9..f11fd66 100644
> --- 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
> +++ 
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
> @@ -131,6 +131,17 @@ class GarbageFreeSortedArrayThreadContextMap implements 
> ReadOnlyThreadContextMap
>     }
> 
>     @Override
> +    public <V> void putAllValues(final Map<String, V> values) {
> +        if (values == null || values.isEmpty()) {
> +            return;
> +        }
> +        final StringMap map = getThreadLocalMap();
> +        for (final Map.Entry<String, V> entry : values.entrySet()) {
> +            map.putValue(entry.getKey(), entry.getValue());
> +        }
> +    }
> +
> +    @Override
>     public String get(final String key) {
>         return (String) getValue(key);
>     }
> 
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b886eca8/log4j-api/src/main/java/org/apache/logging/log4j/spi/ObjectThreadContextMap.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ObjectThreadContextMap.java
>  
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ObjectThreadContextMap.java
> index 1c358aa..2148ddb 100644
> --- 
> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ObjectThreadContextMap.java
> +++ 
> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ObjectThreadContextMap.java
> @@ -16,6 +16,8 @@
>  */
> package org.apache.logging.log4j.spi;
> 
> +import java.util.Map;
> +
> /**
>  * Extension service provider interface to allow putting Object values in the
>  * {@link org.apache.logging.log4j.ThreadContext}.
> @@ -41,4 +43,12 @@ public interface ObjectThreadContextMap extends 
> CleanableThreadContextMap {
>      * @param value the value to add. Values may be {@code null}.
>      */
>     <V> void putValue(String key, V value);
> +
> +    /**
> +     * Puts all given key-value pairs into the collection.
> +     *
> +     * @param values the map of key-value pairs to add
> +     */
> +    <V> void putAllValues(Map<String, V> values);
> +
> }
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to