Fix command line compilation on Oracle Java 7 (was fine in Eclipse's Java 7 support and command line Java 8).
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/61372420 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/61372420 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/61372420 Branch: refs/heads/master Commit: 613724203c7bca5ebef3edebfc61fca6c97503b4 Parents: 5874110 Author: ggregory <[email protected]> Authored: Tue Sep 1 09:22:55 2015 -0700 Committer: ggregory <[email protected]> Committed: Tue Sep 1 09:22:55 2015 -0700 ---------------------------------------------------------------------- .../log4j/core/config/builder/api/ConfigurationBuilder.java | 4 ++-- .../core/config/builder/impl/DefaultConfigurationBuilder.java | 6 ++---- .../core/config/properties/PropertiesConfigurationFactory.java | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/61372420/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java index c3921a3..74e9bb6 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java @@ -121,7 +121,7 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T * @param pluginName The Plugin type of the component. * @return The ComponentBuilder. */ - ComponentBuilder<?> newComponent(String name, String pluginName); + <B extends ComponentBuilder<B>> ComponentBuilder<B> newComponent(String name, String pluginName); /** * Returns a builder for creating generic components. @@ -130,7 +130,7 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T * @param value The value of the component. * @return The ComponentBuilder. */ - ComponentBuilder<?> newComponent(String name, String pluginName, String value); + <B extends ComponentBuilder<B>> ComponentBuilder<B> newComponent(String name, String pluginName, String value); /** http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/61372420/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java index 3d84b0d..dc14647 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java @@ -198,14 +198,12 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement } @Override - public ComponentBuilder<?> newComponent(String name, String type) { + public <B extends ComponentBuilder<B>> ComponentBuilder<B> newComponent(String name, String type) { return new DefaultComponentBuilder<>(this, name, type); } - @Override - @SuppressWarnings({"unchecked", "rawtypes"}) - public ComponentBuilder<?> newComponent(String name, String type, String value) { + public <B extends ComponentBuilder<B>> ComponentBuilder<B> newComponent(String name, String type, String value) { return new DefaultComponentBuilder<>(this, name, type, value); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/61372420/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java index bdb07c6..092afd1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java @@ -313,7 +313,7 @@ public class PropertiesConfigurationFactory extends ConfigurationFactory { return layoutBuilder; } - private ComponentBuilder<?> createComponent(ComponentBuilder<?> parent, String key, Properties properties) { + private <B extends ComponentBuilder<B>> ComponentBuilder<B> createComponent(ComponentBuilder<?> parent, String key, Properties properties) { String name = properties.getProperty(CONFIG_NAME); if (name != null) { properties.remove(CONFIG_NAME); @@ -323,7 +323,7 @@ public class PropertiesConfigurationFactory extends ConfigurationFactory { throw new ConfigurationException("No type attribute provided for component " + key); } properties.remove(CONFIG_TYPE); - ComponentBuilder<?> componentBuilder = parent.getBuilder().newComponent(name, type); + ComponentBuilder<B> componentBuilder = parent.getBuilder().newComponent(name, type); processRemainingProperties(componentBuilder, name, properties); return componentBuilder; }
