LOG4J2-2215 reduce compiler warnings: suppress warnings: specified consumer can handle values of any type, in our case we pass Strings
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/c7397c8a Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/c7397c8a Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/c7397c8a Branch: refs/heads/master Commit: c7397c8a54c24b81d72633ad6d31256a9298f965 Parents: c8c970c Author: rpopma <[email protected]> Authored: Wed Jan 24 21:44:13 2018 +0900 Committer: rpopma <[email protected]> Committed: Wed Jan 24 21:44:13 2018 +0900 ---------------------------------------------------------------------- .../apache/logging/log4j/spi/DefaultThreadContextMap.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/c7397c8a/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java index 8f690dc..1e69a83 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java @@ -152,7 +152,10 @@ public class DefaultThreadContextMap implements ThreadContextMap, ReadOnlyString return; } for (final Map.Entry<String, String> entry : map.entrySet()) { - action.accept(entry.getKey(), (V) entry.getValue()); + //BiConsumer should be able to handle values of any type V. In our case the values are of type String. + @SuppressWarnings("unchecked") + V value = (V) entry.getValue(); + action.accept(entry.getKey(), value); } } @@ -163,7 +166,10 @@ public class DefaultThreadContextMap implements ThreadContextMap, ReadOnlyString return; } for (final Map.Entry<String, String> entry : map.entrySet()) { - action.accept(entry.getKey(), (V) entry.getValue(), state); + //TriConsumer should be able to handle values of any type V. In our case the values are of type String. + @SuppressWarnings("unchecked") + V value = (V) entry.getValue(); + action.accept(entry.getKey(), value, state); } }
