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) {