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 2008/09/30 16:48:30 UTC

svn commit: r700486 [1/2] - in /myfaces/extensions/validator/branches/jsf_1.1: component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ component-support/trinidad-support/src/main/java/org/apache/myface...

Author: gpetracek
Date: Tue Sep 30 07:48:29 2008
New Revision: 700486

URL: http://svn.apache.org/viewvc?rev=700486&view=rev
Log:
pluggable logger

Added:
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/AbstractLoggerFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CachingCommonsLoggingLoggerFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CommonsLoggingLoggerAdapter.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Level.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Logger.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/LogUtils.java
Modified:
    myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRendererWrapper.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractor.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractorFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/FactoryNames.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializerFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultMetaDataExtractorFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererProxy.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidationStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidatorAdapter.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/JoinValidationStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/ValidatorStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/AliasCompareStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/ELCompareStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/DateIsStrategy.java

Modified: myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRendererWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRendererWrapper.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRendererWrapper.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRendererWrapper.java Tue Sep 30 07:48:29 2008
@@ -21,8 +21,7 @@
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -40,8 +39,6 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public final class ExtValGenericRendererWrapper extends ExtValRendererWrapper implements MethodInterceptor
 {
-    private static final Log log = LogFactory.getLog(ExtValGenericRendererWrapper.class);
-
     public static Renderer newInstance(Renderer renderer)
     {
         Class currentClass = renderer.getClass();
@@ -92,10 +89,8 @@
         }
         else
         {
-            if(log.isTraceEnabled())
-            {
-                log.trace("method " + method.getName() + " called without rendering-interceptors");
-            }
+            LogUtils.trace("method " + method.getName() + " called without rendering-interceptors", getClass());
+
             return proxy.invokeSuper(obj, args);
         }
         return null;
@@ -105,4 +100,4 @@
     {
         super(wrapped);
     }
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java Tue Sep 30 07:48:29 2008
@@ -19,6 +19,7 @@
 package org.apache.myfaces.extensions.validator.generic.renderkit;
 
 import org.apache.myfaces.extensions.validator.core.renderkit.AbstractRenderKitWrapperFactory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.render.RenderKit;
 
@@ -29,6 +30,9 @@
 {
     protected RenderKit createWrapper(RenderKit renderKit)
     {
+        LogUtils.trace("extval renderkit wrapper created for " + renderKit.getClass().getName() + " via cglib",
+            getClass());
+
         return ExtValGenericRenderKit.newInstance(renderKit);
     }
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java Tue Sep 30 07:48:29 2008
@@ -28,6 +28,8 @@
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 
 /**
+ * alternative approach for ExtValRenderKitFactory
+ * 
  * @author Gerhard Petracek
  */
 public class TrinidadModuleStartupListener extends AbstractStartupListener
@@ -40,6 +42,7 @@
 
     private void initTrinidadSupport()
     {
+        //deactivate default approach
         ExtValContext.getContext().getFactoryFinder()
             .getFactory(FactoryNames.RENDERKIT_WRAPPER_FACTORY, AbstractRenderKitWrapperFactory.class)
             .deactivate();

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java Tue Sep 30 07:48:29 2008
@@ -20,8 +20,6 @@
 
 import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
 import org.apache.myfaces.extensions.validator.core.initializer.component.DefaultComponentInitializer;
-import org.apache.myfaces.extensions.validator.core.initializer.rendering.DefaultRenderingContextInitializer;
-import org.apache.myfaces.extensions.validator.core.initializer.rendering.RenderingContextInitializer;
 import org.apache.myfaces.extensions.validator.core.interceptor.RendererInterceptor;
 import org.apache.myfaces.extensions.validator.core.recorder.ProcessedInformationRecorder;
 import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
@@ -113,11 +111,6 @@
         deregisterRendererInterceptor(rendererInterceptorClass);
     }
 
-    public void addRenderingContextInitializer(RenderingContextInitializer renderingContextInitializer)
-    {
-        DefaultRenderingContextInitializer.addRenderingContextInitializer(renderingContextInitializer);
-    }
-
     public void addComponentInitializer(ComponentInitializer componentInitializer)
     {
         DefaultComponentInitializer.addComponentInitializer(componentInitializer);

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractor.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractor.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractor.java Tue Sep 30 07:48:29 2008
@@ -18,10 +18,9 @@
  */
 package org.apache.myfaces.extensions.validator.core.annotation.extractor;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.extensions.validator.core.annotation.AnnotationEntry;
 import org.apache.myfaces.extensions.validator.util.ELUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -47,8 +46,6 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public class DefaultComponentAnnotationExtractor implements AnnotationExtractor
 {
-    protected final Log logger = LogFactory.getLog(getClass());
-
     @ToDo(Priority.MEDIUM)
     public List<AnnotationEntry> extractAnnotations(FacesContext facesContext, Object object)
     {
@@ -60,6 +57,8 @@
 
         UIComponent uiComponent = (UIComponent) object;
 
+        LogUtils.trace("start extracting annotations of " + uiComponent.getClass().getName(), getClass());
+
         List<AnnotationEntry> annotationEntries = new ArrayList<AnnotationEntry>();
 
         String valueBindingExpression = ELUtils.getReliableValueBindingExpression(uiComponent);
@@ -117,6 +116,8 @@
             }
         }
 
+        LogUtils.trace("extractAnnotations finished", getClass());
+
         return annotationEntries;
     }
 
@@ -140,8 +141,8 @@
             }
             catch (NoSuchMethodException e1)
             {
-                logger.debug("method not found - class: " + entity.getName()
-                    + " - methods: " + "get" + property + " " + "is" + property);
+                LogUtils.trace("method not found - class: " + entity.getName()
+                    + " - methods: " + "get" + property + " " + "is" + property, getClass());
                 return;
             }
         }
