You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2019/10/06 18:54:04 UTC

[logging-log4j2] 02/02: Refactor code to be more declarative

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit b72ac8ce09efc4ab3e12a2e95a9f655ec9b04e73
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sun Oct 6 13:53:14 2019 -0500

    Refactor code to be more declarative
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../core/config/plugins/visitors/PluginAttributeVisitor.java | 12 ++++--------
 .../log4j/plugins/inject/PluginAttributeInjector.java        | 12 ++++--------
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
index dcc5220..ca88b3c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
@@ -26,7 +26,6 @@ import org.apache.logging.log4j.util.Strings;
 import java.lang.reflect.Type;
 import java.util.Collections;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Function;
 
@@ -62,13 +61,10 @@ public class PluginAttributeVisitor extends AbstractConfigurationInjector<Plugin
 
     @Override
     public Object inject(final Object target) {
-        final Optional<String> value = findAndRemoveNodeAttribute().map(stringSubstitutionStrategy);
-        if (value.isPresent()) {
-            final String s = value.get();
-            return optionBinder.bindString(target, s);
-        } else {
-            return injectDefaultValue(target);
-        }
+        return findAndRemoveNodeAttribute()
+                .map(stringSubstitutionStrategy)
+                .map(value -> optionBinder.bindString(target, value))
+                .orElseGet(() -> injectDefaultValue(target));
     }
 
     private Object injectDefaultValue(final Object target) {
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
index 1805844..e03eae8 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
@@ -8,7 +8,6 @@ import org.apache.logging.log4j.util.Strings;
 import java.lang.reflect.Type;
 import java.util.Collections;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Function;
 
@@ -40,13 +39,10 @@ public class PluginAttributeInjector extends AbstractConfigurationInjector<Plugi
 
     @Override
     public Object inject(final Object target) {
-        final Optional<String> value = findAndRemoveNodeAttribute().map(stringSubstitutionStrategy);
-        if (value.isPresent()) {
-            final String s = value.get();
-            return optionBinder.bindString(target, s);
-        } else {
-            return injectDefaultValue(target);
-        }
+        return findAndRemoveNodeAttribute()
+                .map(stringSubstitutionStrategy)
+                .map(value -> optionBinder.bindString(target, value))
+                .orElseGet(() -> injectDefaultValue(target));
     }
 
     private Object injectDefaultValue(final Object target) {