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/14 17:45:03 UTC

[logging-log4j2] branch mean-bean-machine updated (b72de60 -> 915a659)

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a change to branch mean-bean-machine
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.


    from b72de60  Simplify producer code and optimizations
     add dae33df  LOG4J2-2717 - Slow initialization on Windows due to accessing network interfaces.
     add 1138752  Javadoc fixes
     add e7fb7f9  Remove serialVersionUID since class is not serializable
     add 56c204d  Update Requirements section
     add c4c2808  LOG4J2-2779 - Add ContextDataProviders as an alternative to having to implement a ContextDataInjector.
     add 7f7ddb9  LOG4J2-2783 - PluginService should use classes in their definition instead of class names
     add 039ae0b  LOG4J2-2795 - Reduce Log4j 2 initialization time by deferring loading Plugin classes.
     add c984b9e  LOG4J2-1852 - Close the jar file
     add eddab1f  Add debugging to status logger.
     new 5f86788  Merge branch 'master' into mean-bean-machine
     new 0184771  Remove unused method and rename
     new eba9421  Add support for default @Named value
     new e255f43  Improve toString representation
     new 915a659  Use decapitalized simple class name for default @Named value

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/org/apache/log4j/WriterAppender.java |  9 +++
 .../org/apache/log4j/bridge/AppenderAdapter.java   |  1 +
 .../org/apache/log4j/bridge/LogEventAdapter.java   |  1 +
 .../log4j/config/PropertiesConfiguration.java      |  5 +-
 .../org/apache/log4j/config/PropertySetter.java    | 12 ++-
 .../log4j/helpers/AppenderAttachableImpl.java      |  2 +
 .../org/apache/log4j/helpers/OptionConverter.java  | 14 +++-
 .../log4j/rewrite/PropertyRewritePolicy.java       |  2 +-
 .../org/apache/log4j/spi/AppenderAttachable.java   | 10 ++-
 .../java/org/apache/log4j/spi/LoggingEvent.java    | 31 ++++----
 .../main/java/org/apache/logging/log4j/Logger.java | 46 ++++++-----
 .../logging/log4j/internal/DefaultLogBuilder.java  |  1 -
 .../logging/log4j/core/ContextDataInjector.java    |  2 +
 .../core/impl/ContextDataInjectorFactory.java      |  4 +
 .../log4j/core/impl/JdkMapAdapterStringMap.java    |  2 +-
 .../log4j/core/impl/ThreadContextDataInjector.java | 92 +++++++++++++++++++---
 ...tAnchor.java => ThreadContextDataProvider.java} | 22 ++++--
 .../apache/logging/log4j/core/osgi/Activator.java  | 25 ++++++
 .../log4j/core/util/ContextDataProvider.java       | 28 +++----
 .../logging/log4j/core/util/WatchManager.java      | 31 +++++++-
 ...che.logging.log4j.core.util.ContextDataProvider |  1 +
 .../log4j/core/util/ContextDataProviderTest.java   | 74 +++++++++++++++++
 .../{BasicLoggingTest.java => util/InitTest.java}  | 21 +++--
 ...omethingThatUsesLogging.java => GetLogger.java} | 23 +++---
 ...4j-list-nolookups.xml => log4j-contextData.xml} |  4 +-
 .../log4j/jdbc/appender/JdbcDatabaseManager.java   | 11 ++-
 .../plugins/defaults/bean/DefaultBeanManager.java  |  4 +-
 .../log4j/plugins/defaults/bean/FieldProducer.java |  2 +-
 .../plugins/defaults/bean/MethodProducer.java      |  2 +-
 .../plugins/defaults/model/AbstractMetaMember.java |  9 +--
 .../defaults/model/DefaultElementManager.java      | 26 +++++-
 .../plugins/defaults/model/DefaultMetaClass.java   |  2 +-
 .../defaults/model/DefaultMetaParameter.java       |  4 +-
 .../log4j/plugins/processor/PluginService.java     | 18 ++---
 .../log4j/plugins/spi/model/MetaElement.java       |  2 +-
 .../log4j/plugins/spi/model/MetaMember.java        |  2 -
 .../log4j/plugins/spi/model/Qualifiers.java        | 69 ++++++++++++----
 .../logging/log4j/plugins/util/PluginRegistry.java | 41 +++++-----
 .../logging/log4j/plugins/util/PluginType.java     | 26 +++++-
 .../logging/log4j/plugins/util/ResolverUtil.java   | 15 ++--
 .../defaults/bean/DefaultBeanManagerTest.java      | 31 +++++++-
 src/changes/changes.xml                            | 13 ++-
 src/site/asciidoc/index.adoc                       |  5 +-
 src/site/asciidoc/manual/extending.adoc            | 30 +++----
 44 files changed, 570 insertions(+), 205 deletions(-)
 copy log4j-core/src/main/java/org/apache/logging/log4j/core/impl/{ContextAnchor.java => ThreadContextDataProvider.java} (60%)
 copy log4j-core-java9/src/main/java/org/apache/logging/log4j/core/util/SystemClock.java => log4j-core/src/main/java/org/apache/logging/log4j/core/util/ContextDataProvider.java (57%)
 create mode 100644 log4j-core/src/main/resources/META-INF/services/org.apache.logging.log4j.core.util.ContextDataProvider
 create mode 100644 log4j-core/src/test/java/org/apache/logging/log4j/core/util/ContextDataProviderTest.java
 copy log4j-core/src/test/java/org/apache/logging/log4j/core/{BasicLoggingTest.java => util/InitTest.java} (62%)
 copy log4j-core/src/test/java/org/apache/logging/log4j/test/{SomethingThatUsesLogging.java => GetLogger.java} (63%)
 copy log4j-core/src/test/resources/{log4j-list-nolookups.xml => log4j-contextData.xml} (87%)