@@ -167,7 +168,7 @@
             }
             catch (NoSuchFieldException e1)
             {
-                logger.debug("field " + property + " or _" + property + " not found");
+                LogUtils.trace("field " + property + " or _" + property + " not found", getClass());
                 return;
             }
         }
@@ -182,6 +183,8 @@
         for (Annotation annotation : annotations)
         {
             annotationEntries.add(createAnnotationEntry(annotation, templateEntry));
+
+            LogUtils.trace(annotation.getClass().getName() + " found", getClass());
         }
     }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractorFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractorFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractorFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/annotation/extractor/DefaultComponentAnnotationExtractorFactory.java Tue Sep 30 07:48:29 2008
@@ -21,6 +21,7 @@
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -72,6 +73,8 @@
             }
         }
 
+        LogUtils.trace(annotationExtractor.getClass().getName() + " created", getClass());
+
         return annotationExtractor;
     }
 }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java Tue Sep 30 07:48:29 2008
@@ -23,8 +23,8 @@
 import org.apache.myfaces.extensions.validator.core.annotation.extractor.DefaultComponentAnnotationExtractorFactory;
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.logging.CachingCommonsLoggingLoggerFactory;
 import org.apache.myfaces.extensions.validator.core.renderkit.DefaultRenderKitWrapperFactory;
-import org.apache.myfaces.extensions.validator.core.initializer.rendering.DefaultRenderingContextInitializerFactory;
 import org.apache.myfaces.extensions.validator.core.initializer.component.DefaultComponentInitializerFactory;
 import org.apache.myfaces.extensions.validator.core.metadata.extractor.DefaultMetaDataExtractorFactory;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.DefaultValidationStrategyFactory;
