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 2009/10/09 19:51:32 UTC

svn commit: r823639 - in /myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval: ./ interceptor/ metadata/transformer/ metadata/transformer/mapper/ star...

Author: gpetracek
Date: Fri Oct  9 17:51:31 2009
New Revision: 823639

URL: http://svn.apache.org/viewvc?rev=823639&view=rev
Log:
cleanup

Modified:
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java Fri Oct  9 17:51:31 2009
@@ -21,7 +21,6 @@
 import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipBeforeInterceptorsException;
 import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipRendererDelegationException;
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
 import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
 import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
 import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
@@ -30,22 +29,20 @@
 import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
 import org.apache.myfaces.extensions.validator.core.interceptor.AbstractValidationInterceptor;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
-import org.apache.myfaces.extensions.validator.beanval.validation.strategy.BeanValidationStrategyAdapter;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.beanval.validation.strategy.BeanValidationStrategyAdapter;
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
 import javax.faces.render.Renderer;
 import javax.faces.validator.ValidatorException;
 import javax.faces.application.FacesMessage;
-import javax.validation.Validation;
 import javax.validation.metadata.BeanDescriptor;
 import javax.validation.metadata.ElementDescriptor;
 import javax.validation.metadata.ConstraintDescriptor;
-import javax.validation.ValidatorFactory;
 import javax.validation.ConstraintViolation;
 import java.util.Set;
 import java.util.Map;
@@ -61,8 +58,6 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public class BeanValidationInterceptor extends AbstractValidationInterceptor
 {
-    private ValidatorFactory validationFactory = Validation.buildDefaultValidatorFactory();
-
     @Override
     public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
             throws IOException, SkipBeforeInterceptorsException, SkipRendererDelegationException
@@ -81,98 +76,112 @@
             logger.trace("start to init component " + uiComponent.getClass().getName());
         }
 
-        MetaDataExtractor metaDataExtractor = ExtValUtils.getComponentMetaDataExtractor();
+        PropertyDetails propertyDetails = extractPropertyDetails(facesContext, uiComponent);
 
-        PropertyDetails propertyDetails = metaDataExtractor.extract(facesContext, uiComponent)
+        if(propertyDetails != null)
+        {
+            initComponentWithPropertyDetails(facesContext, uiComponent, propertyDetails);
+        }
+
+        if (logger.isTraceEnabled())
+        {
+            logger.trace("init component of " + uiComponent.getClass().getName() + " finished");
+        }
+    }
+
+    private PropertyDetails extractPropertyDetails(FacesContext facesContext, UIComponent uiComponent)
+    {
+        PropertyDetails result = ExtValUtils.getComponentMetaDataExtractor().extract(facesContext, uiComponent)
                 .getInformation(PropertyInformationKeys.PROPERTY_DETAILS, PropertyDetails.class);
 
-        if(propertyDetails.getBaseObject() == null)
+        if(result.getBaseObject() == null && this.logger.isWarnEnabled())
         {
-            if(this.logger.isWarnEnabled())
-            {
-                this.logger.warn("no base object at " + propertyDetails.getKey() +
-                        " component-id: " + uiComponent.getClientId(facesContext));
-            }
-            return;
+            this.logger.warn("no base object at " + result.getKey() +
+                    " component-id: " + uiComponent.getClientId(facesContext));
         }
 
-        //TODO extract groups - see PropertyValidationGroupProvider
-        Class[] foundGroups = ExtValBeanValidationContext.getCurrentInstance().getGroups(
-                facesContext.getViewRoot().getViewId(),
-                uiComponent.getClientId(facesContext));
+        return result.getBaseObject() != null ? result : null;
+    }
 
