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 {