@@ -44,9 +44,9 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public class DefaultFactoryFinder implements FactoryFinder
 {
-    Map<FactoryNames, Object> factoryMap = new HashMap<FactoryNames, Object>();
+    protected Map<FactoryNames, Object> factoryMap = new HashMap<FactoryNames, Object>();
 
-    public <T> T getFactory(FactoryNames factoryName, Class<T> targetClass)
+    public final <T> T getFactory(FactoryNames factoryName, Class<T> targetClass)
     {
         if(!(factoryMap.containsKey(factoryName)))
         {
@@ -85,10 +85,10 @@
                 factory = createRenderKitWrapperFactory();
                 break;
 
-            case RENDERING_CONTEXT_INITIALIZER_FACTORY:
-                factory = createRenderingContextInitializerFactory();
+            case LOGGER_FACTORY:
+                factory = createLoggerFactory();
                 break;
-            
+
             default: //required by checkstyle
         }
 
@@ -100,7 +100,7 @@
         factoryMap.put(factoryName, factory);
     }
 
-    private Object createComponentAnnotationExtractorFactory()
+    protected Object createComponentAnnotationExtractorFactory()
     {
         Object factory = null;
 
@@ -124,7 +124,7 @@
         return factory;
     }
 
-    private Object createValidationStrategyFactory()
+    protected Object createValidationStrategyFactory()
     {
         Object factory = null;
 
@@ -148,54 +148,54 @@
         return factory;
     }
 
-    private Object createMessageResolverFactory()
+    protected Object createMessageResolverFactory()
     {
         Object factory = null;
-            List<String> messageResolverFactoryClassNames = new ArrayList<String>();
+        List<String> messageResolverFactoryClassNames = new ArrayList<String>();
 
-            messageResolverFactoryClassNames.add(WebXmlParameter.CUSTOM_MESSAGE_RESOLVER_FACTORY);
-            messageResolverFactoryClassNames
-                .add(ExtValContext.getContext().getInformationProviderBean().getCustomMessageResolverFactory());
-            messageResolverFactoryClassNames
-                .add(DefaultMessageResolverFactory.class.getName());
+        messageResolverFactoryClassNames.add(WebXmlParameter.CUSTOM_MESSAGE_RESOLVER_FACTORY);
+        messageResolverFactoryClassNames
+            .add(ExtValContext.getContext().getInformationProviderBean().getCustomMessageResolverFactory());
+        messageResolverFactoryClassNames
+            .add(DefaultMessageResolverFactory.class.getName());
 
-            for (String className : messageResolverFactoryClassNames)
-            {
-                factory = ClassUtils.tryToInstantiateClassForName(className);
+        for (String className : messageResolverFactoryClassNames)
+        {
+            factory = ClassUtils.tryToInstantiateClassForName(className);
 
-                if (factory != null)
-                {
-                    break;
-                }
+            if (factory != null)
+            {
+                break;
             }
+        }
 
         return factory;
     }
 
-    private Object createMetaDataExtractorFactory()
+    protected Object createMetaDataExtractorFactory()
     {
         Object factory = null;
-            List<String> metaDataExtractorFactoryClassNames = new ArrayList<String>();
+        List<String> metaDataExtractorFactoryClassNames = new ArrayList<String>();
 
-            metaDataExtractorFactoryClassNames.add(WebXmlParameter.CUSTOM_META_DATA_EXTRACTOR_FACTORY);
-            metaDataExtractorFactoryClassNames
-                .add(ExtValContext.getContext().getInformationProviderBean().getCustomMetaDataExtractorFactory());
-            metaDataExtractorFactoryClassNames.add(DefaultMetaDataExtractorFactory.class.getName());
+        metaDataExtractorFactoryClassNames.add(WebXmlParameter.CUSTOM_META_DATA_EXTRACTOR_FACTORY);
+        metaDataExtractorFactoryClassNames
+            .add(ExtValContext.getContext().getInformationProviderBean().getCustomMetaDataExtractorFactory());
+        metaDataExtractorFactoryClassNames.add(DefaultMetaDataExtractorFactory.class.getName());
 
-            for (String className : metaDataExtractorFactoryClassNames)
-            {
-                factory = ClassUtils.tryToInstantiateClassForName(className);
+        for (String className : metaDataExtractorFactoryClassNames)
+        {
+            factory = ClassUtils.tryToInstantiateClassForName(className);
 
-                if (factory != null)
-                {
-                    break;
-                }
+            if (factory != null)
+            {
+                break;
             }
+        }
 
         return factory;
     }
 
-    private Object createComponentInitializerFactory()
+    protected Object createComponentInitializerFactory()
     {
         Object factory = null;
         List<String> componentInitializerFactoryClassNames = new ArrayList<String>();
@@ -218,35 +218,14 @@
         return factory;
     }
 
-    private Object createRenderKitWrapperFactory()
+    protected Object createRenderKitWrapperFactory()
     {
         return new DefaultRenderKitWrapperFactory();
     }
 
-    private Object createRenderingContextInitializerFactory()
+    private Object createLoggerFactory()
     {
-        Object factory = null;
-
-            List<String> renderingContextInitializerFactoryClassNames = new ArrayList<String>();
-
-            renderingContextInitializerFactoryClassNames
-                .add(WebXmlParameter.CUSTOM_RENDERING_CONTEXT_INITIALIZER_FACTORY);
-            renderingContextInitializerFactoryClassNames
-                .add(ExtValContext.getContext().getInformationProviderBean()
-                    .getCustomRenderingContextInitializerFactory());
-            renderingContextInitializerFactoryClassNames
-                .add(DefaultRenderingContextInitializerFactory.class.getName());
-
-            for (String className : renderingContextInitializerFactoryClassNames)
-            {
-                factory = ClassUtils.tryToInstantiateClassForName(className);
-
-                if (factory != null)
-                {
-                    break;
-                }
-            }
-
-        return factory;
+        return new CachingCommonsLoggingLoggerFactory();
     }
+
 }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/FactoryNames.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/FactoryNames.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/FactoryNames.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/FactoryNames.java Tue Sep 30 07:48:29 2008
@@ -30,5 +30,5 @@
     META_DATA_EXTRACTOR_FACTORY,
     COMPONENT_INITIALIZER_FACTORY,
     RENDERKIT_WRAPPER_FACTORY,
-    RENDERING_CONTEXT_INITIALIZER_FACTORY
+    LOGGER_FACTORY
 }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializer.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializer.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializer.java Tue Sep 30 07:48:29 2008
@@ -20,6 +20,7 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -41,6 +42,7 @@
         for(ComponentInitializer componentInitializer : componentInitializers)
         {
             componentInitializer.configureComponent(facesContext, uiComponent, metaData);
+            LogUtils.trace("configureComponent of " + componentInitializer.getClass().getName() + " called",getClass());
         }
     }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializerFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializerFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/DefaultComponentInitializerFactory.java Tue Sep 30 07:48:29 2008
@@ -24,6 +24,7 @@
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import java.util.ArrayList;
@@ -72,6 +73,9 @@
             if (componentInitializer != null)
             {
                 componentToComponentInitializerMapping.put(componentKey, componentInitializer);
+
+                LogUtils.trace(componentInitializer.getClass().getName() + " used for " + componentKey, getClass());
+
                 return componentInitializer;
             }
         }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java Tue Sep 30 07:48:29 2008
