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/11/27 20:06:56 UTC

svn commit: r884958 - in /myfaces/extensions/validator/branches/branch_for_jsf_2_0: core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ core/src/main/java...

Author: gpetracek
Date: Fri Nov 27 19:06:55 2009
New Revision: 884958

URL: http://svn.apache.org/viewvc?rev=884958&view=rev
Log:
EXTVAL-73 intermediate result

Modified:
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ViolationSeverityValidationExceptionInterceptor.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/AbstractBeanValidationMetaDataTransformer.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/AbstractValidationParameterAwareTransformer.java

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ViolationSeverityValidationExceptionInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ViolationSeverityValidationExceptionInterceptor.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ViolationSeverityValidationExceptionInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ViolationSeverityValidationExceptionInterceptor.java Fri Nov 27 19:06:55 2009
@@ -20,7 +20,6 @@
 
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
-import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.core.InvocationOrder;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
@@ -64,7 +63,7 @@
     private void tryToPlaceSeverity(ValidatorException validatorException, Annotation annotation)
     {
         for(FacesMessage.Severity severity : ExtValUtils.getValidationParameterExtractor()
-                .extract(annotation, ViolationSeverity.class, FacesMessage.Severity.class))
+                .extract(annotation, ExtValUtils.getViolationSeverityKey(), FacesMessage.Severity.class))
         {
             validatorException.getFacesMessage().setSeverity(severity);
         }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java Fri Nov 27 19:06:55 2009
@@ -61,6 +61,7 @@
 import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
         .SimpleValidationStrategyToMsgResolverNameMapper;
 import org.apache.myfaces.extensions.validator.core.validation.parameter.DefaultViolationSeverityInterpreter;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy;
 import org.apache.myfaces.extensions.validator.util.ClassUtils;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
@@ -101,6 +102,7 @@
         initPropertyValidationInterceptors();
         initPhaseListeners();
         initProjectStageResolver();
+        initViolationSeverityKey();
         executeCustomStartupListener();
     }
 
@@ -211,4 +213,9 @@
         ExtValContext.getContext()
                 .addGlobalProperty(ProjectStageResolver.class.getName(), new DefaultProjectStageResolver(), false);
     }
+
+    protected void initViolationSeverityKey()
+    {
+        ExtValContext.getContext().addGlobalProperty(ViolationSeverity.class.getName(), ViolationSeverity.class, false);
+    }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Fri Nov 27 19:06:55 2009
@@ -23,6 +23,7 @@
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.core.ValidationModuleKey;
+import org.apache.myfaces.extensions.validator.core.ProjectStage;
 import org.apache.myfaces.extensions.validator.core.el.AbstractELHelperFactory;
 import org.apache.myfaces.extensions.validator.core.el.ELHelper;
 import org.apache.myfaces.extensions.validator.core.el.ValueBindingExpression;
@@ -52,6 +53,7 @@
 import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractor;
 import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractorFactory;
 import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverityInterpreter;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
@@ -894,4 +896,29 @@
         }
         return targetComponent;
     }
+
+
+    public static Class getViolationSeverityKey()
+    {
+        Object globalProperty = ExtValContext.getContext().getGlobalProperty(ViolationSeverity.class.getName());
+
+        if(globalProperty instanceof Class)
+        {
+            return (Class)globalProperty;
+        }
+
+        tryToCreateMessageInDevMode();
+
+        return ViolationSeverity.class;
+    }
+
+    private static void tryToCreateMessageInDevMode()
+    {
+        if(ProjectStage.is(ProjectStage.Development))
+        {
+            String message = "[dev-mode warning] fallback to " + ViolationSeverity.class.getName();
+            FacesContext.getCurrentInstance()
+                    .addMessage(null, createFacesMessage(FacesMessage.SEVERITY_WARN, message, message));
+        }
+    }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/AbstractBeanValidationMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/AbstractBeanValidationMetaDataTransformer.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/AbstractBeanValidationMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/AbstractBeanValidationMetaDataTransformer.java Fri Nov 27 19:06:55 2009
@@ -24,6 +24,7 @@
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
 import org.apache.myfaces.extensions.validator.beanval.payload.DisableClientSideValidation;
 import org.apache.myfaces.extensions.validator.beanval.payload.ViolationSeverity;