-        /*TODO
-            foundGroups = mergeFoundGroupsWithValidatorGroups(
-                foundGroups, ((EditableValueHolder)uiComponent).getValidators());
-        */
-        BeanDescriptor beanDescriptor = this.validationFactory.getValidator().getConstraintsForClass(
-                propertyDetails.getBaseObject().getClass());
+    private void initComponentWithPropertyDetails(
+            FacesContext facesContext, UIComponent uiComponent, PropertyDetails propertyDetails)
+    {
+        Class[] foundGroups = resolveGroups(facesContext, uiComponent);
 
-        ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty(propertyDetails.getProperty());
+        if(foundGroups == null)
+        {
+            return;
+        }
+        
+        ElementDescriptor elementDescriptor = getDescriptorFor(
+                propertyDetails.getBaseObject().getClass(), propertyDetails.getProperty());
 
         if(elementDescriptor == null)
         {
             return;
         }
-        
-        ValidationStrategy validationStrategy;
-        MetaDataTransformer metaDataTransformer;
-        MetaDataEntry entry;
+
         Map<String, Object> metaData;
 
         for (ConstraintDescriptor<?> constraintDescriptor :
                 elementDescriptor.findConstraints().unorderedAndMatchingGroups(foundGroups).getConstraintDescriptors())
         {
-            //TODO check groups
-            
-            validationStrategy = new BeanValidationStrategyAdapter(constraintDescriptor);
-
-            /*
-             * per default
-             * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.BeanValidationMetaDataTransformer
-             * is bound to BeanValidationStrategyAdapter
-             * don't use it directly - it's possible to deactivate
-             * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.mapper
-             *    .DefaultBeanValidationStrategyToMetaDataTransformerNameMapper
-             */
-            metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(validationStrategy);
+            metaData = transformConstraintDescriptorToMetaData(constraintDescriptor);
 
-            if (metaDataTransformer != null)
+            if (metaData != null && !metaData.isEmpty())
             {
-                if (this.logger.isDebugEnabled())
-                {
-                    this.logger.debug(metaDataTransformer.getClass().getName() + " instantiated");
-                }
+                ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaData);
+            }
+        }
+    }
 
-                entry = new MetaDataEntry();
-                entry.setKey(constraintDescriptor.getAnnotation().annotationType().getName());
-                entry.setValue(constraintDescriptor);
-                //TODO (?) add type of property for meta-data transformation (e.g. size: string vs. number)
+    private Class[] resolveGroups(FacesContext facesContext, UIComponent uiComponent)
+    {
+        return ExtValBeanValidationContext.getCurrentInstance().getGroups(
+                facesContext.getViewRoot().getViewId(),
+                uiComponent.getClientId(facesContext));
+    }
 
-                metaData = metaDataTransformer.convertMetaData(entry);
-            }
-            else
-            {
-                metaData = null;
-            }
+    private ElementDescriptor getDescriptorFor(Class targetClass, String property)
+    {
+        BeanDescriptor beanDescriptor = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+                .getValidator().getConstraintsForClass(targetClass);
 
-            if (metaData == null)
-            {
-                continue;
-            }
+        return beanDescriptor.getConstraintsForProperty(property);
+    }
+
+    @ToDo(Priority.HIGH)
+    private Map<String, Object> transformConstraintDescriptorToMetaData(ConstraintDescriptor<?> constraintDescriptor)
+    {
+        Map<String, Object> result = null;
+        MetaDataTransformer metaDataTransformer;
+        MetaDataEntry entry;
+        /*
+         * per default
+         * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.BeanValidationMetaDataTransformer
+         * is bound to BeanValidationStrategyAdapter
+         * don't use it directly - it's possible to deactivate
+         * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.mapper
+         *    .DefaultBeanValidationStrategyToMetaDataTransformerNameMapper
+         */
+        metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(
+                new BeanValidationStrategyAdapter(constraintDescriptor));
 
-            //get component initializer for the current component and configure it
-            //also in case of skipped validation to reset e.g. the required attribute
-            if (!metaData.isEmpty())
+        if (metaDataTransformer != null)
+        {
+            if (this.logger.isDebugEnabled())
             {
-                ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaData);
+                this.logger.debug(metaDataTransformer.getClass().getName() + " instantiated");
             }
-        }
 
-        if (logger.isTraceEnabled())
-        {
-            logger.trace("init component of " + uiComponent.getClass().getName() + " finished");
+            entry = new MetaDataEntry();
+            entry.setKey(constraintDescriptor.getAnnotation().annotationType().getName());
+            entry.setValue(constraintDescriptor);
+            //TODO (?) add type of property for meta-data transformation (e.g. size: string vs. number)
+
+            result = metaDataTransformer.convertMetaData(entry);
         }