@@ -30,8 +30,7 @@
 import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
 import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
 import org.apache.myfaces.extensions.validator.core.recorder.ProcessedInformationRecorder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
@@ -50,8 +49,6 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public class ValidationInterceptor extends AbstractRendererInterceptor
 {
-    private final Log logger = LogFactory.getLog(getClass().getName());
-
     @Override
     public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
         throws IOException
@@ -66,6 +63,8 @@
             return;
         }
 
+        LogUtils.trace("start to init component " + uiComponent.getClass().getName(), getClass());
+
         ValidationStrategy validationStrategy;
         MetaDataExtractor metaDataExtractor;
 
@@ -102,12 +101,15 @@
                     metaData = new HashMap<String, Object>();
                 }
 
+                //get component initializer for the current component and configure it
                 ((ClassMappingFactory<UIComponent, ComponentInitializer>)ExtValContext.getContext().getFactoryFinder()
                     .getFactory(FactoryNames.COMPONENT_INITIALIZER_FACTORY, ClassMappingFactory.class))
                     .create(uiComponent)
                     .configureComponent(facesContext, uiComponent, metaData);
             }
         }
+
+        LogUtils.trace("init component of " + uiComponent.getClass().getName() + " finished", getClass());
     }
 
     @Override
@@ -120,6 +122,8 @@
         for(ProcessedInformationRecorder recorder : ExtValContext.getContext().getProcessedInformationRecorders())
         {
             recorder.recordUserInput(uiComponent, convertedObject);
+
+            LogUtils.trace(recorder.getClass().getName() + " called", getClass());
         }
 
         processValidation(facesContext, uiComponent, convertedObject);
@@ -131,10 +135,12 @@
         {
             return;
         }
+        LogUtils.trace("start validation", getClass());
 
         ValidationStrategy validationStrategy;
 
-        AnnotationExtractor annotationExtractor = ExtValContext.getContext().getFactoryFinder()
+        AnnotationExtractor annotationExtractor =
+            ExtValContext.getContext().getFactoryFinder()
             .getFactory(FactoryNames.COMPONENT_ANNOTATION_EXTRACTOR_FACTORY, AnnotationExtractorFactory.class)
             .create();
 
@@ -147,13 +153,18 @@
 
             if (validationStrategy != null)
             {
+                LogUtils.trace("validate " + entry.getAnnotation().getClass().getName() + " with " +
+                    validationStrategy.getClass().getName(), getClass());
+
                 validationStrategy.validate(facesContext, uiComponent, entry, convertedObject);
             }
             else
             {
-                logger.trace("no validation strategy found for "
-                    + entry.getAnnotation().annotationType().getName());
+                LogUtils.trace("no validation strategy found for " + entry.getAnnotation().annotationType().getName(),
+                    getClass());
             }
         }
+
+        LogUtils.trace("validation finished", getClass());
     }
