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/07/11 17:20:06 UTC

svn commit: r793181 - in /myfaces/extensions/validator/trunk: core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/

Author: gpetracek
Date: Sat Jul 11 15:20:05 2009
New Revision: 793181

URL: http://svn.apache.org/viewvc?rev=793181&view=rev
Log:
minor changes

Modified:
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/PatternStrategy.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/RequiredStrategy.java

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java?rev=793181&r1=793180&r2=793181&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java Sat Jul 11 15:20:05 2009
@@ -39,6 +39,7 @@
 import javax.faces.convert.ConverterException;
 import javax.faces.render.Renderer;
 import javax.faces.validator.ValidatorException;
+import javax.el.PropertyNotFoundException;
 import java.io.IOException;
 import java.util.Map;
 import java.util.HashMap;
@@ -55,16 +56,14 @@
     public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
             throws IOException, SkipBeforeInterceptorsException, SkipRendererDelegationException
     {
-        initComponent(facesContext, uiComponent);
+        if(processComponent(uiComponent))
+        {
+            initComponent(facesContext, uiComponent);
+        }
     }
 
     protected void initComponent(FacesContext facesContext, UIComponent uiComponent)
     {
-        if(!(uiComponent instanceof EditableValueHolder))
-        {
-            return;
-        }
-
         if(logger.isTraceEnabled())
         {
             logger.trace("start to init component " + uiComponent.getClass().getName());
@@ -142,7 +141,22 @@
     public void beforeGetConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object o, Renderer wrapped)
             throws ConverterException, SkipBeforeInterceptorsException, SkipRendererDelegationException
     {
-        Object convertedObject = wrapped.getConvertedValue(facesContext, uiComponent, o);
+        Object convertedObject;
+
+        try
+        {
+            convertedObject = wrapped.getConvertedValue(facesContext, uiComponent, o);
+        }
+        catch (PropertyNotFoundException r)
+        {
+            if(this.logger.isFatalEnabled())
+            {
+                this.logger.fatal("it seems you are using an invalid binding. " + wrapped.getClass().getName()
+                        + ": conversion failed. normally this is >not< a myfaces extval issue!", r);
+            }
+
+            throw r;
+        }
 
         //recorde user input e.g. for cross-component validation
         for(ProcessedInformationRecorder recorder : ExtValContext.getContext().getProcessedInformationRecorders())
@@ -157,7 +171,10 @@
 
         try
         {
-            processValidation(facesContext, uiComponent, convertedObject);
+            if(processComponent(uiComponent))
+            {
+                processValidation(facesContext, uiComponent, convertedObject);
+            }
         }
         catch (ValidatorException e)
         {
@@ -167,11 +184,6 @@
 
     protected void processValidation(FacesContext facesContext, UIComponent uiComponent, Object convertedObject)
     {
-        if (!(uiComponent instanceof EditableValueHolder))
-        {
-            return;
-        }
-
         MetaDataExtractor metaDataExtractor = ExtValUtils.getComponentMetaDataExtractor();
 
         PropertyInformation propertyInformation = metaDataExtractor.extract(facesContext, uiComponent);
@@ -267,6 +279,11 @@
         }
     }
 
+    protected boolean processComponent(UIComponent uiComponent)
+    {
+        return uiComponent instanceof EditableValueHolder;
+    }
+
     protected boolean skipValidation(FacesContext facesContext,
                                      UIComponent uiComponent,
                                      ValidationStrategy validationStrategy,

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/PatternStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/PatternStrategy.java?rev=793181&r1=793180&r2=793181&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/PatternStrategy.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/PatternStrategy.java Sat Jul 11 15:20:05 2009
@@ -29,7 +29,6 @@
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.validator.ValidatorException;
-import java.lang.annotation.Annotation;
 
 /**
  * @author Gerhard Petracek
@@ -37,7 +36,7 @@
  */
 @SkipValidationSupport
 @UsageInformation(UsageCategory.INTERNAL)
-public class PatternStrategy extends AbstractAnnotationValidationStrategy
+public class PatternStrategy extends AbstractAnnotationValidationStrategy<Pattern>
 {
     protected void processValidation(FacesContext facesContext,
             UIComponent uiComponent, MetaDataEntry metaDataEntry,
@@ -59,8 +58,8 @@
         }
     }
 
-    protected String getValidationErrorMsgKey(Annotation annotation)
+    protected String getValidationErrorMsgKey(Pattern annotation)
     {
-        return ((Pattern) annotation).validationErrorMsgKey();
+        return annotation.validationErrorMsgKey();
     }
 }

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/RequiredStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/RequiredStrategy.java?rev=793181&r1=793180&r2=793181&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/RequiredStrategy.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/strategy/RequiredStrategy.java Sat Jul 11 15:20:05 2009
@@ -30,7 +30,6 @@
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.validator.ValidatorException;
-import java.lang.annotation.Annotation;
 import java.util.Map;
 import java.util.Collection;
 
@@ -40,7 +39,7 @@
  */
 @SkipValidationSupport
 @UsageInformation(UsageCategory.INTERNAL)
-public class RequiredStrategy extends AbstractAnnotationValidationStrategy
+public class RequiredStrategy extends AbstractAnnotationValidationStrategy<Required>
 {
     private boolean useFacesBundle = false;
 
@@ -52,13 +51,13 @@
                 (convertedObject instanceof Collection && ((Collection)convertedObject).isEmpty()) ||
                 (convertedObject instanceof Map && ((Map)convertedObject).isEmpty()))
         {
-            throw new ValidatorException(getValidationErrorFacesMassage(metaDataEntry.getValue(Annotation.class)));
+            throw new ValidatorException(getValidationErrorFacesMassage(metaDataEntry.getValue(Required.class)));
         }
     }
 
-    protected String getValidationErrorMsgKey(Annotation annotation)
+    protected String getValidationErrorMsgKey(Required annotation)
     {
-        return ((Required) annotation).validationErrorMsgKey();
+        return annotation.validationErrorMsgKey();
     }
 
     @Override