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 <[email protected]> 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 {