-}
\ No newline at end of file
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/AbstractLoggerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/AbstractLoggerFactory.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/AbstractLoggerFactory.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/AbstractLoggerFactory.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.logging;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+
+/**
+ * to inject a custom logger factory use:
+ *         ExtValContext.getContext().getFactoryFinder()
+ *          .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+ *          .setCustomLoggerFactory(new CustomLoggerFactory());
+ * e.g. via a startup-listener - see AbstractStartupListener
+ * 
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.API)
+public abstract class AbstractLoggerFactory implements ClassMappingFactory<Class, Logger>
+{
+    protected AbstractLoggerFactory customLoggerFactory;
+    
+    public void setCustomLoggerFactory(AbstractLoggerFactory loggerFactory)
+    {
+        this.customLoggerFactory = loggerFactory;
+    }
+
+    public final Logger create(Class targetClass)
+    {
+        Logger result = null;
+
+        if(this.customLoggerFactory != null)
+        {
+            result = this.customLoggerFactory.createLogger(targetClass);
+        }
+
+        if(result == null)
+        {
+            return createLogger(targetClass);
+        }
+
+        return result;
+    }
+
+    protected abstract Logger createLogger(Class targetClass);
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CachingCommonsLoggingLoggerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CachingCommonsLoggingLoggerFactory.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CachingCommonsLoggingLoggerFactory.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CachingCommonsLoggingLoggerFactory.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.logging;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class CachingCommonsLoggingLoggerFactory extends AbstractLoggerFactory
+{
+    private Map<Class, Log> classToLoggerMapping = new HashMap<Class, Log>();
+
+    protected Logger createLogger(Class targetClass)
+    {
+        if(!this.classToLoggerMapping.containsKey(targetClass))
+        {
+            this.classToLoggerMapping.put(targetClass, LogFactory.getLog(targetClass));
+        }
+        return new CommonsLoggingLoggerAdapter(this.classToLoggerMapping.get(targetClass));
+    }
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CommonsLoggingLoggerAdapter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CommonsLoggingLoggerAdapter.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CommonsLoggingLoggerAdapter.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/CommonsLoggingLoggerAdapter.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,165 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.logging;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.commons.logging.Log;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class CommonsLoggingLoggerAdapter implements Logger
+{
+    private Log logger;
+
+    public CommonsLoggingLoggerAdapter(Log logger)
+    {
+        this.logger = logger;
+    }
+
+    public void log(Level level, String message)
+    {
+        log(level, message, null);
+    }
+
+    public void log(Level level, String message, Throwable throwable)
+    {
+        switch (level)
+        {
+            case TRACE:
+                trace(message, throwable);
+                break;
+
+            case DEBUG:
+                debug(message, throwable);
+                break;
+
+            case INFO:
+                info(message, throwable);
+                break;
+
+            case WARN:
+                warn(message, throwable);
+                break;
+
+            case ERROR:
+                error(message, throwable);
+                break;
+
+            case FATAL:
+                fatal(message, throwable);
+                break;
+
+            default:
+        }
+    }
+
+    private void trace(String message, Throwable throwable)
+    {
+        if(this.logger.isTraceEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.trace(message);
+            }
+            else
+            {
+                this.logger.trace(message, throwable);
+            }
+        }
+    }
+
+    private void debug(String message, Throwable throwable)
+    {
+        if(this.logger.isDebugEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.debug(message);
+            }
+            else
+            {
+                this.logger.debug(message, throwable);
+            }
+        }
+    }
+
+    private void info(String message, Throwable throwable)
+    {
+        if(this.logger.isInfoEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.info(message);
+            }
+            else
+            {
+                this.logger.info(message, throwable);
+            }
+        }
+    }
+
+    private void warn(String message, Throwable throwable)
+    {
+        if(this.logger.isWarnEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.warn(message);
+            }
+            else
+            {
+                this.logger.warn(message, throwable);
+            }
+        }
+    }
+
+    private void error(String message, Throwable throwable)
+    {
+        if(this.logger.isErrorEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.error(message);
+            }
+            else
+            {
+                this.logger.error(message, throwable);
+            }
+        }
+    }
+
+    private void fatal(String message, Throwable throwable)
+    {
+        if(this.logger.isFatalEnabled())
+        {
+            if(throwable == null)
+            {
+                this.logger.fatal(message);
+            }
+            else
+            {
+                this.logger.fatal(message, throwable);
+            }
+        }
+    }
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Level.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Level.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Level.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Level.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.logging;
+
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.API)
+public enum Level
+{
+    TRACE,
+    DEBUG,
+    INFO,
+    WARN,
+    ERROR,
+    FATAL
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Logger.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Logger.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Logger.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/logging/Logger.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.logging;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.API)
+public interface Logger
+{
+    void log(Level level, String message);
+    void log(Level level, String message, Throwable throwable);
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultMetaDataExtractorFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultMetaDataExtractorFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultMetaDataExtractorFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultMetaDataExtractorFactory.java Tue Sep 30 07:48:29 2008
@@ -33,6 +33,7 @@
     .BeanValidationStrategyToMetaDataExtractorNameMapper;
 import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
 import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 
@@ -115,6 +116,8 @@
                 if(validationStrategyName != null)
                 {
                     validationStrategyToMetaDataExtractorMapping.put(validationStrategyName, extractorName);
+
+                    LogUtils.trace(extractorName + " used for " + validationStrategyName , getClass());
                 }
                 return metaDataExtractor;
             }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java Tue Sep 30 07:48:29 2008
@@ -21,10 +21,13 @@
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.render.RenderKit;
 
 /**
+ * Base for all RenderKitWrapperFactories to force a specific behaviour
+ *
  * @author Gerhard Petracek
  * @since 1.x.1
  */
