You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2022/03/30 21:38:02 UTC
[logging-log4j2] 12/15: Log4j 1.2 bridge internal refactoring adds getBooleanValueAttribute().
This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit a7d8b07faa00a4f112c57c00e425b2b487f368b7
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Feb 21 08:30:31 2022 -0500
Log4j 1.2 bridge internal refactoring adds getBooleanValueAttribute().
Conflicts:
log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java
---
.../org/apache/log4j/builders/AbstractBuilder.java | 4 +++
.../builders/filter/LevelMatchFilterBuilder.java | 2 +-
.../builders/filter/LevelRangeFilterBuilder.java | 2 +-
.../builders/filter/StringMatchFilterBuilder.java | 2 +-
.../log4j/builders/layout/HtmlLayoutBuilder.java | 2 +-
.../log4j/builders/layout/TTCCLayoutBuilder.java | 6 ++--
.../log4j/builders/layout/XmlLayoutBuilder.java | 4 +--
.../org/apache/log4j/xml/XmlConfiguration.java | 37 ++++++++++------------
8 files changed, 30 insertions(+), 29 deletions(-)
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/AbstractBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/AbstractBuilder.java
index a293f62..96a775f 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/AbstractBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/AbstractBuilder.java
@@ -100,6 +100,10 @@ public abstract class AbstractBuilder<T> implements Builder<T> {
return getBooleanProperty(key, false);
}
+ protected boolean getBooleanValueAttribute(final Element element) {
+ return Boolean.parseBoolean(getValueAttribute(element));
+ }
+
public int getIntegerProperty(final String key, final int defaultValue) {
String value = null;
try {
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelMatchFilterBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelMatchFilterBuilder.java
index 8cfe1f9..d4768bb 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelMatchFilterBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelMatchFilterBuilder.java
@@ -61,7 +61,7 @@ public class LevelMatchFilterBuilder extends AbstractBuilder<Filter> implements
level.set(getValueAttribute(currentElement));
break;
case ACCEPT_ON_MATCH:
- acceptOnMatch.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ acceptOnMatch.set(getBooleanValueAttribute(currentElement));
break;
}
}
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelRangeFilterBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelRangeFilterBuilder.java
index 477e325..d3fd09a 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelRangeFilterBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelRangeFilterBuilder.java
@@ -67,7 +67,7 @@ public class LevelRangeFilterBuilder extends AbstractBuilder<Filter> implements
levelMax.set(getValueAttribute(currentElement));
break;
case ACCEPT_ON_MATCH:
- acceptOnMatch.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ acceptOnMatch.set(getBooleanValueAttribute(currentElement));
break;
}
}
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/StringMatchFilterBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/StringMatchFilterBuilder.java
index df19f86..375e239 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/StringMatchFilterBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/StringMatchFilterBuilder.java
@@ -55,7 +55,7 @@ public class StringMatchFilterBuilder extends AbstractBuilder<Filter> implements
text.set(getValueAttribute(currentElement));
break;
case ACCEPT_ON_MATCH:
- acceptOnMatch.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ acceptOnMatch.set(getBooleanValueAttribute(currentElement));
break;
}
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
index 3ee651b..6b735f2 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
@@ -60,7 +60,7 @@ public class HtmlLayoutBuilder extends AbstractBuilder<Layout> implements Layout
if (TITLE_PARAM.equalsIgnoreCase(currentElement.getAttribute("name"))) {
title.set(currentElement.getAttribute("value"));
} else if (LOCATION_INFO_PARAM.equalsIgnoreCase(currentElement.getAttribute("name"))) {
- locationInfo.set(Boolean.parseBoolean(currentElement.getAttribute("value")));
+ locationInfo.set(getBooleanValueAttribute(currentElement));
}
}
});
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
index d69933a..fc14802 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
@@ -64,13 +64,13 @@ public class TTCCLayoutBuilder extends AbstractBuilder<Layout> implements Layout
if (currentElement.getTagName().equals(PARAM_TAG)) {
switch (getNameAttributeKey(currentElement)) {
case THREAD_PRINTING_PARAM:
- threadPrinting.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ threadPrinting.set(getBooleanValueAttribute(currentElement));
break;
case CATEGORY_PREFIXING_PARAM:
- categoryPrefixing.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ categoryPrefixing.set(getBooleanValueAttribute(currentElement));
break;
case CONTEXT_PRINTING_PARAM:
- contextPrinting.set(Boolean.parseBoolean(getValueAttribute(currentElement)));
+ contextPrinting.set(getBooleanValueAttribute(currentElement));
break;
case DATE_FORMAT_PARAM:
dateFormat.set(getValueAttribute(currentElement));
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
index 6918684..1d6e4f9 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
@@ -55,9 +55,9 @@ public class XmlLayoutBuilder extends AbstractBuilder<Layout> implements LayoutB
final AtomicBoolean locationInfo = new AtomicBoolean();
forEachElement(layoutElement.getElementsByTagName(PARAM_TAG), currentElement -> {
if (PROPERTIES.equalsIgnoreCase(currentElement.getAttribute("name"))) {
- properties.set(Boolean.parseBoolean(currentElement.getAttribute("value")));
+ properties.set(getBooleanValueAttribute(currentElement));
} else if (LOCATION_INFO.equalsIgnoreCase(currentElement.getAttribute("name"))) {
- locationInfo.set(Boolean.parseBoolean(currentElement.getAttribute("value")));
+ locationInfo.set(getBooleanValueAttribute(currentElement));
}
});
return createLayout(properties.get(), locationInfo.get());
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java
index 869bf9b..ca7941e 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java
@@ -16,6 +16,20 @@
*/
package org.apache.log4j.xml;
+
+import java.io.IOException;
+import java.io.InterruptedIOException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.function.Consumer;
+import java.util.stream.IntStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.FactoryConfigurationError;
+
import org.apache.log4j.Appender;
import org.apache.log4j.Layout;
import org.apache.log4j.Level;
@@ -46,17 +60,6 @@ import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.function.Consumer;
-
/**
* Class Description goes here.
*/
@@ -789,15 +792,9 @@ public class XmlConfiguration extends Log4j1Configuration {
}
public static void forEachElement(NodeList list, Consumer<Element> consumer) {
- final int length = list.getLength();
- for (int loop = 0; loop < length; loop++) {
- Node currentNode = list.item(loop);
-
- if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
- Element currentElement = (Element) currentNode;
- consumer.accept(currentElement);
- }
- }
+ IntStream.range(0, list.getLength()).mapToObj(list::item)
+ .filter(node -> node.getNodeType() == Node.ELEMENT_NODE)
+ .forEach(node -> consumer.accept((Element) node));
}
private interface ParseAction {