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/04/10 13:46:00 UTC
svn commit: r763914 - in
/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval:
./ annotation/ validation/
Author: gpetracek
Date: Fri Apr 10 11:46:00 2009
New Revision: 763914
URL: http://svn.apache.org/viewvc?rev=763914&view=rev
Log:
conditional validation for bv
Modified:
myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java
myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java
myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/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/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java Fri Apr 10 11:46:00 2009
@@ -376,8 +376,7 @@
modelValidationEntry.removeGroup(restrictedGroup);
}
- if(modelValidationEntry.getGroups().length > 0 &&
- isModelValidationAllowed(modelValidationEntry.getMetaData()))
+ if(modelValidationEntry.getGroups().length > 0)
{
addTargetsForModelValidation(modelValidationEntry, propertyDetails.getBaseObject());
extValBeanValidationContext.addModelValidationEntry(modelValidationEntry, currentViewId, component);
@@ -508,8 +507,8 @@
{
for (String currentViewId : beanValidation.viewIds())
{
- if (currentViewId.equals(FacesContext.getCurrentInstance().getViewRoot().getViewId()) ||
- currentViewId.equals("*"))
+ if ((currentViewId.equals(FacesContext.getCurrentInstance().getViewRoot().getViewId()) ||
+ currentViewId.equals("*")) && isValidationPermitted(beanValidation))
{
if(isModelValidation(beanValidation))
{
@@ -647,11 +646,11 @@
return ReflectionUtils.tryToInvokeMethod(base, targetMethod);
}
- private boolean isModelValidationAllowed(ModelValidation modelValidation)
+ private boolean isValidationPermitted(BeanValidation beanValidation)
{
ELHelper elHelper = ExtValUtils.getELHelper();
- for(String condition : modelValidation.conditions())
+ for(String condition : beanValidation.conditions())
{
if(elHelper.isELTermWellFormed(condition) &&
elHelper.isELTermValid(FacesContext.getCurrentInstance(), condition))
Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java Fri Apr 10 11:46:00 2009
@@ -20,6 +20,8 @@
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
import javax.validation.groups.Default;
import java.lang.annotation.Target;
@@ -45,6 +47,9 @@
Class[] restrictGroups() default NoRestrictionGroup.class;
+ @ToDo(value = Priority.HIGH, description = "support property chain syntax")
+ String[] conditions() default "#{true}";
+
ModelValidation modelValidation() default @ModelValidation;
@Retention(RUNTIME) static @interface List
Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java Fri Apr 10 11:46:00 2009
@@ -20,8 +20,6 @@
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
@@ -46,8 +44,5 @@
boolean displayInline() default false;
- @ToDo(value = Priority.HIGH, description = "support property chain syntax")
- String[] conditions() default "#{true}";
-
String[] validationTargets() default DEFAULT_TARGET;
}
\ No newline at end of file
Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/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/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java Fri Apr 10 11:46:00 2009
@@ -68,8 +68,6 @@
processModelValidation(modelValidationEntry, processedValidationTargets);
}
- FacesContext.getCurrentInstance().renderResponse();
-
if (logger.isTraceEnabled())
{
logger.trace("jsr303 validation finished");
@@ -98,6 +96,8 @@
if (violations != null && violations.size() > 0)
{
+ FacesContext.getCurrentInstance().renderResponse();
+
//jsf 2.0 is able to display multiple messages per component - so process all violations
//jsf < 2.0 will just use the first one (it's only a little overhead)
Iterator violationsIterator = violations.iterator();