@@ -36,6 +39,8 @@
 
     public void addRenderKitWrapperFactory(AbstractRenderKitWrapperFactory renderKitWrapperFactory)
     {
+        LogUtils.trace(renderKitWrapperFactory.getClass().getName() + " added", getClass());
+
         if(this.wrapped != null)
         {
             this.wrapped.addRenderKitWrapperFactory(renderKitWrapperFactory);
@@ -47,6 +52,8 @@
 
     public void deactivate()
     {
+        LogUtils.trace(getClass().getName() + " deactivated", getClass());
+
         this.deactivated = true;
     }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java Tue Sep 30 07:48:29 2008
@@ -20,6 +20,8 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
+
 import javax.faces.render.RenderKit;
 
 /**
@@ -31,6 +33,8 @@
 {
     protected RenderKit createWrapper(RenderKit renderKit)
     {
+        LogUtils.trace("extval renderkit wrapper created for " + renderKit.getClass().getName(), getClass());
+
         return new ExtValRenderKit(renderKit);
     }
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java Tue Sep 30 07:48:29 2008
@@ -20,14 +20,9 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.core.ExtValContext;
-import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
-import org.apache.myfaces.extensions.validator.core.initializer.rendering.RenderingContextInitializer;
 
 import javax.faces.context.ResponseStream;
 import javax.faces.context.ResponseWriter;
-import javax.faces.context.FacesContext;
 import javax.faces.render.RenderKit;
 import javax.faces.render.Renderer;
 import javax.faces.render.ResponseStateManager;
@@ -45,15 +40,6 @@
 
     public ExtValRenderKit(RenderKit wrapped)
     {
-        //a4j workaround
-        if(FacesContext.getCurrentInstance() != null)
-        {
-            ((ClassMappingFactory<RenderKit, RenderingContextInitializer>)ExtValContext.getContext()
-                .getFactoryFinder()
-                .getFactory(FactoryNames.RENDERING_CONTEXT_INITIALIZER_FACTORY, ClassMappingFactory.class))
-                .create(wrapped).initContext();
-        }
-
         this.wrapped = wrapped;
     }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java Tue Sep 30 07:48:29 2008
@@ -29,6 +29,8 @@
 import java.util.Iterator;
 
 /**
+ * central mechanism which is responsible to create a wrapper for a renderer - starting point of extval.
+ *
  * @author Gerhard Petracek
  * @since 1.x.1
  */
@@ -50,13 +52,17 @@
     public RenderKit getRenderKit(FacesContext facesContext, String s)
     {
         RenderKit renderKit = this.wrapped.getRenderKit(facesContext, s);
+
         AbstractRenderKitWrapperFactory wrapperFactory = ExtValContext.getContext().getFactoryFinder()
             .getFactory(FactoryNames.RENDERKIT_WRAPPER_FACTORY, AbstractRenderKitWrapperFactory.class);
 
+        //some component libs e.g. myfaces-trinidad aren't compatible with this clean approach
+        //example see TrinidadModuleStartupListener
         if(wrapperFactory.isDeactivated())
         {
             return renderKit;
         }
+
         return wrapperFactory.create(renderKit);
     }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererProxy.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererProxy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererProxy.java Tue Sep 30 07:48:29 2008
@@ -20,6 +20,7 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.context.FacesContext;
 import javax.faces.render.Renderer;
@@ -43,8 +44,11 @@
     public ExtValRendererProxy(Renderer renderer)
     {
         this.wrapped = renderer;
+
+        LogUtils.trace("proxy created for " + renderer.getClass().getName(), getClass());
     }
 
+    @Override
     public void decode(FacesContext facesContext, UIComponent uiComponent)
     {
         RendererProxyEntry entry = getOrInitEntry(facesContext, uiComponent);
@@ -56,6 +60,7 @@
         }
     }
 
+    @Override
     public void encodeBegin(FacesContext facesContext, UIComponent uiComponent)
         throws IOException
     {
@@ -68,6 +73,7 @@
         }
     }
 
+    @Override
     public void encodeChildren(FacesContext facesContext, UIComponent uiComponent)
         throws IOException
     {
@@ -80,6 +86,7 @@
         }
     }
 
+    @Override
     public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
         throws IOException
     {
@@ -92,16 +99,19 @@
         }
     }
 
+    @Override
     public String convertClientId(FacesContext facesContext, String s)
     {
         return wrapped.convertClientId(facesContext, s);
     }
 
+    @Override
     public boolean getRendersChildren()
     {
         return wrapped.getRendersChildren();
     }
 
