You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/12/22 02:30:53 UTC

svn commit: r1051729 - in /myfaces/extensions/cdi/trunk: core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/ core/impl/src/main/java/org/apache/myfaces/extensions...

Author: gpetracek
Date: Wed Dec 22 01:30:53 2010
New Revision: 1051729

URL: http://svn.apache.org/viewvc?rev=1051729&view=rev
Log:
EXTCDI-103 @Name renamed to @LoggerDetails

Added:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/LoggerDetails.java
      - copied, changed from r1051706, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Name.java
Removed:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Name.java
Modified:
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/DefaultLogger.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/InstanceProducer.java
    myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/conversation/grouped/ConversationDemoBean1.java

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/LoggerDetails.java (from r1051706, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Name.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/LoggerDetails.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/LoggerDetails.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Name.java&r1=1051706&r2=1051729&rev=1051729&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Name.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/logging/LoggerDetails.java Wed Dec 22 01:30:53 2010
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api;
+package org.apache.myfaces.extensions.cdi.core.api.logging;
 
 import javax.enterprise.util.Nonbinding;
 import javax.inject.Qualifier;
@@ -35,8 +35,29 @@ import static java.lang.annotation.Reten
 @Documented
 
 @Qualifier
-public @interface Name
+public @interface LoggerDetails
 {
+    //TODO add support for the i18n module
+
+    /**
+     * name of the logger which will be created
+     *
+     * @return name of the logger
+     */
+    @Nonbinding
+    String name() default "";
+
+    /**
+     * name of the {@link java.util.ResourceBundle} which will be used
+     * @return name of the resource-bundle
+     */
+    @Nonbinding
+    String resourceBundleName() default "";
+
+    /**
+     * indicates if an anonymous logger should be used
+     * @return true if an anonymous logger should be used, false otherwise
+     */
     @Nonbinding
-    String value();
+    boolean anonymous() default false;
 }

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/DefaultLogger.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/DefaultLogger.java?rev=1051729&r1=1051728&r2=1051729&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/DefaultLogger.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/DefaultLogger.java Wed Dec 22 01:30:53 2010
@@ -33,7 +33,7 @@ import java.util.logging.LogRecord;
  * @author Gerhard Petracek
  * @author Werner Punz
  */
-@Typed
+@Typed()
 public class DefaultLogger implements Logger
 {
     private static final long serialVersionUID = 6112073723716267680L;
@@ -59,6 +59,21 @@ public class DefaultLogger implements Lo
         this.loggerName = loggerName;
         this.resourceBundleName = resourceBundleName;
         this.anonymous = anonymous;
+
+        if("".equals(this.loggerName))
+        {
+            this.loggerName = null;
+        }
+
+        if("".equals(this.resourceBundleName))
+        {
+            this.resourceBundleName = null;
+        }
+    }
+
+    boolean isValid()
+    {
+        return !(!this.anonymous && this.loggerName == null && this.resourceBundleName == null);
     }
 
     public java.util.logging.Logger getWrapped()

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/InstanceProducer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/InstanceProducer.java?rev=1051729&r1=1051728&r2=1051729&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/InstanceProducer.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/logging/InstanceProducer.java Wed Dec 22 01:30:53 2010
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.core.impl.logging;
 
-import org.apache.myfaces.extensions.cdi.core.api.Name;
+import org.apache.myfaces.extensions.cdi.core.api.logging.LoggerDetails;
 import org.apache.myfaces.extensions.cdi.core.api.logging.Logger;
 
 import javax.enterprise.inject.Produces;
@@ -30,6 +30,8 @@ import javax.enterprise.inject.spi.Injec
  */
 final class InstanceProducer
 {
+    private java.util.logging.Logger logger = java.util.logging.Logger.getLogger(InstanceProducer.class.getName());
+
     @Produces
     public Logger getLogger(InjectionPoint injectionPoint)
     {
@@ -37,11 +39,21 @@ final class InstanceProducer
     }
 
     @Produces
-    @Name("")
-    public Logger getLoggerWithName(InjectionPoint injectionPoint)
+    @LoggerDetails
+    public Logger getLoggerForDetails(InjectionPoint injectionPoint)
     {
-        Name nameQualifier = injectionPoint.getAnnotated().getAnnotation(Name.class);
+        LoggerDetails loggerDetails = injectionPoint.getAnnotated().getAnnotation(LoggerDetails.class);
+
+        DefaultLogger logger = new DefaultLogger(loggerDetails.name(),
+                                                 loggerDetails.resourceBundleName(),
+                                                 loggerDetails.anonymous());
 
-        return new DefaultLogger(nameQualifier.value());
+        if(!logger.isValid())
+        {
+            this.logger.warning("an injection point in " + injectionPoint.getBean().getBeanClass().getName() +
+                                " uses an empty qualifier of type " + LoggerDetails.class.getName() +
+                                " - please remove it!");
+        }
+        return logger;
     }
 }

Modified: myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/conversation/grouped/ConversationDemoBean1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/conversation/grouped/ConversationDemoBean1.java?rev=1051729&r1=1051728&r2=1051729&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/conversation/grouped/ConversationDemoBean1.java (original)
+++ myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/conversation/grouped/ConversationDemoBean1.java Wed Dec 22 01:30:53 2010
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.examples.codi.jsf12.conversation.grouped;
 
-import org.apache.myfaces.extensions.cdi.core.api.Name;
+import org.apache.myfaces.extensions.cdi.core.api.logging.LoggerDetails;
 import org.apache.myfaces.extensions.cdi.core.api.logging.Logger;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationGroup;
@@ -52,18 +52,18 @@ public class ConversationDemoBean1 imple
     private Conversation conversation;
 
     @Inject
-    private Logger logger;
+    private Logger logger1;
 
     @Inject
-    @Name("l1")
-    private Logger l1;
+    @LoggerDetails
+    private Logger logger2;
 
     @PostConstruct
     public void init()
     {
         this.createdAt = new Date();
-        this.logger.info(getClass().getName() + " created at " + this.createdAt);
-        this.l1.info(getClass().getName() + " created at " + this.createdAt);
+        this.logger1.info(getClass().getName() + " created at " + this.createdAt);
+        this.logger2.info(getClass().getName() + " created at " + this.createdAt);
     }
 
     public String next()