[logging-log4j2] 05/05: Use decapitalized simple class name for default @Named value

Posted by ma...@apache.org.
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 915a6599fb8e118fcfa00b2a0e82208049f801f5
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 12:34:37 2020 -0500

    Use decapitalized simple class name for default @Named value
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../log4j/plugins/defaults/model/DefaultElementManager.java      | 2 ++
 .../log4j/plugins/defaults/bean/DefaultBeanManagerTest.java      | 9 +++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
index a481e11..9daaf65 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
@@ -92,6 +92,8 @@ public class DefaultElementManager implements ElementManager {
             } else {
                 defaultName = elementName;
             }
+        } else if (element instanceof MetaClass<?>) {
+            defaultName = Introspector.decapitalize(((MetaClass<?>) element).getJavaClass().getSimpleName());
         } else {
             defaultName = elementName;
         }
diff --git a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
index 96e7d46..9b35cba 100644
--- a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
+++ b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
@@ -286,14 +286,19 @@ public class DefaultBeanManagerTest {
         }
     }
 
-    @WithBeans(DefaultNamedQualifier.class)
+    @Named
+    public static class FooBar {
+    }
+
+    @WithBeans({DefaultNamedQualifier.class, FooBar.class})
     @Test
     public void testDefaultNamedQualifier(@Named final String methodProducer,
                                           @Named("methodProducer") final String alternative,
-                                          @Named final short answer) {
+                                          @Named final short answer, @Named final FooBar fooBar) {
         assertEquals("foobar", methodProducer);
         assertEquals(methodProducer, alternative);
         assertEquals(42, answer);
+        assertNotNull(fooBar);
     }
 
     // TODO: add tests for other supported injection scenarios


[logging-log4j2] 01/05: Merge branch 'master' into mean-bean-machine