+    @Override
     public Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object o)
         throws ConverterException
     {
@@ -148,4 +158,4 @@
 
         return proxyStorage.get(key);
     }
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java Tue Sep 30 07:48:29 2008
@@ -22,6 +22,7 @@
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.core.interceptor.RendererInterceptor;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -31,10 +32,10 @@
 
 /**
  * Default approach to avoid proxies for converters and the adapter fallback.
- * It requires that components delegate getConvertedValue to a renderer.
+ * It requires that components delegate getConvertedValue to a renderer.<br/>
  * If it isn't the case for your component lib use:
- * org.apache.myfaces.extensions.validator.core.proxy.ExtValApplicationFactory
- * and
+ * org.apache.myfaces.extensions.validator.core.proxy.ExtValApplicationFactory<br/>
+ * and<br/>
  * org.apache.myfaces.extensions.validator.core.proxy.ProxyMappingPhaseListener
  * <p/>
  * This wrapper will also implement client-side validation behaviour
@@ -48,9 +49,11 @@
     protected Renderer wrapped;
     protected ExtValContext extValContext = ExtValContext.getContext();
 
-    public ExtValRendererWrapper(Renderer wrapped)
+    public ExtValRendererWrapper(Renderer renderer)
     {
-        this.wrapped = new ExtValRendererProxy(wrapped);
+        this.wrapped = new ExtValRendererProxy(renderer);
+
+        LogUtils.trace("extval renderer wrapper created for " + renderer.getClass().getName(), getClass());
     }
 
     @Override
@@ -58,14 +61,26 @@
     {
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start beforeDecode of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.beforeDecode(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("beforeDecode of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         wrapped.decode(facesContext, uiComponent);
 
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start afterDecode of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.afterDecode(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("afterDecode of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
     }
 
@@ -75,14 +90,26 @@
     {
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start beforeEncodeBegin of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.beforeEncodeBegin(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("beforeEncodeBegin of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         wrapped.encodeBegin(facesContext, uiComponent);
 
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start afterEncodeBegin of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.afterEncodeBegin(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("afterEncodeBegin of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
     }
 
@@ -92,14 +119,26 @@
     {
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start beforeEncodeChildren of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.beforeEncodeChildren(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("beforeEncodeChildren of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         wrapped.encodeChildren(facesContext, uiComponent);
 
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start afterEncodeChildren of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.afterEncodeChildren(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("afterEncodeChildren of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
     }
 
@@ -109,14 +148,26 @@
     {
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start beforeEncodeEnd of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.beforeEncodeEnd(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("beforeEncodeEnd of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         wrapped.encodeEnd(facesContext, uiComponent);
 
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start afterEncodeEnd of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.afterEncodeEnd(facesContext, uiComponent, this.wrapped);
+
+            LogUtils.trace("afterEncodeEnd of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
     }
 
@@ -132,19 +183,32 @@
         return wrapped.getRendersChildren();
     }
 
+    @Override
     public final Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object o)
         throws ConverterException
     {
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start beforeGetConvertedValue of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.beforeGetConvertedValue(facesContext, uiComponent, o, this.wrapped);
+
+            LogUtils.trace("beforeGetConvertedValue of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         Object convertedObject = wrapped.getConvertedValue(facesContext, uiComponent, o);
 
         for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
         {
+            LogUtils.trace("start afterGetConvertedValue of " + rendererInterceptor.getClass().getName(),
+                getClass());
+
             rendererInterceptor.afterGetConvertedValue(facesContext, uiComponent, o, this.wrapped);
+
+            LogUtils.trace("afterGetConvertedValue of " + rendererInterceptor.getClass().getName() + " finished",
+                getClass());
         }
 
         return convertedObject;

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java Tue Sep 30 07:48:29 2008
@@ -18,9 +18,8 @@
  */
 package org.apache.myfaces.extensions.validator.core.startup;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.extensions.validator.util.JsfUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 
@@ -40,7 +39,6 @@
 @UsageInformation(UsageCategory.REUSE)
 public abstract class AbstractStartupListener implements PhaseListener
 {
-    protected final Log logger = LogFactory.getLog(getClass());
     //don't remove - it's a fallback if there is a problem with deregistration
     //target: don't process init logic more than once
     private static List<Class> initializedListeners = new ArrayList<Class>();
@@ -57,19 +55,21 @@
             {
                 try
                 {
+                    LogUtils.info("start init of " + getClass().getName(), getClass());
+
                     init();
 
+                    LogUtils.info("init of " + getClass().getName() + " finished", getClass());
+
                     JsfUtils.deregisterPhaseListener(this);
                 }
                 catch (Throwable t)
                 {
-                    this.logger
-                        .warn(
-                            "an exception occurred while deregistering the phase-listener"
+                    LogUtils.warn("an exception occurred while deregistering the phase-listener"
                                 + getClass().getName()
                                 + " -> there is just a little overhead,"
                                 + " but everything else works correctly."
-                                + " however, please inform the community about your configuration", t);
+                                + " however, please inform the community about your configuration", t, getClass());
                 }
                 finally
                 {

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java Tue Sep 30 07:48:29 2008
@@ -18,11 +18,10 @@
  */
 package org.apache.myfaces.extensions.validator.core.validation.message.resolver;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.util.ELUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 
@@ -48,8 +47,6 @@
     //with jsf 1.1 only available if there is a custom bean
     private String messageBundleVarName;
 
-    protected final Log logger = LogFactory.getLog(getClass());
-
     public String getMessage(String key, Locale locale)
     {
         if (key == null || key.equals(""))
@@ -70,7 +67,7 @@
             }
             else
             {
-                logger.warn("message bundle " + this.messageBundleBaseName + " not found");
+                LogUtils.warn("message bundle " + this.messageBundleBaseName + " not found", getClass());
             }
         }
 
@@ -85,7 +82,7 @@
             }
             else
             {
-                logger.warn("message bundle var name " + this.messageBundleVarName + " not found");
+                LogUtils.warn("message bundle var name " + this.messageBundleVarName + " not found", getClass());
             }
         }
 
@@ -126,7 +123,7 @@
             }
             catch (MissingResourceException e)
             {
-                logger.trace("no custom message for " + key + " within " + getCustomBaseName());
+                LogUtils.trace("no custom message for " + key + " within " + getCustomBaseName(), getClass());
             }
         }
 

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java Tue Sep 30 07:48:29 2008
@@ -32,6 +32,7 @@
         resolver.mapper.SimpleValidationStrategyToMsgResolverNameMapper;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
 import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -100,6 +101,9 @@
             if (messageResolver != null)
             {
                 addMapping(strategyName, resolverName);
+
+                LogUtils.trace(resolverName + " used for " + strategyName, getClass());
+
                 return messageResolver;
             }
         }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidationStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidationStrategy.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidationStrategy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidationStrategy.java Tue Sep 30 07:48:29 2008
