Generalize DI usage
This commit ensures that:
* an `InstanceFactory` is created in the Log4j `Provider`,
* the same factory is injected as parameters to all
the components of the chain `Log4jContextFactory`, `ContextSelector`,
`LoggerContext` (child), `Configuration` (grand-child).
* `DI.createInstanceFactory` is called only when strictly necessary.
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
index 5454ad7..b4f2ff0 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
@@ -19,9 +19,9 @@
import java.io.IOException;
import java.io.InputStream;
import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.AbstractConfigurationFactory;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.ConfigurationException;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.config.ConfigurationSource;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
@@ -35,7 +35,7 @@
//
// Best Value?
// @Order(50)
-public class Log4j1ConfigurationFactory extends ConfigurationFactory {
+public class Log4j1ConfigurationFactory extends AbstractConfigurationFactory {
private static final String[] SUFFIXES = {".properties"};
@@ -51,7 +51,7 @@
}
@Override
- protected String[] getSupportedTypes() {
+ public String[] getSupportedTypes() {
return SUFFIXES;
}
}