Posted by ma...@apache.org.
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 5f86788f2c48981a8e323a284e308f6f6df51d93
Merge: b72de60 eddab1f
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 11:26:39 2020 -0500

    Merge branch 'master' into mean-bean-machine

 .../main/java/org/apache/log4j/WriterAppender.java |  9 +++
 .../org/apache/log4j/bridge/AppenderAdapter.java   |  1 +
 .../org/apache/log4j/bridge/LogEventAdapter.java   |  1 +
 .../log4j/config/PropertiesConfiguration.java      |  5 +-
 .../org/apache/log4j/config/PropertySetter.java    | 12 ++-
 .../log4j/helpers/AppenderAttachableImpl.java      |  2 +
 .../org/apache/log4j/helpers/OptionConverter.java  | 14 +++-
 .../log4j/rewrite/PropertyRewritePolicy.java       |  2 +-
 .../org/apache/log4j/spi/AppenderAttachable.java   | 10 ++-
 .../java/org/apache/log4j/spi/LoggingEvent.java    | 31 ++++----
 .../main/java/org/apache/logging/log4j/Logger.java | 46 ++++++-----
 .../logging/log4j/internal/DefaultLogBuilder.java  |  1 -
 .../logging/log4j/core/ContextDataInjector.java    |  2 +
 .../core/impl/ContextDataInjectorFactory.java      |  4 +
 .../log4j/core/impl/JdkMapAdapterStringMap.java    |  2 +-
 .../log4j/core/impl/ThreadContextDataInjector.java | 92 +++++++++++++++++++---
 .../log4j/core/impl/ThreadContextDataProvider.java | 39 +++++++++
 .../apache/logging/log4j/core/osgi/Activator.java  | 25 ++++++
 .../log4j/core/util/ContextDataProvider.java       | 42 ++++++++++
 .../logging/log4j/core/util/WatchManager.java      | 31 +++++++-
 ...che.logging.log4j.core.util.ContextDataProvider |  1 +
 .../log4j/core/util/ContextDataProviderTest.java   | 74 +++++++++++++++++
 .../apache/logging/log4j/core/util/InitTest.java   | 41 ++++++++++
 .../org/apache/logging/log4j/test/GetLogger.java   | 37 +++++++++
 .../src/test/resources/log4j-contextData.xml       | 29 +++++++
 .../log4j/jdbc/appender/JdbcDatabaseManager.java   | 11 ++-
 .../log4j/plugins/processor/PluginService.java     | 18 ++---
 .../logging/log4j/plugins/util/PluginRegistry.java | 41 +++++-----
 .../logging/log4j/plugins/util/PluginType.java     | 26 +++++-
 .../logging/log4j/plugins/util/ResolverUtil.java   | 15 ++--
 src/changes/changes.xml                            | 13 ++-
 src/site/asciidoc/index.adoc                       |  5 +-
 src/site/asciidoc/manual/extending.adoc            | 30 +++----
 33 files changed, 588 insertions(+), 124 deletions(-)


[logging-log4j2] 04/05: Improve toString representation

Posted by ma...@apache.org.
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 e255f431cc40b0172f694108c03a906c9ca77d41
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 12:31:03 2020 -0500

    Improve toString representation
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../log4j/plugins/spi/model/Qualifiers.java        | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
index 409890c..19c500b 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.plugins.api.Default;
 import org.apache.logging.log4j.plugins.api.Ignore;
 import org.apache.logging.log4j.plugins.api.Named;
 import org.apache.logging.log4j.plugins.spi.InjectionException;
+import org.apache.logging.log4j.util.StringBuilders;
 import org.apache.logging.log4j.util.Strings;
 
 import java.lang.annotation.Annotation;