+import org.apache.myfaces.extensions.validator.beanval.util.BeanValidationUtils;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 
 import javax.validation.metadata.ConstraintDescriptor;
@@ -71,15 +72,15 @@
 
         for (Class<? extends Payload> payload : constraintDescriptor.getPayload())
         {
-            if (ViolationSeverity.Warn.class.isAssignableFrom(payload))
+            if (BeanValidationUtils.getWarnClass().isAssignableFrom(payload))
             {
                 testMessage.setSeverity(ViolationSeverity.Warn.VALUE);
             }
-            else if(ViolationSeverity.Info.class.isAssignableFrom(payload))
+            else if(BeanValidationUtils.getInfoClass().isAssignableFrom(payload))
             {
                 testMessage.setSeverity(ViolationSeverity.Info.VALUE);
             }
-            else if(ViolationSeverity.Fatal.class.isAssignableFrom(payload))
+            else if(BeanValidationUtils.getFatalClass().isAssignableFrom(payload))
             {
                 testMessage.setSeverity(ViolationSeverity.Fatal.VALUE);
             }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/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_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java Fri Nov 27 19:06:55 2009
@@ -21,6 +21,7 @@
 import org.apache.myfaces.extensions.validator.beanval.BeanValidationInterceptor;
 import org.apache.myfaces.extensions.validator.beanval.HtmlCoreComponentsComponentInitializer;
 import org.apache.myfaces.extensions.validator.beanval.BeanAwareValidatorFactory;
+import org.apache.myfaces.extensions.validator.beanval.payload.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.beanval.util.BeanValidationUtils;
 import org.apache.myfaces.extensions.validator.beanval.interceptor.ExtValBeanValidationMetaDataExtractionInterceptor;
 import org.apache.myfaces.extensions.validator.beanval.interceptor.BeanValidationExceptionInterceptor;
@@ -65,6 +66,7 @@
         registerMetaDataExtractionInterceptors();
         registerPhaseListeners();
         registerExceptionInterceptor();
+        registerViolationSeverityPayload();
     }
 
     protected void registerValidatorFactory()
@@ -140,4 +142,14 @@
     {
         ExtValContext.getContext().addValidationExceptionInterceptor(new BeanValidationExceptionInterceptor());
     }
+
+    protected void registerViolationSeverityPayload()
+    {
+        ExtValContext extValContext = ExtValContext.getContext();
+
+        extValContext.addGlobalProperty(ViolationSeverity.Info.class.getName(), ViolationSeverity.Info.class, false);
+        extValContext.addGlobalProperty(ViolationSeverity.Warn.class.getName(), ViolationSeverity.Warn.class, false);
+        extValContext.addGlobalProperty(ViolationSeverity.Error.class.getName(), ViolationSeverity.Error.class, false);
+        extValContext.addGlobalProperty(ViolationSeverity.Fatal.class.getName(), ViolationSeverity.Fatal.class, false);
+    }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java Fri Nov 27 19:06:55 2009
@@ -21,8 +21,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.extensions.validator.beanval.storage.ModelValidationEntry;
+import org.apache.myfaces.extensions.validator.beanval.payload.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
 import org.apache.myfaces.extensions.validator.core.validation.message.FacesMessageHolder;
+import org.apache.myfaces.extensions.validator.core.ProjectStage;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
@@ -169,4 +172,57 @@
         }
         return validatorFactory;
     }
