You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/08/30 14:44:58 UTC

[19/50] logging-log4j2 git commit: Remove XML writing in AbstactConfiguration

Remove XML writing in AbstactConfiguration


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/3e7df46b
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/3e7df46b
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/3e7df46b

Branch: refs/heads/LOG4J2-1010&LOG4J2-1447-injectable-contextdata&better-datastructure
Commit: 3e7df46bbdc4c7b1c0b5bb35572f4691e91d761e
Parents: 4ae1cc2
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 20:19:22 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 20:19:22 2016 +0200

----------------------------------------------------------------------
 .../core/config/AbstractConfiguration.java      | 154 -------------------
 .../builder/ConfigurationBuilderTest.java       |  43 +-----
 2 files changed, 2 insertions(+), 195 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3e7df46b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index 49a401b..ef3f668 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -46,17 +46,11 @@ import org.apache.logging.log4j.core.util.NameUtil;
 import org.apache.logging.log4j.core.util.NanoClock;
 import org.apache.logging.log4j.core.util.WatchManager;
 import org.apache.logging.log4j.util.PropertiesUtil;
-import org.apache.logging.log4j.util.Strings;
 
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.Serializable;
-import java.io.StringWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -187,154 +181,6 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
         return rootNode;
     }
 
-    private static final List<String> SECTION_NAMES =
-            Arrays.asList("Properties", "Scripts", "CustomLevels", "Filters", "Appenders", "Loggers");
-
-    public void writeXmlConfiguration(final OutputStream output) throws IOException {
-        try {
-            XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
-            writeXmlConfiguration(xmlWriter);
-            xmlWriter.close();
-        } catch (XMLStreamException e) {
-            if (e.getNestedException() instanceof IOException) {
-                throw (IOException)e.getNestedException();
-            } else {
-                throw new RuntimeException(e);
-            }
-        }
-    }
-
-    public String toXmlConfiguration() {
-        StringWriter sw = new StringWriter();
-        try {
-            XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
-            writeXmlConfiguration(xmlWriter);
-            xmlWriter.close();
-        } catch (XMLStreamException e) {
-            throw new RuntimeException(e);
-        }
-        return sw.toString();
-    }
-
-    private void writeXmlConfiguration(XMLStreamWriter xmlWriter) throws XMLStreamException {
-        xmlWriter.writeStartDocument();
-        xmlWriter.writeCharacters(System.lineSeparator());
-
-        xmlWriter.writeStartElement("Configuration");
-
-        if (name != null) {
-            xmlWriter.writeAttribute("name", getName());
-        }
-        /* TODO status logger config
-        if (level != null) {
-            xmlWriter.writeAttribute("status", level.name());
-        }
-        if (verbosity != null) {
-            xmlWriter.writeAttribute("verbose", verbosity);
-        }
-        if (destination != null) {
-            xmlWriter.writeAttribute("dest", destination);
-        }
-        */
-        if (!getPluginPackages().isEmpty()) {
-            xmlWriter.writeAttribute("packages", Strings.join(getPluginPackages(), ','));
-        }
-        if (!isShutdownHookEnabled()) {
-            xmlWriter.writeAttribute("shutdownHook", "disable");
-        }
-        if (advertiserNode != null) {
-            xmlWriter.writeAttribute("advertiser", advertiserNode.getName());
-        }
-        if (getWatchManager().getIntervalSeconds() > 0) {
-            xmlWriter.writeAttribute("monitorInterval", String.valueOf(getWatchManager().getIntervalSeconds()));
-        }
-
-        xmlWriter.writeCharacters(System.lineSeparator());
-
-        writeXmlSection(xmlWriter, lookupSection("Properties"));
-        writeXmlSection(xmlWriter, lookupSection("Scripts"));
-        writeXmlSection(xmlWriter, lookupSection("CustomLevels"));
-        Node filters = lookupSection("Filters");
-        if (filters != null) {
-            writeXmlSection(xmlWriter, filters);
-        } else {
-            Node filter = lookupFilter();
-            if (filter != null) {
-                writeXmlNode(xmlWriter, filter, 1);
-            }
-        }
-
-        writeXmlSection(xmlWriter, lookupSection("Appenders"));
-        writeXmlSection(xmlWriter, lookupSection("Loggers"));
-
-        xmlWriter.writeEndElement(); // "Configuration"
-        xmlWriter.writeCharacters(System.lineSeparator());
-
-        xmlWriter.writeEndDocument();
-    }
-
-    private Node lookupSection(String name) {
-        for (final Node child : rootNode.getChildren()) {
-            if (child.getName().equalsIgnoreCase(name)) {
-                return child;
-            }
-        }
-        return null;
-    }
-
-    private Node lookupFilter() {
-        for (final Node child : rootNode.getChildren()) {
-            if (!SECTION_NAMES.contains(child.getName())) {
-                return child;
-            }
-        }
-        return null;
-    }
-
-    private void writeXmlSection(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
-        if (node != null && (!node.getAttributes().isEmpty() || !node.getChildren().isEmpty() || node.getValue() != null)) {
-            writeXmlNode(xmlWriter, node, 1);
-        }
-    }
-
-    private void writeXmlNode(XMLStreamWriter xmlWriter, Node node, int nesting) throws XMLStreamException {
-        if (!node.getChildren().isEmpty() || node.getValue() != null) {
-            writeXmlIndent(xmlWriter, nesting);
-            xmlWriter.writeStartElement(node.getName());
-            writeXmlAttributes(xmlWriter, node);
-            if (!node.getChildren().isEmpty()) {
-                xmlWriter.writeCharacters(System.lineSeparator());
-            }
-            for (Node childNode : node.getChildren()) {
-                writeXmlNode(xmlWriter, childNode, nesting + 1);
-            }
-            if (node.getValue() != null) {
-                xmlWriter.writeCharacters(node.getValue());
-            }
-            if (!node.getChildren().isEmpty()) {
-                writeXmlIndent(xmlWriter, nesting);
-            }
-            xmlWriter.writeEndElement();
-        } else {
-            writeXmlIndent(xmlWriter, nesting);
-            xmlWriter.writeEmptyElement(node.getName());
-            writeXmlAttributes(xmlWriter, node);
-        }
-        xmlWriter.writeCharacters(System.lineSeparator());
-    }
-
-    private void writeXmlIndent(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
-        for (int i = 0; i < nesting; i++) {
-            xmlWriter.writeCharacters("\t");
-        }
-    }
-
-    private void writeXmlAttributes(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
-        for (Map.Entry<String, String> attribute : node.getAttributes().entrySet()) {
-            xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
-        }
-    }
-
     @Override
 	public AsyncLoggerConfigDelegate getAsyncLoggerConfigDelegate() {
 	    // lazily instantiate only when requested by AsyncLoggers:

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3e7df46b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index 3525125..87ecd26 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.config.builder;
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.appender.ConsoleAppender;
-import org.apache.logging.log4j.core.config.AbstractConfiguration;
 import org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder;
 import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
 import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
@@ -51,7 +50,7 @@ public class ConfigurationBuilderTest {
         builder.setPackages("foo,bar");
     }
 
-    private final static String expectedXml1 =
+    private final static String expectedXml =
             "<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
             "<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
             "\t<Properties>" + System.lineSeparator() +
@@ -85,45 +84,7 @@ public class ConfigurationBuilderTest {
         final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
         addTestFixtures("config name", builder);
         final String xmlConfiguration = builder.toXmlConfiguration();
-        assertEquals(expectedXml1, xmlConfiguration);
+        assertEquals(expectedXml, xmlConfiguration);
     }
 
-    private final static String expectedXml2 =
-            "<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
-            "<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
-            "\t<Properties>" + System.lineSeparator() +
-            "\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
-            "\t</Properties>" + System.lineSeparator() +
-            "\t<Scripts>" + System.lineSeparator() +
-            "\t\t<ScriptFile name=\"target/test-classes/scripts/filter.groovy\" path=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
-            "\t</Scripts>" + System.lineSeparator() +
-            "\t<CustomLevels>" + System.lineSeparator() +
-            "\t\t<CustomLevel name=\"Panic\" intLevel=\"17\"/>" + System.lineSeparator() +
-            "\t</CustomLevels>" + System.lineSeparator() +
-            "\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
-            "\t<Appenders>" + System.lineSeparator() +
-            "\t\t<CONSOLE name=\"Stdout\" target=\"SYSTEM_OUT\">" + System.lineSeparator() +
-            "\t\t\t<PatternLayout pattern=\"%d [%t] %-5level: %msg%n%throwable\"/>" + System.lineSeparator() +
-            "\t\t\t<MarkerFilter onMatch=\"DENY\" onMisMatch=\"NEUTRAL\" marker=\"FLOW\"/>" + System.lineSeparator() +
-            "\t\t</CONSOLE>" + System.lineSeparator() +
-            "\t</Appenders>" + System.lineSeparator() +
-            "\t<Loggers>" + System.lineSeparator() +
-            "\t\t<Logger name=\"org.apache.logging.log4j\" additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\">" + System.lineSeparator() +
-            "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
-            "\t\t</Logger>" + System.lineSeparator() +
-            "\t\t<Root level=\"ERROR\">" + System.lineSeparator() +
-            "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
-            "\t\t</Root>" + System.lineSeparator() +
-            "\t</Loggers>" + System.lineSeparator() +
-            "</Configuration>" + System.lineSeparator();
-
-    @Test
-    public void testXmlConstructingWithAbstractConfiguration() throws Exception {
-        final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
-        addTestFixtures("config name", builder);
-        AbstractConfiguration configuration = builder.build(false);
-        configuration.setup();
-        final String xmlConfiguration = configuration.toXmlConfiguration();
-        assertEquals(expectedXml2, xmlConfiguration);
-    }
 }