+        return result;
     }
 
     @Override
@@ -228,8 +237,8 @@
         PropertyDetails propertyDetails = (propertyInformation.getInformation(
                 PropertyInformationKeys.PROPERTY_DETAILS, PropertyDetails.class));
 
-        BeanDescriptor beanDescriptor = this.validationFactory.getValidator().getConstraintsForClass(
-                propertyDetails.getBaseObject().getClass());
+        BeanDescriptor beanDescriptor = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+                .getValidator().getConstraintsForClass(propertyDetails.getBaseObject().getClass());
 
         ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty(propertyDetails.getProperty());
 
@@ -257,7 +266,8 @@
             return;
         }
 
-        Set<ConstraintViolation> violations = this.validationFactory.usingContext()
+        Set<ConstraintViolation> violations = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+                .usingContext()
                 .messageInterpolator(ExtValBeanValidationContext.getCurrentInstance().getMessageInterpolator())
                 .getValidator()
                 .validateValue(baseBeanClass, propertyName, convertedObject, groups);

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java Fri Oct  9 17:51:31 2009
@@ -28,9 +28,8 @@
 import org.apache.myfaces.extensions.validator.core.validation.message.resolver.MessageResolver;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
 import org.apache.myfaces.extensions.validator.core.storage.GroupStorage;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -38,6 +37,7 @@
 import javax.faces.component.UIComponent;
 import javax.validation.MessageInterpolator;
 import javax.validation.Validation;
+import javax.validation.ValidatorFactory;
 import java.util.Map;
 import java.util.List;
 
@@ -69,7 +69,6 @@
     }
 
     @SuppressWarnings({"unchecked"})
-    @ToDo(value = Priority.HIGH, description = "create extval-bv-context factory")
     public static ExtValBeanValidationContext getCurrentInstance()
     {
         FacesContext facesContext = FacesContext.getCurrentInstance();
@@ -87,6 +86,22 @@
         return currentContext;
     }
 
+    public ValidatorFactory getValidatorFactory()
+    {
+        Object validatorFactory = ExtValContext.getContext().getGlobalProperty(ValidatorFactory.class.getName());
+
+        if(validatorFactory instanceof ValidatorFactory)
+        {
+            return (ValidatorFactory)validatorFactory;
+        }
+
+        if(this.logger.isWarnEnabled())
+        {
+            this.logger.warn("fallback to the default bv validator factory");
+        }
+        return Validation.buildDefaultValidatorFactory();
+    }
+
     public MessageInterpolator getMessageInterpolator()
     {
         if(this.messageResolver != null)
@@ -134,7 +149,6 @@
                 getStorage(ModelValidationStorage.class, ModelValidation.class.getName());
     }
 