@@ -24,6 +24,7 @@
 import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.application.FacesMessage;
 import javax.faces.context.FacesContext;
@@ -70,7 +71,8 @@
         }
         catch (MissingResourceException e)
         {
-            logger.warn("couldn't find key " + getValidationErrorMsgKey(annotation) + DETAIL_MESSAGE_KEY_POSTFIX, e);
+            LogUtils.warn("couldn't find key " + getValidationErrorMsgKey(annotation) + DETAIL_MESSAGE_KEY_POSTFIX, e,
+                getClass());
         }
         return null;
     }

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidatorAdapter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidatorAdapter.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidatorAdapter.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/AbstractValidatorAdapter.java Tue Sep 30 07:48:29 2008
@@ -18,11 +18,10 @@
  */
 package org.apache.myfaces.extensions.validator.core.validation.strategy;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.extensions.validator.core.annotation.AnnotationEntry;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -41,24 +40,38 @@
 @UsageInformation({UsageCategory.INTERNAL, UsageCategory.REUSE})
 public abstract class AbstractValidatorAdapter implements ValidationStrategy
 {
-    protected final Log logger = LogFactory.getLog(getClass());
-
     public void validate(FacesContext facesContext, UIComponent uiComponent,
                          AnnotationEntry annotationEntry, Object convertedObject)
     {
+        LogUtils.trace("start initValidation of " + getClass().getName(), getClass());
+
         initValidation(facesContext, uiComponent, annotationEntry, convertedObject);
 
+        LogUtils.trace("initValidation of " + getClass().getName() + " finished", getClass());
+
         try
         {
+            LogUtils.trace("start processValidation of " + getClass().getName(), getClass());
+
             processValidation(facesContext, uiComponent, annotationEntry, convertedObject);
+
+            LogUtils.trace("processValidation of " + getClass().getName() + " finished", getClass());
         }
         catch (ValidatorException e)
         {
+            LogUtils.trace("start processAfterValidatorException of " + getClass().getName(), getClass());
+
             if (processAfterValidatorException(facesContext, uiComponent,
                 annotationEntry, convertedObject, e))
             {
+                LogUtils.trace(getClass().getName() +
+                    ": throw original exception after processAfterValidatorException", getClass());
+
                 throw new ConverterException(e.getFacesMessage(), e);
             }
+
+            LogUtils.trace(getClass().getName() +
+                ": original exception after processAfterValidatorException not thrown", getClass());
         }
     }
 

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/LogUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/LogUtils.java?rev=700486&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/LogUtils.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/LogUtils.java Tue Sep 30 07:48:29 2008
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.util;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.logging.Level;
+import org.apache.myfaces.extensions.validator.core.logging.AbstractLoggerFactory;
+
+/**
+ * helper to get shorter logging statements
+ *
+ * @author Gerhard Petracek
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class LogUtils
+{
+    public static void trace(String message, Class targetClass)
+    {
+        trace(message, null, targetClass);
+    }
+
+    public static void trace(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.TRACE, message, throwable);
+    }
+
+    public static void debug(String message, Class targetClass)
+    {
+        debug(message, null, targetClass);
+    }
+
+    public static void debug(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.DEBUG, message, throwable);
+    }
+
+    public static void info(String message, Class targetClass)
+    {
+        info(message, null, targetClass);
+    }
+
+    public static void info(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.INFO, message, throwable);
+    }
+
+    public static void warn(String message, Class targetClass)
+    {
+        warn(message, null, targetClass);
+    }
+
+    public static void warn(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.WARN, message, throwable);
+    }
+
+    public static void error(String message, Class targetClass)
+    {
+        error(message, null, targetClass);
+    }
+
+    public static void error(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.ERROR, message, throwable);
+    }
+
+    public static void fatal(String message, Class targetClass)
+    {
+        fatal(message, null, targetClass);
+    }
+
+    public static void fatal(String message, Throwable throwable, Class targetClass)
+    {
+        ExtValContext.getContext().getFactoryFinder()
+            .getFactory(FactoryNames.LOGGER_FACTORY, AbstractLoggerFactory.class)
+            .create(targetClass).log(Level.FATAL, message, throwable);
+    }
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/JoinValidationStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/JoinValidationStrategy.java?rev=700486&r1=700485&r2=700486&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/JoinValidationStrategy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/JoinValidationStrategy.java Tue Sep 30 07:48:29 2008
@@ -27,6 +27,7 @@
 import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.util.LogUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -66,8 +67,8 @@
                 }
                 else
                 {
-                    logger.trace("no validation strategy found for "
-                            + entry.getAnnotation().annotationType().getName());
+                    LogUtils.trace("no validation strategy found for "
+                            + entry.getAnnotation().annotationType().getName(), getClass());
                 }
             }
         }