You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2020/03/22 22:43:01 UTC
[logging-log4j2] 02/03: Avoid LoD violations
This is an automated email from the ASF dual-hosted git repository.
mattsicker pushed a commit to branch mean-bean-machine
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 60cc78c5cd8b747d87b9669f110b87b46afab27c
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sun Mar 22 17:32:15 2020 -0500
Avoid LoD violations
Signed-off-by: Matt Sicker <bo...@gmail.com>
---
.../log4j/plugins/defaults/bean/DefaultInjectionTarget.java | 9 +++------
.../plugins/defaults/bean/DefaultInjectionTargetFactory.java | 2 +-
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTarget.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTarget.java
index 069ead6..85ccd14 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTarget.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTarget.java
@@ -23,7 +23,6 @@ import org.apache.logging.log4j.plugins.api.Produces;
import org.apache.logging.log4j.plugins.spi.bean.InitializationContext;
import org.apache.logging.log4j.plugins.spi.bean.InjectionTarget;
import org.apache.logging.log4j.plugins.spi.bean.Injector;
-import org.apache.logging.log4j.plugins.spi.model.ElementManager;
import org.apache.logging.log4j.plugins.spi.model.InjectionPoint;
import org.apache.logging.log4j.plugins.spi.model.MetaClass;
import org.apache.logging.log4j.plugins.spi.model.MetaConstructor;
@@ -42,17 +41,17 @@ import java.util.stream.Collectors;
class DefaultInjectionTarget<T> implements InjectionTarget<T> {
private final Injector injector;
- private final ElementManager elementManager;
+ private final MetaClass<T> metaClass;
private final Collection<InjectionPoint> injectionPoints;
private final MetaConstructor<T> constructor;
private final List<MetaMethod<T, ?>> postConstructMethods;
private final List<MetaMethod<T, ?>> preDestroyMethods;
- DefaultInjectionTarget(final Injector injector, final ElementManager elementManager,
+ DefaultInjectionTarget(final Injector injector, final MetaClass<T> metaClass,
final Collection<InjectionPoint> injectionPoints, final MetaConstructor<T> constructor,
final List<MetaMethod<T, ?>> postConstructMethods, final List<MetaMethod<T, ?>> preDestroyMethods) {
this.injector = injector;
- this.elementManager = elementManager;
+ this.metaClass = metaClass;
this.injectionPoints = Objects.requireNonNull(injectionPoints);
this.constructor = Objects.requireNonNull(constructor);
this.postConstructMethods = Objects.requireNonNull(postConstructMethods);
@@ -71,8 +70,6 @@ class DefaultInjectionTarget<T> implements InjectionTarget<T> {
public void inject(final T instance, final InitializationContext<T> context) {
injectFields(instance, context);
injectMethods(instance, context);
- final Class<T> clazz = TypeUtil.cast(instance.getClass());
- final MetaClass<T> metaClass = elementManager.getMetaClass(clazz);
for (final MetaMethod<T, ?> method : metaClass.getMethods()) {
if (method.isAnnotationPresent(Inject.class) && method.getParameters().isEmpty()) {
injector.invoke(instance, method, Collections.emptySet(), context);
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTargetFactory.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTargetFactory.java
index 78ab70d..edaf306 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTargetFactory.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultInjectionTargetFactory.java
@@ -75,7 +75,7 @@ class DefaultInjectionTargetFactory<T> implements InjectionTargetFactory<T> {
final List<MetaMethod<T, ?>> preDestroyMethods = methods.stream()
.filter(method -> method.isAnnotationPresent(PreDestroy.class))
.collect(Collectors.toList());
- return new DefaultInjectionTarget<>(injector, elementManager, injectionPoints, constructor,
+ return new DefaultInjectionTarget<>(injector, type, injectionPoints, constructor,
postConstructMethods, preDestroyMethods);
}