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/06/27 13:31:20 UTC

svn commit: r788960 - in /myfaces/extensions/validator/branches/branch_for_jsf_1_1: component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ component-support/trinidad-support/src/main/jav...

Author: gpetracek
Date: Sat Jun 27 11:31:19 2009
New Revision: 788960

URL: http://svn.apache.org/viewvc?rev=788960&view=rev
Log:
EXTVAL-48 initial changes

Modified:
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/CommonMetaDataKeys.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/DoubleRange.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/LongRange.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/DoubleRangeMetaDataTransformer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LengthMetaDataTransformer.java
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LongRangeMetaDataTransformer.java

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java Sat Jun 27 11:31:19 2009
@@ -48,28 +48,38 @@
         DoubleRangeValidator doubleRangeValidator = (DoubleRangeValidator)facesContext.getApplication()
                                             .createValidator("org.apache.myfaces.trinidad.DoubleRange");
 
+        Object min = null;
         if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN))
         {
-            Object min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+            min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN_DEFAULT))
+        {
+            min = metaData.get(CommonMetaDataKeys.RANGE_MIN_DEFAULT);
+        }
 
-            if(min instanceof Double)
-            {
-                doubleRangeValidator.setMinimum((Double)min);
-                informationAdded = true;
-            }
+        if(min instanceof Double)
+        {
+            doubleRangeValidator.setMinimum((Double)min);
+            informationAdded = true;
         }
 
+        Object max = null;
         if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX))
         {
-            Object maxLength = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+            max = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX_DEFAULT))
+        {
+            max = metaData.get(CommonMetaDataKeys.RANGE_MAX_DEFAULT);
+        }
 
-            if(maxLength instanceof Double)
-            {
-                doubleRangeValidator.setMaximum((Double)maxLength);
-                informationAdded = true;
-            }
+        if(max instanceof Double)
+        {
+            doubleRangeValidator.setMaximum((Double)max);
+            informationAdded = true;
         }
-        
+
         if(informationAdded &&
                 doubleRangeValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
         {

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java Sat Jun 27 11:31:19 2009
@@ -51,36 +51,47 @@
         LengthValidator lengthValidator = (LengthValidator)facesContext.getApplication()
                                             .createValidator("org.apache.myfaces.trinidad.Length");
 
+        Object minLength = null;
         if(metaData.containsKey(CommonMetaDataKeys.MIN_LENGTH))
         {
-            Object min = metaData.get(CommonMetaDataKeys.MIN_LENGTH);
+            minLength = metaData.get(CommonMetaDataKeys.MIN_LENGTH);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.MIN_LENGTH_DEFAULT))
+        {
+            minLength = metaData.get(CommonMetaDataKeys.MIN_LENGTH_DEFAULT);
+        }
 
-            if(min instanceof Integer)
-            {
-                lengthValidator.setMinimum((Integer)min);
-                informationAdded = true;
-            }
+        if(minLength instanceof Integer)
+        {
+            lengthValidator.setMinimum((Integer)minLength);
+            informationAdded = true;
         }
 
+        Object maxLength = null;
         if(metaData.containsKey(CommonMetaDataKeys.MAX_LENGTH))
         {
-            Object maxLength = metaData.get(CommonMetaDataKeys.MAX_LENGTH);
+            maxLength = metaData.get(CommonMetaDataKeys.MAX_LENGTH);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.MAX_LENGTH_DEFAULT))
+        {
+            maxLength = metaData.get(CommonMetaDataKeys.MAX_LENGTH_DEFAULT);
+        }
 
-            if(maxLength instanceof Integer)
+        if(maxLength instanceof Integer)
+        {
+            if(processComponent(uiComponent))
             {
-                if(processComponent(uiComponent))
-                {
-                    ReflectionUtils.tryToInvokeMethod(
-                            uiComponent,
-                            ReflectionUtils.tryToGetMethod(
-                                    uiComponent.getClass(),
-                                    "setMaximumLength",
-                                    int.class),
-                            maxLength);
-                }
-                lengthValidator.setMaximum((Integer)maxLength);
-                informationAdded = true;
+                ReflectionUtils.tryToInvokeMethod(
+                        uiComponent,
+                        ReflectionUtils.tryToGetMethod(
+                                uiComponent.getClass(),
+                                "setMaximumLength",
+                                int.class),
+                        maxLength);
             }
+            
+            lengthValidator.setMaximum((Integer)maxLength);
+            informationAdded = true;
         }
 
         //reInitValidators((EditableValueHolder)uiComponent, metaData); //search wrappers and call .deactivate

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java Sat Jun 27 11:31:19 2009
@@ -48,26 +48,36 @@
         LongRangeValidator longRangeValidator = (LongRangeValidator)facesContext.getApplication()
                                             .createValidator("org.apache.myfaces.trinidad.LongRange");
 
