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 2013/01/06 13:14:06 UTC
svn commit: r1429501 -
/myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
Author: gpetracek
Date: Sun Jan 6 12:14:06 2013
New Revision: 1429501
URL: http://svn.apache.org/viewvc?rev=1429501&view=rev
Log:
EXTVAL-148 @GroupSequence support for @BeanValidation
Modified:
myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
Modified: myfaces/extensions/validator/trunk/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/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java?rev=1429501&r1=1429500&r2=1429501&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java Sun Jan 6 12:14:06 2013
@@ -43,6 +43,7 @@ import javax.faces.component.UIComponent
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import javax.validation.ConstraintViolation;
+import javax.validation.GroupSequence;
import javax.validation.Payload;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -538,7 +539,9 @@ class ExtValBeanValidationMetaDataIntern
{
ModelValidationEntry modelValidationEntry = new ModelValidationEntry();
- modelValidationEntry.setGroups(Arrays.asList(beanValidation.useGroups()));
+ List<Class> groupClassList = createGroupClassList(beanValidation);
+
+ modelValidationEntry.setGroups(groupClassList);
modelValidationEntry.setDisplayMessageInline(beanValidation.modelValidation().displayInline());
modelValidationEntry.setCustomMessage(beanValidation.modelValidation().message());
modelValidationEntry.setMetaDataSourceObject(metaDataSourceObject);
@@ -581,7 +584,9 @@ class ExtValBeanValidationMetaDataIntern
List<Class> foundGroupsForPropertyValidation,
List<Class> restrictedGroupsForPropertyValidation)
{
- foundGroupsForPropertyValidation.addAll(Arrays.asList(beanValidation.useGroups()));
+ List<Class> groupClassList = createGroupClassList(beanValidation);
+
+ foundGroupsForPropertyValidation.addAll(groupClassList);
if (beanValidation.restrictGroups().length > 0)
{
@@ -692,4 +697,25 @@ class ExtValBeanValidationMetaDataIntern
facesMessageHolder.getClientId(), facesMessageHolder.getFacesMessage());
}
}
+
+ private List<Class> createGroupClassList(BeanValidation beanValidation)
+ {
+ List<Class> groupClassList = new ArrayList<Class>();
+
+ GroupSequence groupSequence;
+ for (Class<?> groupClass : beanValidation.useGroups())
+ {
+ groupSequence = groupClass.getAnnotation(GroupSequence.class);
+
+ if (groupSequence != null)
+ {
+ groupClassList.addAll(Arrays.asList(groupSequence.value()));
+ }
+ else
+ {
+ groupClassList.add(groupClass);
+ }
+ }
+ return groupClassList;
+ }
}