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:08 UTC

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

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