+        Object min = null;
         if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN))
         {
-            Object min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+            min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN_DEFAULT))
+        {
+            min = metaData.get(CommonMetaDataKeys.RANGE_MIN_DEFAULT);
+        }
 
-            if(min instanceof Long)
-            {
-                longRangeValidator.setMinimum((Long)min);
-                informationAdded = true;
-            }
+        if(min instanceof Long)
+        {
+            longRangeValidator.setMinimum((Long)min);
+            informationAdded = true;
         }
 
+        Object max = null;
         if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX))
         {
-            Object maxLength = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+            max = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+        }
+        else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX_DEFAULT))
+        {
+            max = metaData.get(CommonMetaDataKeys.RANGE_MAX_DEFAULT);
+        }
 
-            if(maxLength instanceof Long)
-            {
-                longRangeValidator.setMaximum((Long)maxLength);
-                informationAdded = true;
-            }
+        if(max instanceof Long)
+        {
+            longRangeValidator.setMaximum((Long)max);
+            informationAdded = true;
         }
 
         if(informationAdded &&

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java Sat Jun 27 11:31:19 2009
@@ -27,6 +27,7 @@
 import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DisableClientValidation;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
 import org.apache.myfaces.extensions.validator.trinidad.util.TrinidadUtils;
@@ -38,6 +39,7 @@
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import java.lang.annotation.Annotation;
 
 /**
  * @author Gerhard Petracek
@@ -74,11 +76,12 @@
             return;
         }
 
-        Boolean skipInitialization = false;
-
         Map<String, Object> metaData;
+        Map<String, Object> metaDataResult = new HashMap<String, Object>();
+
         for (MetaDataEntry entry : annotationExtractor.extract(facesContext, targetComponent).getMetaDataEntries())
         {
+            metaData = new HashMap<String, Object>();
             validationStrategy = ExtValUtils.getValidationStrategyForMetaData(entry.getKey());
 
             if (validationStrategy != null)
@@ -87,7 +90,13 @@
 
                 if(metaDataTransformer != null)
                 {
-                    metaData = metaDataTransformer.convertMetaData(entry);
+                    if(!(entry.getValue() instanceof Annotation &&
+                            ExtValUtils.getValidationParameterExtractor()
+                                    .extract(entry.getValue(Annotation.class), DisableClientValidation.class)
+                                    .iterator().hasNext()))
+                    {
+                        metaData = metaDataTransformer.convertMetaData(entry);
+                    }
                 }
                 else
                 {
@@ -102,22 +111,25 @@
                 {
                     //execute skip validation strategy -> skip validation y/n in entry
                     validationStrategy.validate(facesContext, targetComponent, entry, null);
-                    skipInitialization = entry.getProperty(CommonMetaDataKeys.SKIP_VALIDATION, Boolean.class);
-                    continue;
-                }
-
-                if(Boolean.TRUE.equals(skipInitialization) && !metaData.isEmpty() &&
-                        ExtValUtils.isSkipableValidationStrategy(validationStrategy.getClass()))
-                {
-                    metaData.put(CommonMetaDataKeys.SKIP_VALIDATION, true);
+                    if(Boolean.TRUE.equals(entry.getProperty(CommonMetaDataKeys.SKIP_VALIDATION, Boolean.class)))
+                    {
+                        break;
+                    }
+                    else
+                    {
+                        //reset it - because the transformer set it in every case and the validator the final value
+                        metaData.remove(CommonMetaDataKeys.SKIP_VALIDATION);
+                    }
                 }
 
-                if(!metaData.isEmpty())
-                {
-                    ExtValUtils.configureComponentWithMetaData(facesContext, coreOutputLabel, metaData);
-                }
+                metaDataResult.putAll(metaData);
             }
         }
+
+        if(!metaDataResult.isEmpty())
+        {
+            ExtValUtils.configureComponentWithMetaData(facesContext, coreOutputLabel, metaDataResult);
+        }
     }
 
     private boolean isComponentEditable(UIComponent uiComponent)

Modified: myfaces/extensions/validator/branches/branch_for_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/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java Sat Jun 27 11:31:19 2009
@@ -21,10 +21,10 @@
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DisableClientValidation;
 import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
 import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
-import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
 import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
 import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
@@ -75,9 +75,12 @@
 
         MetaDataExtractor metaDataExtractor = ExtValUtils.getComponentMetaDataExtractor();
 
-        Map<String, Object> metaData = new HashMap<String, Object>();
+        Map<String, Object> metaData;
+        Map<String, Object> metaDataResult = new HashMap<String, Object>();
+
         for (MetaDataEntry entry : metaDataExtractor.extract(facesContext, uiComponent).getMetaDataEntries())
         {
+            metaData = new HashMap<String, Object>();
             validationStrategy = ExtValUtils.getValidationStrategyForMetaData(entry.getKey());
 
             if (validationStrategy != null)
@@ -92,8 +95,14 @@
                         {
                             this.logger.debug(metaDataTransformer.getClass().getName() + " instantiated");
                         }
-                        
-                        metaData = metaDataTransformer.convertMetaData(entry);
+
+                        if(!(entry.getValue() instanceof Annotation &&
+                                ExtValUtils.getValidationParameterExtractor()
+                                        .extract(entry.getValue(Annotation.class), DisableClientValidation.class)
+                                        .iterator().hasNext()))
+                        {
+                            metaData = metaDataTransformer.convertMetaData(entry);
+                        }
                     }
                     else
                     {
@@ -109,18 +118,20 @@
                 if(!metaData.isEmpty() &&
                         Boolean.TRUE.equals(entry.getProperty(PropertyInformationKeys.SKIP_VALIDATION, Boolean.class)))
                 {
-                    metaData.put(CommonMetaDataKeys.SKIP_VALIDATION, true);
+                    break;
                 }
 
-                //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())
-                {
-                    ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaData);
-                }
+                metaDataResult.putAll(metaData);
            }
         }
 
+        //get component initializer for the current component and configure it
+        //also in case of skipped validation to reset e.g. the required attribute
+        if(!metaDataResult.isEmpty())
+        {
+            ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaDataResult);
+        }
+
         if(logger.isTraceEnabled())
         {
             logger.trace("init component of " + uiComponent.getClass().getName() + " finished");

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/CommonMetaDataKeys.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/CommonMetaDataKeys.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/CommonMetaDataKeys.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/CommonMetaDataKeys.java Sat Jun 27 11:31:19 2009
@@ -1,51 +1,57 @@
-/*
- * 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.metadata;
-
-import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.internal.UsageCategory;
-
-/**
- * helper for frequent meta-data keys
- *
- * @author Gerhard Petracek
- * @since 1.x.1
- */
-/*
- * placed in core to avoid duplicated information in multiple modules (validation module and component-support module)
- */
-@UsageInformation(UsageCategory.INTERNAL)
-public interface CommonMetaDataKeys
-{
-    static final String REQUIRED = "required";
-    static final String WEAK_REQUIRED = "weak_required";
-
-    static final String MIN_LENGTH = "min_length";
-    static final String MAX_LENGTH = "max_length";
-
-    static final String RANGE_MIN = "range_min";
-    static final String RANGE_MAX = "range_max";
-
-    static final String PATTERN = "pattern";
-    static final String PATTERN_VALIDATION_ERROR_MESSAGE = "pattern_validation_error_message";
-    static final String EMAIL = "email";
-
-    static final String CUSTOM = "custom";
-    static final String SKIP_VALIDATION = "skip_validation";
-}
+/*
+ * 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.metadata;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * helper for frequent meta-data keys
+ *
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+/*
+ * placed in core to avoid duplicated information in multiple modules (validation module and component-support module)
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public interface CommonMetaDataKeys
+{
+    static final String REQUIRED = "required";
+    static final String WEAK_REQUIRED = "weak_required";
+
+    static final String MIN_LENGTH = "min_length";
+    static final String MIN_LENGTH_DEFAULT = "min_length_default";
+
+    static final String MAX_LENGTH = "max_length";
+    static final String MAX_LENGTH_DEFAULT = "max_length_default";
+
+    static final String RANGE_MIN = "range_min";
+    static final String RANGE_MIN_DEFAULT = "range_min_default";
+
+    static final String RANGE_MAX = "range_max";
+    static final String RANGE_MAX_DEFAULT = "range_max_default";
+
+    static final String PATTERN = "pattern";
+    static final String PATTERN_VALIDATION_ERROR_MESSAGE = "pattern_validation_error_message";
+    static final String EMAIL = "email";
+
+    static final String CUSTOM = "custom";
+    static final String SKIP_VALIDATION = "skip_validation";
+}

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/DoubleRange.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/DoubleRange.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/DoubleRange.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/DoubleRange.java Sat Jun 27 11:31:19 2009
@@ -38,7 +38,7 @@
 @UsageInformation(UsageCategory.API)
 public @interface DoubleRange
 {
-    double minimum() default 0;
+    double minimum() default Double.MIN_VALUE;
 
     double maximum() default Double.MAX_VALUE;
 

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/LongRange.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/LongRange.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/LongRange.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/annotation/LongRange.java Sat Jun 27 11:31:19 2009
@@ -38,7 +38,7 @@
 @UsageInformation(UsageCategory.API)
 public @interface LongRange
 {
-    long minimum() default 0;
+    long minimum() default Long.MIN_VALUE;
 
     long maximum() default Long.MAX_VALUE;
 

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/DoubleRangeMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/DoubleRangeMetaDataTransformer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/DoubleRangeMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/DoubleRangeMetaDataTransformer.java Sat Jun 27 11:31:19 2009
@@ -42,12 +42,24 @@
 
         double minimum = annotation.minimum();
 
-        results.put(CommonMetaDataKeys.RANGE_MIN, minimum);
-        results.put(CommonMetaDataKeys.RANGE_MAX, annotation.maximum());
+        if(minimum != Double.MIN_VALUE)
+        {
+            results.put(CommonMetaDataKeys.RANGE_MIN, minimum);
+        }
+        else
+        {
+            results.put(CommonMetaDataKeys.RANGE_MIN_DEFAULT, minimum);
+        }
 
-        if(minimum > 0)
+        double maximum = annotation.maximum();
+
+        if(maximum != Double.MAX_VALUE)
+        {
+            results.put(CommonMetaDataKeys.RANGE_MAX, maximum);
+        }
+        else
         {
-            results.put(CommonMetaDataKeys.WEAK_REQUIRED, true);
+            results.put(CommonMetaDataKeys.RANGE_MAX_DEFAULT, maximum);
         }
 
         return results;

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java Sat Jun 27 11:31:19 2009
@@ -24,6 +24,7 @@
 import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;
 import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DisableClientValidation;
 import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 import org.apache.myfaces.extensions.validator.util.PropertyValidationUtils;
@@ -33,6 +34,7 @@
 import javax.faces.context.FacesContext;
 import java.util.HashMap;
 import java.util.Map;
+import java.lang.annotation.Annotation;
 
 /**
  * @author Gerhard Petracek
@@ -74,7 +76,13 @@
 
                 if (metaDataTransformer != null)
                 {
-                    results.putAll(metaDataTransformer.convertMetaData(entry));
+                    if(!(entry.getValue() instanceof Annotation &&
+                            ExtValUtils.getValidationParameterExtractor()
+                                    .extract(entry.getValue(Annotation.class), DisableClientValidation.class)
+                                    .iterator().hasNext()))
+                    {
+                        results.putAll(metaDataTransformer.convertMetaData(entry));
+                    }
                 }
             }
         }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LengthMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LengthMetaDataTransformer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LengthMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LengthMetaDataTransformer.java Sat Jun 27 11:31:19 2009
@@ -42,16 +42,24 @@
 
         int minimum = annotation.minimum();
 
-        results.put(CommonMetaDataKeys.MIN_LENGTH, minimum);
-
-        if(annotation.maximum() != Integer.MAX_VALUE)
+        if(minimum != 0)
+        {
+            results.put(CommonMetaDataKeys.MIN_LENGTH, minimum);
+            results.put(CommonMetaDataKeys.WEAK_REQUIRED, true);
+        }
+        else
         {
-            results.put(CommonMetaDataKeys.MAX_LENGTH, annotation.maximum());
+            results.put(CommonMetaDataKeys.MIN_LENGTH_DEFAULT, minimum);
         }
 
-        if(minimum > 0)
+        int maximum = annotation.maximum();
+        if(maximum != Integer.MAX_VALUE)
         {
-            results.put(CommonMetaDataKeys.WEAK_REQUIRED, true);
+            results.put(CommonMetaDataKeys.MAX_LENGTH, maximum);
+        }
+        else
+        {
+            results.put(CommonMetaDataKeys.MAX_LENGTH_DEFAULT, maximum);
         }
 
         return results;

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LongRangeMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LongRangeMetaDataTransformer.java?rev=788960&r1=788959&r2=788960&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LongRangeMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/LongRangeMetaDataTransformer.java Sat Jun 27 11:31:19 2009
@@ -42,12 +42,24 @@
 
         long minimum = annotation.minimum();
 
-        results.put(CommonMetaDataKeys.RANGE_MIN, minimum);
-        results.put(CommonMetaDataKeys.RANGE_MAX, annotation.maximum());
+        if(minimum != Long.MIN_VALUE)
+        {
+            results.put(CommonMetaDataKeys.RANGE_MIN, minimum);
+        }
+        else
+        {
+            results.put(CommonMetaDataKeys.RANGE_MIN_DEFAULT, minimum);
+        }
 
-        if(minimum > 0)
+        long maximum = annotation.maximum();
+
+        if(maximum != Long.MAX_VALUE)
+        {
+            results.put(CommonMetaDataKeys.RANGE_MAX, maximum);
+        }
+        else
         {
-            results.put(CommonMetaDataKeys.WEAK_REQUIRED, true);
+            results.put(CommonMetaDataKeys.RANGE_MAX_DEFAULT, maximum);
         }
 
         return results;