-    @ToDo(value = Priority.HIGH, description = "create message interpolator factory")
     private void initMessageInterpolator()
     {
         Object foundBean = ExtValUtils.getELHelper().getBean(MessageInterpolator.class.getName().replace(".", "_"));

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java Fri Oct  9 17:51:31 2009
@@ -20,8 +20,6 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.util.WebXmlUtils;
 
 /**
@@ -31,14 +29,6 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public interface WebXmlParameter
 {
-    @ToDo(Priority.HIGH)
-    @Deprecated
-    static final String DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION = WebXmlUtils
-        .getInitParameter("DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION");
-
-    static final String DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION = WebXmlUtils
-        .getInitParameter("DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION");
-
     static final String DEACTIVATE_ADDITIONAL_GROUP_VALIDATION_ANNOTATIONS = WebXmlUtils
         .getInitParameter("DEACTIVATE_ADDITIONAL_GROUP_VALIDATION_ANNOTATIONS");
 }
\ No newline at end of file

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java Fri Oct  9 17:51:31 2009
@@ -41,7 +41,6 @@
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
-import javax.validation.groups.Default;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -242,12 +241,6 @@
          */
         for(ModelValidationEntry modelValidationEntry : modelValidationEntryList)
         {
-            if(!"true".equalsIgnoreCase(org.apache.myfaces.extensions.validator.beanval.WebXmlParameter
-                    .DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION))
-            {
-                modelValidationEntry.addGroup(Default.class);
-            }
-
             for(Class restrictedGroup : restrictedGroupsForModelValidation)
             {
                 modelValidationEntry.removeGroup(restrictedGroup);

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java Fri Oct  9 17:51:31 2009
@@ -24,6 +24,9 @@
 import org.apache.myfaces.extensions.validator.internal.Priority;
 
 import javax.validation.metadata.ConstraintDescriptor;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 import java.util.Map;
 
 /**
@@ -37,6 +40,7 @@
     {
         if(isSupportedConstraint(metaData.getValue(ConstraintDescriptor.class)))
         {
+            
             //TODO
         }
 
@@ -51,9 +55,11 @@
             return false;
         }
 
-        String simpleName = constraintDescriptor.getAnnotation().annotationType().getSimpleName();
+        String name = constraintDescriptor.getAnnotation().annotationType().getName();
 
-        return simpleName.equals("Size") || simpleName.equals("Pattern") || simpleName.equals("NotNull");
+        return NotNull.class.getName().equals(name) ||
+                Size.class.getName().equals(name) ||
+                Pattern.class.getName().equals(name);
     }
 
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java Fri Oct  9 17:51:31 2009
@@ -36,11 +36,10 @@
 {
     public String createName(ValidationStrategy validationStrategy)
     {
-        if(!(validationStrategy instanceof BeanValidationStrategyAdapter))
+        if(validationStrategy instanceof BeanValidationStrategyAdapter)
         {
-            return null;
+            return BeanValidationMetaDataTransformer.class.getName();
         }
-
-        return BeanValidationMetaDataTransformer.class.getName();
+        return null;
     }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java Fri Oct  9 17:51:31 2009
@@ -34,19 +34,18 @@
 import org.apache.myfaces.extensions.validator.core.storage.GroupStorage;
 import org.apache.myfaces.extensions.validator.core.storage.StorageManager;
 import org.apache.myfaces.extensions.validator.core.storage.StorageManagerHolder;
-import org.apache.myfaces.extensions.validator.internal.Priority;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 import org.apache.myfaces.extensions.validator.util.JsfUtils;
 
+import javax.validation.ValidatorFactory;
+import javax.validation.Validation;
+
 /**
  * @author Gerhard Petracek
  * @since x.x.3
  */
-@ToDo(value = Priority.HIGH, description = "add optional web.xml param to deactivate" +
-        "DefaultBeanValidationStrategyToMetaDataTransformerNameMapper")
 @UsageInformation(UsageCategory.INTERNAL)
 public class BeanValidationStartupListener extends AbstractStartupListener
 {
@@ -54,36 +53,39 @@
 
     protected void init()
     {
-        if(!"true".equalsIgnoreCase(org.apache.myfaces.extensions.validator.beanval.WebXmlParameter
-                .DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION))
-        {
-            registerBeanValidationInterceptor();
-            registerValidationGroupProvider();
-            registerMetaDataTransformerNameMapper();
-            registerGroupStorageNameMapper();
-            registerModelValidationStorageNameMapper();
-            registerModelValidationPhaseListener();
-        }
+        registerValidatorFactory();
+        registerBeanValidationInterceptor();
+        registerValidationGroupProvider();
+        registerMetaDataTransformerNameMapper();
+        registerGroupStorageNameMapper();
+        registerModelValidationStorageNameMapper();
+        registerModelValidationPhaseListener();
     }
 
-    private void registerBeanValidationInterceptor()
+    protected void registerValidatorFactory()
+    {
+        ExtValContext.getContext().addGlobalProperty(
+                ValidatorFactory.class.getName(), Validation.buildDefaultValidatorFactory(), false);
+    }
+
+    protected void registerBeanValidationInterceptor()
     {
         ExtValContext.getContext().registerRendererInterceptor(new BeanValidationInterceptor());
     }
 
-    private void registerValidationGroupProvider()
+    protected void registerValidationGroupProvider()
     {
         ExtValContext.getContext().addPropertyValidationInterceptor(new PropertyValidationGroupProvider());
     }
 
-    private void registerMetaDataTransformerNameMapper()
+    protected void registerMetaDataTransformerNameMapper()
     {
         ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
                 new DefaultBeanValidationStrategyToMetaDataTransformerNameMapper());
     }
 
     @SuppressWarnings({"unchecked"})
-    private void registerGroupStorageNameMapper()
+    protected void registerGroupStorageNameMapper()
     {
         StorageManager storageManager = getStorageManagerHolder().getStorageManager(GroupStorage.class);
 
@@ -103,22 +105,22 @@
         }
     }
 
-    private void registerModelValidationStorageNameMapper()
+    protected void registerModelValidationStorageNameMapper()
     {
         DefaultModelValidationStorageManager modelValidationStorageManager = new DefaultModelValidationStorageManager();
         modelValidationStorageManager.register(new ModelValidationStorageNameMapper());
         getStorageManagerHolder().setStorageManager(ModelValidationStorage.class, modelValidationStorageManager, false);
     }
 
+    protected void registerModelValidationPhaseListener()
+    {
+        JsfUtils.registerPhaseListener(new ModelValidationPhaseListener());
+    }
+
     private StorageManagerHolder getStorageManagerHolder()
     {
         return (ExtValContext.getContext()
                 .getFactoryFinder()
                 .getFactory(FactoryNames.STORAGE_MANAGER_FACTORY, StorageManagerHolder.class));
     }
-
-    private void registerModelValidationPhaseListener()
-    {
-        JsfUtils.registerPhaseListener(new ModelValidationPhaseListener());
-    }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java Fri Oct  9 17:51:31 2009
@@ -19,12 +19,9 @@
 package org.apache.myfaces.extensions.validator.beanval.storage;
 
 import org.apache.myfaces.extensions.validator.core.storage.DefaultGroupStorage;
-import org.apache.myfaces.extensions.validator.beanval.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
 
-import javax.validation.groups.Default;
-
 /**
  * default storage implementation for bean-validation groups
  *
@@ -41,10 +38,8 @@
 
         if(result == null)
         {
-            if(!"true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION))
-            {
-                return new Class[] {Default.class};
-            }
+            //the default group will be validated automatically
+            return new Class[] {};
         }
 
         return result;

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java Fri Oct  9 17:51:31 2009
@@ -36,8 +36,6 @@
 import javax.faces.validator.ValidatorException;
 import javax.validation.ConstraintViolation;
 import javax.validation.MessageInterpolator;
-import javax.validation.Validation;
-import javax.validation.ValidatorFactory;
 import javax.validation.metadata.ConstraintDescriptor;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -53,7 +51,6 @@
     private static final long serialVersionUID = -3482233893186708878L;
 
     protected final Log logger = LogFactory.getLog(getClass());
-    private ValidatorFactory validationFactory = Validation.buildDefaultValidatorFactory();
 
     public void afterPhase(PhaseEvent phaseEvent)
     {
@@ -65,7 +62,7 @@
         List<ModelValidationEntry> modelValidationEntries = ExtValBeanValidationContext.getCurrentInstance()
                 .getModelValidationEntriesToValidate();
 
-        List processedValidationTargets = new ArrayList();
+        List<Object> processedValidationTargets = new ArrayList<Object>();
 
         for (ModelValidationEntry modelValidationEntry : modelValidationEntries)
         {
@@ -78,7 +75,8 @@
         }
     }
 
-    private void processModelValidation(ModelValidationEntry modelValidationEntry, List processedValidationTargets)
+    private void processModelValidation(
+            ModelValidationEntry modelValidationEntry, List<Object> processedValidationTargets)
     {
         for (Object validationTarget : modelValidationEntry.getValidationTargets())
         {
@@ -93,7 +91,8 @@
                 processedValidationTargets.add(validationTarget);
             }
 
-            Set<ConstraintViolation<Object>> violations = this.validationFactory.usingContext()
+            Set<ConstraintViolation<Object>> violations = ExtValBeanValidationContext.getCurrentInstance()
+                    .getValidatorFactory().usingContext()
                     .messageInterpolator(ExtValBeanValidationContext.getCurrentInstance().getMessageInterpolator())
                     .getValidator()
                     .validate(validationTarget, modelValidationEntry.getGroups());