+
+    public static Class getWarnClass()
+    {
+        Object globalProperty = ExtValContext.getContext().getGlobalProperty(ViolationSeverity.Warn.class.getName());
+
+        if(globalProperty instanceof Class)
+        {
+            return (Class)globalProperty;
+        }
+
+        tryToCreateMessageInDevMode(ViolationSeverity.Warn.class);
+
+        return ViolationSeverity.Warn.class;
+    }
+
+    public static Class getInfoClass()
+    {
+        Object globalProperty = ExtValContext.getContext().getGlobalProperty(ViolationSeverity.Info.class.getName());
+
+        if(globalProperty instanceof Class)
+        {
+            return (Class)globalProperty;
+        }
+
+        tryToCreateMessageInDevMode(ViolationSeverity.Info.class);
+
+        return ViolationSeverity.Info.class;
+    }
+
+    public static Class getFatalClass()
+    {
+        Object globalProperty = ExtValContext.getContext().getGlobalProperty(ViolationSeverity.Fatal.class.getName());
+
+        if(globalProperty instanceof Class)
+        {
+            return (Class)globalProperty;
+        }
+
+        tryToCreateMessageInDevMode(ViolationSeverity.Fatal.class);
+
+        return ViolationSeverity.Fatal.class;
+    }
+
+    private static void tryToCreateMessageInDevMode(Class usedFallback)
+    {
+        if(ProjectStage.is(ProjectStage.Development))
+        {
+            String message = "[dev-mode warning] fallback to " + usedFallback.getName();
+            FacesContext.getCurrentInstance()
+                    .addMessage(null, ExtValUtils.createFacesMessage(FacesMessage.SEVERITY_WARN, message, message));
+        }
+    }
+
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java Fri Nov 27 19:06:55 2009
@@ -23,7 +23,6 @@
 import org.apache.myfaces.extensions.validator.beanval.annotation.BeanValidation;
 import org.apache.myfaces.extensions.validator.beanval.annotation.ModelValidation;
 import org.apache.myfaces.extensions.validator.beanval.annotation.extractor.DefaultGroupControllerScanningExtractor;
-import org.apache.myfaces.extensions.validator.beanval.payload.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.beanval.storage.ModelValidationEntry;
 import org.apache.myfaces.extensions.validator.core.el.ELHelper;
 import org.apache.myfaces.extensions.validator.core.el.ValueBindingExpression;
@@ -563,15 +562,15 @@
     {
         for (Class<? extends Payload> payload : violation.getConstraintDescriptor().getPayload())
         {
-            if (ViolationSeverity.Warn.class.isAssignableFrom(payload))
+            if (BeanValidationUtils.getWarnClass().isAssignableFrom(payload))
             {
                 return FacesMessage.SEVERITY_WARN;
             }
-            else if (ViolationSeverity.Info.class.isAssignableFrom(payload))
+            else if (BeanValidationUtils.getInfoClass().isAssignableFrom(payload))
             {
                 return FacesMessage.SEVERITY_INFO;
             }
-            else if (ViolationSeverity.Fatal.class.isAssignableFrom(payload))
+            else if (BeanValidationUtils.getFatalClass().isAssignableFrom(payload))
             {
                 return FacesMessage.SEVERITY_FATAL;
             }
@@ -655,4 +654,4 @@
                     facesMessageHolder.getClientId(), facesMessageHolder.getFacesMessage());
         }
     }
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/AbstractValidationParameterAwareTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/AbstractValidationParameterAwareTransformer.java?rev=884958&r1=884957&r2=884958&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/AbstractValidationParameterAwareTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/AbstractValidationParameterAwareTransformer.java Fri Nov 27 19:06:55 2009
@@ -20,7 +20,6 @@
 
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
 import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
-import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverity;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
@@ -66,8 +65,10 @@
 
     private FacesMessage.Severity tryToTransformViolationSeverity(MetaDataEntry metaDataEntry)
     {
-        List<FacesMessage.Severity> result = ExtValUtils.getValidationParameterExtractor().extract(
-                metaDataEntry.getValue(Annotation.class), ViolationSeverity.class, FacesMessage.Severity.class);
+        List<FacesMessage.Severity> result = ExtValUtils.getValidationParameterExtractor()
+                .extract(metaDataEntry.getValue(Annotation.class),
+                        ExtValUtils.getViolationSeverityKey(),
+                        FacesMessage.Severity.class);
 
         if (result != null && !result.isEmpty())
         {