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

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/deltaspike.git


The following commit(s) were added to refs/heads/master by this push:
     new 854275bf1 fixed MessageBundle bean builder
854275bf1 is described below

commit 854275bf15c02b22f398c2478d6a11d32ec3cd25
Author: tandraschko <[email protected]>
AuthorDate: Thu Jan 11 19:56:50 2024 +0100

    fixed MessageBundle bean builder
---
 .../core/impl/message/MessageBundleExtension.java  | 32 ++++++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git 
a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleExtension.java
 
b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleExtension.java
index db8a05287..6df015a77 100644
--- 
a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleExtension.java
+++ 
b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleExtension.java
@@ -18,6 +18,7 @@
  */
 package org.apache.deltaspike.core.impl.message;
 
+import java.beans.Introspector;
 import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
@@ -39,6 +40,8 @@ import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
 import jakarta.enterprise.inject.spi.Extension;
 import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
 
+import jakarta.enterprise.inject.spi.configurator.BeanConfigurator;
+import jakarta.inject.Named;
 import org.apache.deltaspike.core.api.message.Message;
 import org.apache.deltaspike.core.api.message.MessageBundle;
 import org.apache.deltaspike.core.api.message.MessageTemplate;
@@ -138,19 +141,30 @@ public class MessageBundleExtension implements Extension, 
Deactivatable
 
         for (AnnotatedType<?> mbType : messageBundleTypes)
         {
-            abd.addBean()
-                .createWith(cc -> {
+            BeanConfigurator<?> beanConfigurator = abd.addBean()
+                    .createWith(cc -> {
                         final Bean<?> invocationHandlerBean = 
beanManager.resolve(
-                            
beanManager.getBeans(MessageBundleInvocationHandler.class));
+                                
beanManager.getBeans(MessageBundleInvocationHandler.class));
 
                         return createMessageBundleProxy(mbType.getJavaClass(),
-                            (MessageBundleInvocationHandler)
-                                
beanManager.getReference(invocationHandlerBean, 
MessageBundleInvocationHandler.class, cc));
+                                (MessageBundleInvocationHandler)
+                                        
beanManager.getReference(invocationHandlerBean, 
MessageBundleInvocationHandler.class, cc));
                     })
-                .types(mbType.getJavaClass(), Object.class, Serializable.class)
-                .addQualifier(Default.Literal.INSTANCE)
-                .scope(ApplicationScoped.class) // needs to be a normalscope 
due to a bug in older Weld versions
-                .id("MessageBundleBean#" + mbType.getJavaClass().getName());
+                    .types(mbType.getJavaClass(), Object.class, 
Serializable.class)
+                    .addQualifier(Default.Literal.INSTANCE)
+                    .scope(ApplicationScoped.class) // needs to be a 
normalscope due to a bug in older Weld versions
+                    .id("MessageBundleBean#" + 
mbType.getJavaClass().getName());
+
+            Named named = mbType.getJavaClass().getAnnotation(Named.class);
+            if (named != null)
+            {
+                String name = named.value();
+                if (name == null || name.isBlank())
+                {
+                    name = 
Introspector.decapitalize(mbType.getJavaClass().getSimpleName());
+                }
+                beanConfigurator.name(name);
+            }
         }
     }
 

Reply via email to