@@ -32,6 +33,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 
 /**
  * Represents a normalized set of {@linkplain org.apache.logging.log4j.plugins.api.QualifierType qualifier annotations}.
@@ -62,7 +64,25 @@ public final class Qualifiers {
 
     @Override
     public String toString() {
-        return qualifiers.toString();
+        final Set<Map.Entry<Class<? extends Annotation>, Map<String, Object>>> entries = qualifiers.entrySet();
+        if (entries.isEmpty()) {
+            return "[]";
+        }
+        StringBuilder sb = new StringBuilder().append('[');
+        for (final Map.Entry<Class<? extends Annotation>, Map<String, Object>> entry : entries) {
+            sb.append('@').append(entry.getKey().getSimpleName());
+            final Map<String, Object> attributes = entry.getValue();
+            if (!attributes.isEmpty()) {
+                sb.append('(');
+                for (final Map.Entry<String, Object> attribute : attributes.entrySet()) {
+                    StringBuilders.appendKeyDqValue(sb, attribute.getKey(), attribute.getValue());
+                    sb.append(", ");
+                }
+                sb.delete(sb.length() - 2, sb.length()).append(')');
+            }
+            sb.append(", ");
+        }
+        return sb.delete(sb.length() - 2, sb.length()).append(']').toString();
     }
 
     /**


[logging-log4j2] 03/05: Add support for default @Named value

Posted by ma...@apache.org.
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 eba942153b31eafe4acc8521aa57e1907a06020e
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 12:05:36 2020 -0500

    Add support for default @Named value
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../defaults/model/DefaultElementManager.java      | 20 ++++++++-
 .../log4j/plugins/spi/model/Qualifiers.java        | 47 ++++++++++++++--------
 .../defaults/bean/DefaultBeanManagerTest.java      | 26 +++++++++++-
 3 files changed, 75 insertions(+), 18 deletions(-)

diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
index 82b7369..a481e11 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
@@ -28,21 +28,27 @@ import org.apache.logging.log4j.plugins.spi.model.MetaClass;
 import org.apache.logging.log4j.plugins.spi.model.MetaElement;
 import org.apache.logging.log4j.plugins.spi.model.MetaExecutable;
 import org.apache.logging.log4j.plugins.spi.model.MetaField;
+import org.apache.logging.log4j.plugins.spi.model.MetaMethod;
 import org.apache.logging.log4j.plugins.spi.model.MetaParameter;
 import org.apache.logging.log4j.plugins.spi.model.Qualifiers;
 import org.apache.logging.log4j.plugins.spi.model.Variable;
 import org.apache.logging.log4j.plugins.util.Cache;
 import org.apache.logging.log4j.plugins.util.WeakCache;
 
+import java.beans.Introspector;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.Objects;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 public class DefaultElementManager implements ElementManager {
 
+    private static final Pattern BEAN_METHOD = Pattern.compile("^(is|get|set)([A-Z].*)$");
+
     private enum AnnotationType {
         QUALIFIER, SCOPE, UNKNOWN
     }
@@ -77,7 +83,19 @@ public class DefaultElementManager implements ElementManager {
 
     @Override
     public Qualifiers getQualifiers(final MetaElement<?> element) {
-        return Qualifiers.fromQualifierAnnotations(filterQualifiers(element.getAnnotations()));
+        final String elementName = element.getName();
+        final String defaultName;
+        if (element instanceof MetaMethod<?, ?>) {
+            final Matcher matcher = BEAN_METHOD.matcher(elementName);
+            if (matcher.matches()) {
+                defaultName = Introspector.decapitalize(matcher.group(2));
+            } else {
+                defaultName = elementName;
+            }
+        } else {
+            defaultName = elementName;
+        }
+        return Qualifiers.fromQualifierAnnotations(filterQualifiers(element.getAnnotations()), defaultName);
     }
 
     private Collection<Annotation> filterQualifiers(final Collection<Annotation> annotations) {
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
index 74c8d0c..409890c 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.plugins.api.Default;
 import org.apache.logging.log4j.plugins.api.Ignore;
 import org.apache.logging.log4j.plugins.api.Named;
 import org.apache.logging.log4j.plugins.spi.InjectionException;
+import org.apache.logging.log4j.util.Strings;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.InvocationTargetException;
@@ -68,12 +69,20 @@ public final class Qualifiers {
      * Creates a normalized Qualifiers instance from a collection of qualifier annotation instances.
      */
     public static Qualifiers fromQualifierAnnotations(final Collection<Annotation> annotations) {
+        return fromQualifierAnnotations(annotations, Strings.EMPTY);
+    }
+
+    /**
+     * Creates a normalized Qualifiers instance from a collection of qualifier annotation instances and a default name
+     * to use when {@linkplain Named named qualifiers} do not specify a value.
+     */
+    public static Qualifiers fromQualifierAnnotations(final Collection<Annotation> annotations, final String defaultName) {
         final Map<Class<? extends Annotation>, Map<String, Object>> qualifiers = new HashMap<>(annotations.size());
         for (final Annotation annotation : annotations) {
             final Class<? extends Annotation> annotationType = annotation.annotationType();
             final AliasFor alias = annotationType.getAnnotation(AliasFor.class);
             final Class<? extends Annotation> qualifierType = alias != null ? alias.value() : annotationType;
-            qualifiers.put(qualifierType, getQualifierAttributes(annotation));
+            qualifiers.put(qualifierType, getQualifierAttributes(annotation, defaultName));
         }
         if (needsDefaultQualifier(qualifiers.keySet())) {
             qualifiers.put(Default.class, Collections.emptyMap());
@@ -81,31 +90,25 @@ public final class Qualifiers {
         return new Qualifiers(Collections.unmodifiableMap(qualifiers));
     }
 
-    private static boolean needsDefaultQualifier(final Collection<Class<? extends Annotation>> qualifierTypes) {
-        if (qualifierTypes.contains(Default.class)) {
-            return false;
-        }
-        for (final Class<? extends Annotation> qualifierType : qualifierTypes) {
-            if (qualifierType != Named.class) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    private static Map<String, Object> getQualifierAttributes(final Annotation annotation) {
+    private static Map<String, Object> getQualifierAttributes(final Annotation annotation, final String defaultName) {
         final Class<? extends Annotation> annotationType = annotation.annotationType();
         final Method[] elements = annotationType.getDeclaredMethods();
         final Map<String, Object> attributes = new HashMap<>(elements.length);
         for (final Method element : elements) {
             if (!element.isAnnotationPresent(Ignore.class)) {
-                attributes.put(element.getName(), getAnnotationElement(annotation, element));
+                final String name = element.getName();
+                final Object value = getAnnotationElementValue(annotation, element);
+                if (annotationType == Named.class && name.equals("value") && value.toString().isEmpty()) {
+                    attributes.put("value", defaultName);
+                } else {
+                    attributes.put(name, value);
+                }
             }
         }
         return Collections.unmodifiableMap(attributes);
     }
 
-    private static Object getAnnotationElement(final Annotation annotation, final Method element) {
+    private static Object getAnnotationElementValue(final Annotation annotation, final Method element) {
         try {
             return element.invoke(annotation);
         } catch (final IllegalAccessException e) {
@@ -115,4 +118,16 @@ public final class Qualifiers {
                     e.getCause());
         }
     }
+
+    private static boolean needsDefaultQualifier(final Collection<Class<? extends Annotation>> qualifierTypes) {
+        if (qualifierTypes.contains(Default.class)) {
+            return false;
+        }
+        for (final Class<? extends Annotation> qualifierType : qualifierTypes) {
+            if (qualifierType != Named.class) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
diff --git a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
index 07fd6f6..96e7d46 100644
--- a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
+++ b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManagerTest.java
@@ -19,6 +19,7 @@ package org.apache.logging.log4j.plugins.defaults.bean;
 
 import org.apache.logging.log4j.plugins.api.Default;
 import org.apache.logging.log4j.plugins.api.Inject;
+import org.apache.logging.log4j.plugins.api.Named;
 import org.apache.logging.log4j.plugins.api.PostConstruct;
 import org.apache.logging.log4j.plugins.api.Produces;
 import org.apache.logging.log4j.plugins.api.Provider;
@@ -271,8 +272,31 @@ public class DefaultBeanManagerTest {
         assertEquals(6, instance.six);
     }
 
+    public static class DefaultNamedQualifier {
+        @Produces
+        @Named
+        public String methodProducer() {
+            return "foobar";
+        }
+
+        @Produces
+        @Named
+        public short getAnswer() {
+            return 42;
+        }
+    }
+
+    @WithBeans(DefaultNamedQualifier.class)
+    @Test
+    public void testDefaultNamedQualifier(@Named final String methodProducer,
+                                          @Named("methodProducer") final String alternative,
+                                          @Named final short answer) {
+        assertEquals("foobar", methodProducer);
+        assertEquals(methodProducer, alternative);
+        assertEquals(42, answer);
+    }
+
     // TODO: add tests for other supported injection scenarios
     // TODO: add tests for hierarchical scopes
-    // TODO: add tests for default @Named value calculation
     // TODO: add tests for @Named alias annotations like @PluginAttribute == @Named
 }
\ No newline at end of file


[logging-log4j2] 02/05: Remove unused method and rename

Posted by ma...@apache.org.
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 01847710fac4ff0a963c16ca8f1a50d614e8a524
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 11:43:26 2020 -0500

    Remove unused method and rename
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../logging/log4j/plugins/defaults/bean/DefaultBeanManager.java  | 4 ++--
 .../logging/log4j/plugins/defaults/bean/FieldProducer.java       | 2 +-
 .../logging/log4j/plugins/defaults/bean/MethodProducer.java      | 2 +-
 .../logging/log4j/plugins/defaults/model/AbstractMetaMember.java | 9 ++-------
 .../log4j/plugins/defaults/model/DefaultElementManager.java      | 4 ++--
 .../logging/log4j/plugins/defaults/model/DefaultMetaClass.java   | 2 +-
 .../log4j/plugins/defaults/model/DefaultMetaParameter.java       | 4 ++--
 .../org/apache/logging/log4j/plugins/spi/model/MetaElement.java  | 2 +-
 .../org/apache/logging/log4j/plugins/spi/model/MetaMember.java   | 2 --
 9 files changed, 12 insertions(+), 19 deletions(-)

diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManager.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManager.java
index d59a176..8163bbf 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManager.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/DefaultBeanManager.java
@@ -156,7 +156,7 @@ public class DefaultBeanManager implements BeanManager {
             for (final MetaParameter<?> parameter : method.getParameters()) {
                 if (parameter.isAnnotationPresent(Disposes.class)) {
                     disposesMethods.add(new DisposesMethod<>(
-                            parameter.getBaseType(), elementManager.getQualifiers(parameter), bean, method));
+                            parameter.getType(), elementManager.getQualifiers(parameter), bean, method));
                 }
             }
         }
@@ -251,7 +251,7 @@ public class DefaultBeanManager implements BeanManager {
         if (rawType.equals(Bean.class)) {
             final Bean<?> bean = point.getBean().orElseThrow(() -> new UnsatisfiedBeanException(point));
             if (bean instanceof InjectionTargetBean<?>) {
-                validateBeanInjectionPoint(point, bean.getDeclaringClass().getBaseType());
+                validateBeanInjectionPoint(point, bean.getDeclaringClass().getType());
             } else if (bean instanceof ProducerBean<?, ?>) {
                 validateBeanInjectionPoint(point, ((ProducerBean<?, ?>) bean).getType());
             }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/FieldProducer.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/FieldProducer.java
index 9424eb2..8c21750 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/FieldProducer.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/FieldProducer.java
@@ -39,7 +39,7 @@ class FieldProducer<P, T> extends AbstractProducer<P, T> {
 
     @Override
     Type getType() {
-        return field.getBaseType();
+        return field.getType();
     }
 
     @Override
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/MethodProducer.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/MethodProducer.java
index 1d13338..8b80a4a 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/MethodProducer.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/bean/MethodProducer.java
@@ -44,7 +44,7 @@ class MethodProducer<P, T> extends AbstractProducer<P, T> {
 
     @Override
     Type getType() {
-        return producerMethod.getBaseType();
+        return producerMethod.getType();
     }
 
     @Override
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/AbstractMetaMember.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/AbstractMetaMember.java
index f40d3fb..a6d976a 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/AbstractMetaMember.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/AbstractMetaMember.java
@@ -54,8 +54,8 @@ abstract class AbstractMetaMember<D, T> implements MetaMember<D, T> {
     }
 
     @Override
-    public Type getBaseType() {
-        return type.getBaseType();
+    public Type getType() {
+        return type.getType();
     }
 
     @Override
@@ -64,11 +64,6 @@ abstract class AbstractMetaMember<D, T> implements MetaMember<D, T> {
     }
 
     @Override
-    public MetaClass<T> getType() {
-        return type;
-    }
-
-    @Override
     public MetaClass<D> getDeclaringClass() {
         return declaringClass;
     }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
index ad83d4e..82b7369 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultElementManager.java
@@ -120,7 +120,7 @@ public class DefaultElementManager implements ElementManager {
     public <D, T> InjectionPoint<T> createFieldInjectionPoint(final MetaField<D, T> field, final Bean<D> owner) {
         Objects.requireNonNull(field);
         final Qualifiers qualifiers = getQualifiers(field);
-        return new DefaultInjectionPoint<>(field.getBaseType(), qualifiers, owner, field, field);
+        return new DefaultInjectionPoint<>(field.getType(), qualifiers, owner, field, field);
     }
 
     @Override
@@ -130,7 +130,7 @@ public class DefaultElementManager implements ElementManager {
         Objects.requireNonNull(executable);
         Objects.requireNonNull(parameter);
         final Qualifiers qualifiers = getQualifiers(parameter);
-        return new DefaultInjectionPoint<>(parameter.getBaseType(), qualifiers, owner, executable, parameter);
+        return new DefaultInjectionPoint<>(parameter.getType(), qualifiers, owner, executable, parameter);
     }
 
     @Override
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaClass.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaClass.java
index 8f4d26e..80afe92 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaClass.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaClass.java
@@ -82,7 +82,7 @@ class DefaultMetaClass<T> implements MetaClass<T> {
     }
 
     @Override
-    public Type getBaseType() {
+    public Type getType() {
         return baseType;
     }
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaParameter.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaParameter.java
index 2ea34d2..960e81f 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaParameter.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/defaults/model/DefaultMetaParameter.java
@@ -50,8 +50,8 @@ class DefaultMetaParameter<T> implements MetaParameter<T> {
     }
 
     @Override
-    public Type getBaseType() {
-        return parameterClass.getBaseType();
+    public Type getType() {
+        return parameterClass.getType();
     }
 
     @Override
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaElement.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaElement.java
index 1dc9b01..3de8421 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaElement.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaElement.java
@@ -54,7 +54,7 @@ public interface MetaElement<T> {
         return false;
     }
 
-    Type getBaseType();
+    Type getType();
 
     Collection<Type> getTypeClosure();
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaMember.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaMember.java
index 21601fd..b718867 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaMember.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/MetaMember.java
@@ -18,8 +18,6 @@
 package org.apache.logging.log4j.plugins.spi.model;
 
 public interface MetaMember<D, T> extends MetaElement<T> {
-    MetaClass<T> getType();
-
     MetaClass<D> getDeclaringClass();
 
     boolean isStatic();