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 <[email protected]>
AuthorDate: Sun Oct 6 13:53:14 2019 -0500

    Refactor code to be more declarative
    
    Signed-off-by: Matt Sicker <[email protected]>
---
 .../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) {

Reply via email to