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 2ec24cf7a42273e96eba4f2a47e678963af23f93 Author: Gary Gregory <[email protected]> AuthorDate: Sun Feb 20 13:07:00 2022 -0500 Internal refactoring. Conflicts: log4j-1.2-api/src/main/java/org/apache/log4j/builders/BuilderManager.java log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelMatchFilterBuilder.java log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/LevelRangeFilterBuilder.java log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/StringMatchFilterBuilder.java log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java --- .../org/apache/log4j/builders/AbstractBuilder.java | 4 +- .../java/org/apache/log4j/builders/Builder.java | 4 +- .../org/apache/log4j/builders/BuilderManager.java | 69 +++++++--------------- .../{appender/AppenderBuilder.java => Parser.java} | 29 ++++++--- .../log4j/builders/appender/AppenderBuilder.java | 4 +- .../builders/appender/RewriteAppenderBuilder.java | 3 +- .../builders/filter/DenyAllFilterBuilder.java | 4 +- .../log4j/builders/filter/FilterBuilder.java | 13 +--- .../builders/filter/LevelMatchFilterBuilder.java | 6 +- .../builders/filter/LevelRangeFilterBuilder.java | 6 +- .../builders/filter/StringMatchFilterBuilder.java | 6 +- .../log4j/builders/layout/HtmlLayoutBuilder.java | 6 +- .../log4j/builders/layout/LayoutBuilder.java | 12 +--- .../builders/layout/PatternLayoutBuilder.java | 6 +- .../log4j/builders/layout/SimpleLayoutBuilder.java | 4 +- .../log4j/builders/layout/TTCCLayoutBuilder.java | 6 +- .../log4j/builders/layout/XmlLayoutBuilder.java | 6 +- .../builders/rewrite/RewritePolicyBuilder.java | 12 +--- .../log4j/config/PropertiesConfiguration.java | 4 +- 19 files changed, 87 insertions(+), 117 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 b73fff4..a293f62 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 @@ -36,8 +36,10 @@ import org.w3c.dom.Element; /** * Base class for Log4j 1 component builders. + * + * @param <T> The type to build. */ -public abstract class AbstractBuilder implements Builder { +public abstract class AbstractBuilder<T> implements Builder<T> { private static final Logger LOGGER = StatusLogger.getLogger(); protected static final String FILE_PARAM = "File"; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Builder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Builder.java index 7ff5879..8a9b670 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Builder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Builder.java @@ -19,7 +19,9 @@ package org.apache.log4j.builders; /** * A marker interface for Log4j 1.x component builders. + * + * @param <T> The type to build. */ -public interface Builder { +public interface Builder<T> { // empty } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/BuilderManager.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/BuilderManager.java index 21a911a..6277afb 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/BuilderManager.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/BuilderManager.java @@ -47,6 +47,7 @@ import org.w3c.dom.Element; */ public class BuilderManager { + /** Plugin category. */ public static final String CATEGORY = "Log4j Builder"; public static final Key<PluginManager> PLUGIN_MANAGER_KEY = new @Named(CATEGORY) Key<>() {}; private static final Logger LOGGER = StatusLogger.getLogger(); @@ -54,13 +55,15 @@ public class BuilderManager { private final Injector injector; private final Map<String, PluginType<?>> plugins; + /** + * Constructs a new instance. + */ public BuilderManager(final Injector injector) { this.injector = injector; plugins = injector.getInstance(PLUGIN_MANAGER_KEY).getPlugins(); } - @SuppressWarnings("unchecked") - private <T extends Builder> T createBuilder(final PluginType<T> plugin, final String prefix, final Properties props) { + private <T extends Builder<U>, U> T createBuilder(final PluginType<T> plugin, final String prefix, final Properties props) { if (plugin == null) { return null; } @@ -69,13 +72,13 @@ public class BuilderManager { if (AbstractBuilder.class.isAssignableFrom(clazz)) { return clazz.getConstructor(CONSTRUCTOR_PARAMS).newInstance(prefix, props); } - final Object builder = LoaderUtil.newInstanceOf(clazz); + final T builder = LoaderUtil.newInstanceOf(clazz); // Reasonable message instead of `ClassCastException` if (!Builder.class.isAssignableFrom(clazz)) { LOGGER.warn("Unable to load plugin: builder {} does not implement {}", clazz, Builder.class); return null; } - return (T) builder; + return builder; } catch (final ReflectiveOperationException ex) { LOGGER.warn("Unable to load plugin: {} due to: {}", plugin.getKey(), ex.getMessage()); return null; @@ -94,7 +97,7 @@ public class BuilderManager { return (PluginType<T>) pluginType; } - private <T extends Builder, U> U newInstance(final PluginType<T> plugin, final Function<T, U> consumer) { + private <T extends Builder<U>, U> U newInstance(final PluginType<T> plugin, final Function<T, U> consumer) { if (plugin != null) { try { final T builder = LoaderUtil.newInstanceOf(plugin.getPluginClass()); @@ -108,61 +111,31 @@ public class BuilderManager { return null; } - public Appender parseAppender(final String className, final Element appenderElement, final XmlConfiguration config) { - final PluginType<AppenderBuilder> plugin = getPlugin(className); - return newInstance(plugin, b -> b.parseAppender(appenderElement, config)); + public <P extends Parser<T>, T> T parse(final String className, final String prefix, final Properties props, final PropertiesConfiguration config) { + final P parser = createBuilder(getPlugin(className), prefix, props); + return parser != null ? parser.parse(config) : null; } - public Appender parseAppender(final String name, final String className, final String prefix, final String layoutPrefix, final String filterPrefix, final Properties props, - final PropertiesConfiguration config) { - final PluginType<AppenderBuilder> plugin = getPlugin(className); - final AppenderBuilder builder = createBuilder(plugin, prefix, props); - if (builder != null) { - return builder.parseAppender(name, prefix, layoutPrefix, filterPrefix, props, config); - } - return null; + public Appender parseAppender(final String className, final Element appenderElement, final XmlConfiguration config) { + return newInstance(this.<AppenderBuilder<Appender>>getPlugin(className), b -> b.parseAppender(appenderElement, config)); } - public Filter parseFilter(final String className, final Element filterElement, final XmlConfiguration config) { - final PluginType<FilterBuilder> plugin = getPlugin(className); - return newInstance(plugin, b -> b.parseFilter(filterElement, config)); + public Appender parseAppender(final String name, final String className, final String prefix, final String layoutPrefix, final String filterPrefix, + final Properties props, final PropertiesConfiguration config) { + final AppenderBuilder<Appender> builder = createBuilder(getPlugin(className), prefix, props); + return builder != null ? builder.parseAppender(name, prefix, layoutPrefix, filterPrefix, props, config) : null; } - public Filter parseFilter(final String className, final String filterPrefix, final Properties props, final PropertiesConfiguration config) { - final PluginType<FilterBuilder> plugin = getPlugin(className); - final FilterBuilder builder = createBuilder(plugin, filterPrefix, props); - if (builder != null) { - return builder.parseFilter(config); - } - return null; + public Filter parseFilter(final String className, final Element filterElement, final XmlConfiguration config) { + return newInstance(this.<FilterBuilder>getPlugin(className), b -> b.parse(filterElement, config)); } public Layout parseLayout(final String className, final Element layoutElement, final XmlConfiguration config) { - final PluginType<LayoutBuilder> plugin = getPlugin(className); - return newInstance(plugin, b -> b.parseLayout(layoutElement, config)); - } - - public Layout parseLayout(final String className, final String layoutPrefix, final Properties props, final PropertiesConfiguration config) { - final PluginType<LayoutBuilder> plugin = getPlugin(className); - final LayoutBuilder builder = createBuilder(plugin, layoutPrefix, props); - if (builder != null) { - return builder.parseLayout(config); - } - return null; + return newInstance(this.<LayoutBuilder>getPlugin(className), b -> b.parse(layoutElement, config)); } public RewritePolicy parseRewritePolicy(final String className, final Element rewriteElement, final XmlConfiguration config) { - final PluginType<RewritePolicyBuilder> plugin = getPlugin(className); - return newInstance(plugin, b -> b.parseRewritePolicy(rewriteElement, config)); - } - - public RewritePolicy parseRewritePolicy(final String className, final String policyPrefix, final Properties props, final PropertiesConfiguration config) { - final PluginType<RewritePolicyBuilder> plugin = getPlugin(className); - final RewritePolicyBuilder builder = createBuilder(plugin, policyPrefix, props); - if (builder != null) { - return builder.parseRewritePolicy(config); - } - return null; + return newInstance(this.<RewritePolicyBuilder>getPlugin(className), b -> b.parse(rewriteElement, config)); } } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Parser.java similarity index 62% copy from log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java copy to log4j-1.2-api/src/main/java/org/apache/log4j/builders/Parser.java index 4dffaf1..01812ef 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/Parser.java @@ -14,24 +14,35 @@ * See the license for the specific language governing permissions and * limitations under the license. */ -package org.apache.log4j.builders.appender; -import java.util.Properties; +package org.apache.log4j.builders; -import org.apache.log4j.Appender; -import org.apache.log4j.builders.Builder; import org.apache.log4j.config.PropertiesConfiguration; import org.apache.log4j.xml.XmlConfiguration; import org.w3c.dom.Element; /** - * Define an Appender Builder. + * Parses DOM and properties. + * + * @param <T> The type to build. */ -public interface AppenderBuilder extends Builder { +public interface Parser<T> extends Builder<T> { - Appender parseAppender(Element element, XmlConfiguration configuration); + /** + * Parses a DOM Element. + * + * @param element the DOM Element. + * @param config the XML configuration. + * @return parse result. + */ + T parse(Element element, XmlConfiguration config); - Appender parseAppender(String name, String appenderPrefix, String layoutPrefix, String filterPrefix, - Properties props, PropertiesConfiguration configuration); + /** + * Parses a PropertiesConfigurationt. + * + * @param element the PropertiesConfiguration. + * @return parse result. + */ + T parse(PropertiesConfiguration config); } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java index 4dffaf1..aacbc80 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/AppenderBuilder.java @@ -26,8 +26,10 @@ import org.w3c.dom.Element; /** * Define an Appender Builder. + * + * @param <T> The type to build. */ -public interface AppenderBuilder extends Builder { +public interface AppenderBuilder<T extends Appender> extends Builder<T> { Appender parseAppender(Element element, XmlConfiguration configuration); diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RewriteAppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RewriteAppenderBuilder.java index 4398995..d61770b 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RewriteAppenderBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RewriteAppenderBuilder.java @@ -107,8 +107,7 @@ public class RewriteAppenderBuilder extends AbstractBuilder implements AppenderB final Filter filter = configuration.parseAppenderFilters(props, filterPrefix, name); final String policyPrefix = appenderPrefix + ".rewritePolicy"; final String className = getProperty(policyPrefix); - final RewritePolicy policy = configuration.getBuilderManager().parseRewritePolicy(className, policyPrefix, - props, configuration); + final RewritePolicy policy = configuration.getBuilderManager().parse(className, policyPrefix, props, configuration); final String level = getProperty(THRESHOLD_PARAM); if (appenderRef == null) { LOGGER.warn("No appender references configured for AsyncAppender {}", name); diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/DenyAllFilterBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/DenyAllFilterBuilder.java index e0b28b5..b7f4c6b 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/DenyAllFilterBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/DenyAllFilterBuilder.java @@ -33,12 +33,12 @@ import org.w3c.dom.Element; public class DenyAllFilterBuilder implements FilterBuilder { @Override - public Filter parseFilter(Element filterElement, XmlConfiguration config) { + public Filter parse(Element filterElement, XmlConfiguration config) { return new FilterWrapper(DenyAllFilter.newBuilder().build()); } @Override - public Filter parseFilter(PropertiesConfiguration config) { + public Filter parse(PropertiesConfiguration config) { return new FilterWrapper(DenyAllFilter.newBuilder().build()); } } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/FilterBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/FilterBuilder.java index e331927..8153bdd 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/FilterBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/filter/FilterBuilder.java @@ -16,19 +16,12 @@ */ package org.apache.log4j.builders.filter; -import org.apache.log4j.builders.Builder; -import org.apache.log4j.config.PropertiesConfiguration; +import org.apache.log4j.builders.Parser; import org.apache.log4j.spi.Filter; -import org.apache.log4j.xml.XmlConfiguration; -import org.w3c.dom.Element; /** * Define a Filter Builder. */ -public interface FilterBuilder extends Builder { - - Filter parseFilter(Element element, XmlConfiguration config); - - Filter parseFilter(PropertiesConfiguration config); - +public interface FilterBuilder extends Parser<Filter> { + // empty } 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 f7c1ce4..8cfe1f9 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 @@ -38,7 +38,7 @@ import static org.apache.log4j.xml.XmlConfiguration.VALUE_ATTR; * Build a Level match filter. */ @Plugin(name = "org.apache.log4j.varia.LevelMatchFilter", category = CATEGORY) -public class LevelMatchFilterBuilder extends AbstractBuilder implements FilterBuilder { +public class LevelMatchFilterBuilder extends AbstractBuilder<Filter> implements FilterBuilder { private static final String LEVEL = "LevelToMatch"; private static final String ACCEPT_ON_MATCH = "AcceptOnMatch"; @@ -51,7 +51,7 @@ public class LevelMatchFilterBuilder extends AbstractBuilder implements FilterBu } @Override - public Filter parseFilter(Element filterElement, XmlConfiguration config) { + public Filter parse(Element filterElement, XmlConfiguration config) { final Holder<String> level = new Holder<>(); final Holder<Boolean> acceptOnMatch = new BooleanHolder(); forEachElement(filterElement.getElementsByTagName("param"), (currentElement) -> { @@ -70,7 +70,7 @@ public class LevelMatchFilterBuilder extends AbstractBuilder implements FilterBu } @Override - public Filter parseFilter(PropertiesConfiguration config) { + public Filter parse(PropertiesConfiguration config) { String level = getProperty(LEVEL); boolean acceptOnMatch = getBooleanProperty(ACCEPT_ON_MATCH); return createFilter(level, acceptOnMatch); 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 34cc475..477e325 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 @@ -39,7 +39,7 @@ import static org.apache.log4j.xml.XmlConfiguration.*; * Build a Level match filter. */ @Plugin(name = "org.apache.log4j.varia.LevelRangeFilter", category = CATEGORY) -public class LevelRangeFilterBuilder extends AbstractBuilder implements FilterBuilder { +public class LevelRangeFilterBuilder extends AbstractBuilder<Filter> implements FilterBuilder { private static final String LEVEL_MAX = "LevelMax"; private static final String LEVEL_MIN = "LevelMin"; @@ -53,7 +53,7 @@ public class LevelRangeFilterBuilder extends AbstractBuilder implements FilterBu } @Override - public Filter parseFilter(Element filterElement, XmlConfiguration config) { + public Filter parse(Element filterElement, XmlConfiguration config) { final Holder<String> levelMax = new Holder<>(); final Holder<String> levelMin = new Holder<>(); final Holder<Boolean> acceptOnMatch = new BooleanHolder(); @@ -76,7 +76,7 @@ public class LevelRangeFilterBuilder extends AbstractBuilder implements FilterBu } @Override - public Filter parseFilter(PropertiesConfiguration config) { + public Filter parse(PropertiesConfiguration config) { String levelMax = getProperty(LEVEL_MAX); String levelMin = getProperty(LEVEL_MIN); boolean acceptOnMatch = getBooleanProperty(ACCEPT_ON_MATCH); 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 2a16cf0..df19f86 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 @@ -38,14 +38,14 @@ import static org.apache.log4j.xml.XmlConfiguration.*; * Build a String match filter. */ @Plugin(name = "org.apache.log4j.varia.StringMatchFilter", category = CATEGORY) -public class StringMatchFilterBuilder extends AbstractBuilder implements FilterBuilder { +public class StringMatchFilterBuilder extends AbstractBuilder<Filter> implements FilterBuilder { private static final Logger LOGGER = StatusLogger.getLogger(); private static final String STRING_TO_MATCH = "StringToMatch"; private static final String ACCEPT_ON_MATCH = "AcceptOnMatch"; @Override - public Filter parseFilter(Element filterElement, XmlConfiguration config) { + public Filter parse(Element filterElement, XmlConfiguration config) { final Holder<Boolean> acceptOnMatch = new BooleanHolder(); final Holder<String> text = new Holder<>(); forEachElement(filterElement.getElementsByTagName("param"), (currentElement) -> { @@ -65,7 +65,7 @@ public class StringMatchFilterBuilder extends AbstractBuilder implements FilterB } @Override - public Filter parseFilter(PropertiesConfiguration config) { + public Filter parse(PropertiesConfiguration config) { String text = getProperty(STRING_TO_MATCH); boolean acceptOnMatch = getBooleanProperty(ACCEPT_ON_MATCH); return createFilter(text, acceptOnMatch); 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 860b339..3ee651b 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 @@ -37,7 +37,7 @@ import static org.apache.log4j.xml.XmlConfiguration.*; * Build a Pattern Layout */ @Plugin(name = "org.apache.log4j.HTMLLayout", category = CATEGORY) -public class HtmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder { +public class HtmlLayoutBuilder extends AbstractBuilder<Layout> implements LayoutBuilder { private static final String DEFAULT_TITLE = "Log4J Log Messages"; private static final String TITLE_PARAM = "Title"; @@ -52,7 +52,7 @@ public class HtmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder @Override - public Layout parseLayout(Element layoutElement, XmlConfiguration config) { + public Layout parse(Element layoutElement, XmlConfiguration config) { final Holder<String> title = new Holder<>("Log4J Log Messages"); final Holder<Boolean> locationInfo = new BooleanHolder(); forEachElement(layoutElement.getElementsByTagName("param"), (currentElement) -> { @@ -68,7 +68,7 @@ public class HtmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder } @Override - public Layout parseLayout(PropertiesConfiguration config) { + public Layout parse(PropertiesConfiguration config) { String title = getProperty(TITLE_PARAM, DEFAULT_TITLE); boolean locationInfo = getBooleanProperty(LOCATION_INFO_PARAM); return createLayout(title, locationInfo); diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/LayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/LayoutBuilder.java index 0a3ecb2..72c1763 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/LayoutBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/LayoutBuilder.java @@ -17,17 +17,11 @@ package org.apache.log4j.builders.layout; import org.apache.log4j.Layout; -import org.apache.log4j.builders.Builder; -import org.apache.log4j.config.PropertiesConfiguration; -import org.apache.log4j.xml.XmlConfiguration; -import org.w3c.dom.Element; +import org.apache.log4j.builders.Parser; /** * Define a Layout Builder. */ -public interface LayoutBuilder extends Builder { - - Layout parseLayout(Element element, XmlConfiguration config); - - Layout parseLayout(PropertiesConfiguration config); +public interface LayoutBuilder extends Parser<Layout> { + // empty } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java index 4763ab1..2e341b8 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java @@ -41,7 +41,7 @@ import org.w3c.dom.NodeList; */ @Plugin(name = "org.apache.log4j.PatternLayout", category = CATEGORY) @PluginAliases("org.apache.log4j.EnhancedPatternLayout") -public class PatternLayoutBuilder extends AbstractBuilder implements LayoutBuilder { +public class PatternLayoutBuilder extends AbstractBuilder<Layout> implements LayoutBuilder { private static final Logger LOGGER = StatusLogger.getLogger(); private static final String PATTERN = "ConversionPattern"; @@ -54,7 +54,7 @@ public class PatternLayoutBuilder extends AbstractBuilder implements LayoutBuild } @Override - public Layout parseLayout(final Element layoutElement, final XmlConfiguration config) { + public Layout parse(final Element layoutElement, final XmlConfiguration config) { NodeList params = layoutElement.getElementsByTagName("param"); final int length = params.getLength(); String pattern = null; @@ -74,7 +74,7 @@ public class PatternLayoutBuilder extends AbstractBuilder implements LayoutBuild } @Override - public Layout parseLayout(final PropertiesConfiguration config) { + public Layout parse(final PropertiesConfiguration config) { String pattern = getProperty(PATTERN); return createLayout(pattern, config); } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java index 906f02a..9bb0d64 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java @@ -35,7 +35,7 @@ import java.util.Properties; public class SimpleLayoutBuilder implements LayoutBuilder { @Override - public Layout parseLayout(Element layoutElement, XmlConfiguration config) { + public Layout parse(Element layoutElement, XmlConfiguration config) { return new LayoutWrapper(PatternLayout.newBuilder() .setPattern("%level - %m%n") .setConfiguration(config) @@ -43,7 +43,7 @@ public class SimpleLayoutBuilder implements LayoutBuilder { } @Override - public Layout parseLayout(PropertiesConfiguration config) { + public Layout parse(PropertiesConfiguration config) { return new LayoutWrapper(PatternLayout.newBuilder() .setPattern("%level - %m%n") .setConfiguration(config) 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 9a57c80..d69933a 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 @@ -38,7 +38,7 @@ import org.w3c.dom.Element; * Build a Pattern Layout */ @Plugin(name = "org.apache.log4j.TTCCLayout", category = CATEGORY) -public class TTCCLayoutBuilder extends AbstractBuilder implements LayoutBuilder { +public class TTCCLayoutBuilder extends AbstractBuilder<Layout> implements LayoutBuilder { private static final String THREAD_PRINTING_PARAM = "ThreadPrinting"; private static final String CATEGORY_PREFIXING_PARAM = "CategoryPrefixing"; @@ -54,7 +54,7 @@ public class TTCCLayoutBuilder extends AbstractBuilder implements LayoutBuilder } @Override - public Layout parseLayout(Element layoutElement, XmlConfiguration config) { + public Layout parse(Element layoutElement, XmlConfiguration config) { final AtomicBoolean threadPrinting = new AtomicBoolean(Boolean.TRUE); final AtomicBoolean categoryPrefixing = new AtomicBoolean(Boolean.TRUE); final AtomicBoolean contextPrinting = new AtomicBoolean(Boolean.TRUE); @@ -86,7 +86,7 @@ public class TTCCLayoutBuilder extends AbstractBuilder implements LayoutBuilder } @Override - public Layout parseLayout(PropertiesConfiguration config) { + public Layout parse(PropertiesConfiguration config) { boolean threadPrinting = getBooleanProperty(THREAD_PRINTING_PARAM, true); boolean categoryPrefixing = getBooleanProperty(CATEGORY_PREFIXING_PARAM, true); boolean contextPrinting = getBooleanProperty(CONTEXT_PRINTING_PARAM, true); 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 6577a52..6918684 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 @@ -36,7 +36,7 @@ import org.w3c.dom.Element; * Build an XML Layout */ @Plugin(name = "org.apache.log4j.xml.XMLLayout", category = CATEGORY) -public class XmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder { +public class XmlLayoutBuilder extends AbstractBuilder<Layout> implements LayoutBuilder { private static final String LOCATION_INFO = "LocationInfo"; private static final String PROPERTIES = "Properties"; @@ -50,7 +50,7 @@ public class XmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder { @Override - public Layout parseLayout(Element layoutElement, XmlConfiguration config) { + public Layout parse(Element layoutElement, XmlConfiguration config) { final AtomicBoolean properties = new AtomicBoolean(); final AtomicBoolean locationInfo = new AtomicBoolean(); forEachElement(layoutElement.getElementsByTagName(PARAM_TAG), currentElement -> { @@ -64,7 +64,7 @@ public class XmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder { } @Override - public Layout parseLayout(PropertiesConfiguration config) { + public Layout parse(PropertiesConfiguration config) { boolean properties = getBooleanProperty(PROPERTIES); boolean locationInfo = getBooleanProperty(LOCATION_INFO); return createLayout(properties, locationInfo); diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/rewrite/RewritePolicyBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/rewrite/RewritePolicyBuilder.java index 94500ae..e83d033 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/rewrite/RewritePolicyBuilder.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/rewrite/RewritePolicyBuilder.java @@ -16,18 +16,12 @@ */ package org.apache.log4j.builders.rewrite; -import org.apache.log4j.builders.Builder; -import org.apache.log4j.config.PropertiesConfiguration; +import org.apache.log4j.builders.Parser; import org.apache.log4j.rewrite.RewritePolicy; -import org.apache.log4j.xml.XmlConfiguration; -import org.w3c.dom.Element; /** * Define a RewritePolicy Builder. */ -public interface RewritePolicyBuilder extends Builder { - - RewritePolicy parseRewritePolicy(Element element, XmlConfiguration config); - - RewritePolicy parseRewritePolicy(PropertiesConfiguration config); +public interface RewritePolicyBuilder extends Parser<RewritePolicy> { + // empty } diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfiguration.java b/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfiguration.java index 32a523d..bedc4de 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfiguration.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfiguration.java @@ -484,7 +484,7 @@ public class PropertiesConfiguration extends Log4j1Configuration { if (layoutClass == null) { return null; } - Layout layout = manager.parseLayout(layoutClass, layoutPrefix, props, this); + Layout layout = manager.parse(layoutClass, layoutPrefix, props, this); if (layout == null) { layout = buildLayout(layoutPrefix, layoutClass, appenderName, props); } @@ -560,7 +560,7 @@ public class PropertiesConfiguration extends Log4j1Configuration { final String clazz = props.getProperty(entry.getKey()); Filter filter = null; if (clazz != null) { - filter = manager.parseFilter(clazz, entry.getKey(), props, this); + filter = manager.parse(clazz, entry.getKey(), props, this); if (filter == null) { LOGGER.debug("Filter key: [{}] class: [{}] props: {}", entry.getKey(), clazz, entry.getValue()); filter = buildFilter(clazz, appenderName, entry.getValue());
