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/10/09 19:51:32 UTC
svn commit: r823639 - in
/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval:
./ interceptor/ metadata/transformer/ metadata/transformer/mapper/ star...
Author: gpetracek
Date: Fri Oct 9 17:51:31 2009
New Revision: 823639
URL: http://svn.apache.org/viewvc?rev=823639&view=rev
Log:
cleanup
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java Fri Oct 9 17:51:31 2009
@@ -21,7 +21,6 @@
import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipBeforeInterceptorsException;
import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipRendererDelegationException;
import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
@@ -30,22 +29,20 @@
import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
import org.apache.myfaces.extensions.validator.core.interceptor.AbstractValidationInterceptor;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
-import org.apache.myfaces.extensions.validator.beanval.validation.strategy.BeanValidationStrategyAdapter;
import org.apache.myfaces.extensions.validator.internal.ToDo;
import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.beanval.validation.strategy.BeanValidationStrategyAdapter;
import javax.faces.context.FacesContext;
import javax.faces.component.UIComponent;
import javax.faces.render.Renderer;
import javax.faces.validator.ValidatorException;
import javax.faces.application.FacesMessage;
-import javax.validation.Validation;
import javax.validation.metadata.BeanDescriptor;
import javax.validation.metadata.ElementDescriptor;
import javax.validation.metadata.ConstraintDescriptor;
-import javax.validation.ValidatorFactory;
import javax.validation.ConstraintViolation;
import java.util.Set;
import java.util.Map;
@@ -61,8 +58,6 @@
@UsageInformation(UsageCategory.INTERNAL)
public class BeanValidationInterceptor extends AbstractValidationInterceptor
{
- private ValidatorFactory validationFactory = Validation.buildDefaultValidatorFactory();
-
@Override
public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
throws IOException, SkipBeforeInterceptorsException, SkipRendererDelegationException
@@ -81,98 +76,112 @@
logger.trace("start to init component " + uiComponent.getClass().getName());
}
- MetaDataExtractor metaDataExtractor = ExtValUtils.getComponentMetaDataExtractor();
+ PropertyDetails propertyDetails = extractPropertyDetails(facesContext, uiComponent);
- PropertyDetails propertyDetails = metaDataExtractor.extract(facesContext, uiComponent)
+ if(propertyDetails != null)
+ {
+ initComponentWithPropertyDetails(facesContext, uiComponent, propertyDetails);
+ }
+
+ if (logger.isTraceEnabled())
+ {
+ logger.trace("init component of " + uiComponent.getClass().getName() + " finished");
+ }
+ }
+
+ private PropertyDetails extractPropertyDetails(FacesContext facesContext, UIComponent uiComponent)
+ {
+ PropertyDetails result = ExtValUtils.getComponentMetaDataExtractor().extract(facesContext, uiComponent)
.getInformation(PropertyInformationKeys.PROPERTY_DETAILS, PropertyDetails.class);
- if(propertyDetails.getBaseObject() == null)
+ if(result.getBaseObject() == null && this.logger.isWarnEnabled())
{
- if(this.logger.isWarnEnabled())
- {
- this.logger.warn("no base object at " + propertyDetails.getKey() +
- " component-id: " + uiComponent.getClientId(facesContext));
- }
- return;
+ this.logger.warn("no base object at " + result.getKey() +
+ " component-id: " + uiComponent.getClientId(facesContext));
}
- //TODO extract groups - see PropertyValidationGroupProvider
- Class[] foundGroups = ExtValBeanValidationContext.getCurrentInstance().getGroups(
- facesContext.getViewRoot().getViewId(),
- uiComponent.getClientId(facesContext));
+ return result.getBaseObject() != null ? result : null;
+ }
- /*TODO
- foundGroups = mergeFoundGroupsWithValidatorGroups(
- foundGroups, ((EditableValueHolder)uiComponent).getValidators());
- */
- BeanDescriptor beanDescriptor = this.validationFactory.getValidator().getConstraintsForClass(
- propertyDetails.getBaseObject().getClass());
+ private void initComponentWithPropertyDetails(
+ FacesContext facesContext, UIComponent uiComponent, PropertyDetails propertyDetails)
+ {
+ Class[] foundGroups = resolveGroups(facesContext, uiComponent);
- ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty(propertyDetails.getProperty());
+ if(foundGroups == null)
+ {
+ return;
+ }
+
+ ElementDescriptor elementDescriptor = getDescriptorFor(
+ propertyDetails.getBaseObject().getClass(), propertyDetails.getProperty());
if(elementDescriptor == null)
{
return;
}
-
- ValidationStrategy validationStrategy;
- MetaDataTransformer metaDataTransformer;
- MetaDataEntry entry;
+
Map<String, Object> metaData;
for (ConstraintDescriptor<?> constraintDescriptor :
elementDescriptor.findConstraints().unorderedAndMatchingGroups(foundGroups).getConstraintDescriptors())
{
- //TODO check groups
-
- validationStrategy = new BeanValidationStrategyAdapter(constraintDescriptor);
-
- /*
- * per default
- * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.BeanValidationMetaDataTransformer
- * is bound to BeanValidationStrategyAdapter
- * don't use it directly - it's possible to deactivate
- * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.mapper
- * .DefaultBeanValidationStrategyToMetaDataTransformerNameMapper
- */
- metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(validationStrategy);
+ metaData = transformConstraintDescriptorToMetaData(constraintDescriptor);
- if (metaDataTransformer != null)
+ if (metaData != null && !metaData.isEmpty())
{
- if (this.logger.isDebugEnabled())
- {
- this.logger.debug(metaDataTransformer.getClass().getName() + " instantiated");
- }
+ ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaData);
+ }
+ }
+ }
- entry = new MetaDataEntry();
- entry.setKey(constraintDescriptor.getAnnotation().annotationType().getName());
- entry.setValue(constraintDescriptor);
- //TODO (?) add type of property for meta-data transformation (e.g. size: string vs. number)
+ private Class[] resolveGroups(FacesContext facesContext, UIComponent uiComponent)
+ {
+ return ExtValBeanValidationContext.getCurrentInstance().getGroups(
+ facesContext.getViewRoot().getViewId(),
+ uiComponent.getClientId(facesContext));
+ }
- metaData = metaDataTransformer.convertMetaData(entry);
- }
- else
- {
- metaData = null;
- }
+ private ElementDescriptor getDescriptorFor(Class targetClass, String property)
+ {
+ BeanDescriptor beanDescriptor = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+ .getValidator().getConstraintsForClass(targetClass);
- if (metaData == null)
- {
- continue;
- }
+ return beanDescriptor.getConstraintsForProperty(property);
+ }
+
+ @ToDo(Priority.HIGH)
+ private Map<String, Object> transformConstraintDescriptorToMetaData(ConstraintDescriptor<?> constraintDescriptor)
+ {
+ Map<String, Object> result = null;
+ MetaDataTransformer metaDataTransformer;
+ MetaDataEntry entry;
+ /*
+ * per default
+ * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.BeanValidationMetaDataTransformer
+ * is bound to BeanValidationStrategyAdapter
+ * don't use it directly - it's possible to deactivate
+ * org.apache.myfaces.extensions.validator.beanval.metadata.transformer.mapper
+ * .DefaultBeanValidationStrategyToMetaDataTransformerNameMapper
+ */
+ metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(
+ new BeanValidationStrategyAdapter(constraintDescriptor));
- //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())
+ if (metaDataTransformer != null)
+ {
+ if (this.logger.isDebugEnabled())
{
- ExtValUtils.configureComponentWithMetaData(facesContext, uiComponent, metaData);
+ this.logger.debug(metaDataTransformer.getClass().getName() + " instantiated");
}
- }
- if (logger.isTraceEnabled())
- {
- logger.trace("init component of " + uiComponent.getClass().getName() + " finished");
+ entry = new MetaDataEntry();
+ entry.setKey(constraintDescriptor.getAnnotation().annotationType().getName());
+ entry.setValue(constraintDescriptor);
+ //TODO (?) add type of property for meta-data transformation (e.g. size: string vs. number)
+
+ result = metaDataTransformer.convertMetaData(entry);
}
+ return result;
}
@Override
@@ -228,8 +237,8 @@
PropertyDetails propertyDetails = (propertyInformation.getInformation(
PropertyInformationKeys.PROPERTY_DETAILS, PropertyDetails.class));
- BeanDescriptor beanDescriptor = this.validationFactory.getValidator().getConstraintsForClass(
- propertyDetails.getBaseObject().getClass());
+ BeanDescriptor beanDescriptor = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+ .getValidator().getConstraintsForClass(propertyDetails.getBaseObject().getClass());
ElementDescriptor elementDescriptor = beanDescriptor.getConstraintsForProperty(propertyDetails.getProperty());
@@ -257,7 +266,8 @@
return;
}
- Set<ConstraintViolation> violations = this.validationFactory.usingContext()
+ Set<ConstraintViolation> violations = ExtValBeanValidationContext.getCurrentInstance().getValidatorFactory()
+ .usingContext()
.messageInterpolator(ExtValBeanValidationContext.getCurrentInstance().getMessageInterpolator())
.getValidator()
.validateValue(baseBeanClass, propertyName, convertedObject, groups);
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/ExtValBeanValidationContext.java Fri Oct 9 17:51:31 2009
@@ -28,9 +28,8 @@
import org.apache.myfaces.extensions.validator.core.validation.message.resolver.MessageResolver;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.storage.GroupStorage;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -38,6 +37,7 @@
import javax.faces.component.UIComponent;
import javax.validation.MessageInterpolator;
import javax.validation.Validation;
+import javax.validation.ValidatorFactory;
import java.util.Map;
import java.util.List;
@@ -69,7 +69,6 @@
}
@SuppressWarnings({"unchecked"})
- @ToDo(value = Priority.HIGH, description = "create extval-bv-context factory")
public static ExtValBeanValidationContext getCurrentInstance()
{
FacesContext facesContext = FacesContext.getCurrentInstance();
@@ -87,6 +86,22 @@
return currentContext;
}
+ public ValidatorFactory getValidatorFactory()
+ {
+ Object validatorFactory = ExtValContext.getContext().getGlobalProperty(ValidatorFactory.class.getName());
+
+ if(validatorFactory instanceof ValidatorFactory)
+ {
+ return (ValidatorFactory)validatorFactory;
+ }
+
+ if(this.logger.isWarnEnabled())
+ {
+ this.logger.warn("fallback to the default bv validator factory");
+ }
+ return Validation.buildDefaultValidatorFactory();
+ }
+
public MessageInterpolator getMessageInterpolator()
{
if(this.messageResolver != null)
@@ -134,7 +149,6 @@
getStorage(ModelValidationStorage.class, ModelValidation.class.getName());
}
- @ToDo(value = Priority.HIGH, description = "create message interpolator factory")
private void initMessageInterpolator()
{
Object foundBean = ExtValUtils.getELHelper().getBean(MessageInterpolator.class.getName().replace(".", "_"));
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/WebXmlParameter.java Fri Oct 9 17:51:31 2009
@@ -20,8 +20,6 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.myfaces.extensions.validator.util.WebXmlUtils;
/**
@@ -31,14 +29,6 @@
@UsageInformation(UsageCategory.INTERNAL)
public interface WebXmlParameter
{
- @ToDo(Priority.HIGH)
- @Deprecated
- static final String DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION = WebXmlUtils
- .getInitParameter("DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION");
-
- static final String DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION = WebXmlUtils
- .getInitParameter("DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION");
-
static final String DEACTIVATE_ADDITIONAL_GROUP_VALIDATION_ANNOTATIONS = WebXmlUtils
.getInitParameter("DEACTIVATE_ADDITIONAL_GROUP_VALIDATION_ANNOTATIONS");
}
\ No newline at end of file
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/interceptor/PropertyValidationGroupProvider.java Fri Oct 9 17:51:31 2009
@@ -41,7 +41,6 @@
import javax.faces.context.FacesContext;
import javax.faces.component.UIComponent;
-import javax.validation.groups.Default;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
@@ -242,12 +241,6 @@
*/
for(ModelValidationEntry modelValidationEntry : modelValidationEntryList)
{
- if(!"true".equalsIgnoreCase(org.apache.myfaces.extensions.validator.beanval.WebXmlParameter
- .DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION))
- {
- modelValidationEntry.addGroup(Default.class);
- }
-
for(Class restrictedGroup : restrictedGroupsForModelValidation)
{
modelValidationEntry.removeGroup(restrictedGroup);
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/BeanValidationMetaDataTransformer.java Fri Oct 9 17:51:31 2009
@@ -24,6 +24,9 @@
import org.apache.myfaces.extensions.validator.internal.Priority;
import javax.validation.metadata.ConstraintDescriptor;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
import java.util.Map;
/**
@@ -37,6 +40,7 @@
{
if(isSupportedConstraint(metaData.getValue(ConstraintDescriptor.class)))
{
+
//TODO
}
@@ -51,9 +55,11 @@
return false;
}
- String simpleName = constraintDescriptor.getAnnotation().annotationType().getSimpleName();
+ String name = constraintDescriptor.getAnnotation().annotationType().getName();
- return simpleName.equals("Size") || simpleName.equals("Pattern") || simpleName.equals("NotNull");
+ return NotNull.class.getName().equals(name) ||
+ Size.class.getName().equals(name) ||
+ Pattern.class.getName().equals(name);
}
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/metadata/transformer/mapper/DefaultBeanValidationStrategyToMetaDataTransformerNameMapper.java Fri Oct 9 17:51:31 2009
@@ -36,11 +36,10 @@
{
public String createName(ValidationStrategy validationStrategy)
{
- if(!(validationStrategy instanceof BeanValidationStrategyAdapter))
+ if(validationStrategy instanceof BeanValidationStrategyAdapter)
{
- return null;
+ return BeanValidationMetaDataTransformer.class.getName();
}
-
- return BeanValidationMetaDataTransformer.class.getName();
+ return null;
}
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/startup/BeanValidationStartupListener.java Fri Oct 9 17:51:31 2009
@@ -34,19 +34,18 @@
import org.apache.myfaces.extensions.validator.core.storage.GroupStorage;
import org.apache.myfaces.extensions.validator.core.storage.StorageManager;
import org.apache.myfaces.extensions.validator.core.storage.StorageManagerHolder;
-import org.apache.myfaces.extensions.validator.internal.Priority;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.util.JsfUtils;
+import javax.validation.ValidatorFactory;
+import javax.validation.Validation;
+
/**
* @author Gerhard Petracek
* @since x.x.3
*/
-@ToDo(value = Priority.HIGH, description = "add optional web.xml param to deactivate" +
- "DefaultBeanValidationStrategyToMetaDataTransformerNameMapper")
@UsageInformation(UsageCategory.INTERNAL)
public class BeanValidationStartupListener extends AbstractStartupListener
{
@@ -54,36 +53,39 @@
protected void init()
{
- if(!"true".equalsIgnoreCase(org.apache.myfaces.extensions.validator.beanval.WebXmlParameter
- .DEACTIVATE_DEFAULT_BEAN_VALIDATION_INTEGRATION))
- {
- registerBeanValidationInterceptor();
- registerValidationGroupProvider();
- registerMetaDataTransformerNameMapper();
- registerGroupStorageNameMapper();
- registerModelValidationStorageNameMapper();
- registerModelValidationPhaseListener();
- }
+ registerValidatorFactory();
+ registerBeanValidationInterceptor();
+ registerValidationGroupProvider();
+ registerMetaDataTransformerNameMapper();
+ registerGroupStorageNameMapper();
+ registerModelValidationStorageNameMapper();
+ registerModelValidationPhaseListener();
}
- private void registerBeanValidationInterceptor()
+ protected void registerValidatorFactory()
+ {
+ ExtValContext.getContext().addGlobalProperty(
+ ValidatorFactory.class.getName(), Validation.buildDefaultValidatorFactory(), false);
+ }
+
+ protected void registerBeanValidationInterceptor()
{
ExtValContext.getContext().registerRendererInterceptor(new BeanValidationInterceptor());
}
- private void registerValidationGroupProvider()
+ protected void registerValidationGroupProvider()
{
ExtValContext.getContext().addPropertyValidationInterceptor(new PropertyValidationGroupProvider());
}
- private void registerMetaDataTransformerNameMapper()
+ protected void registerMetaDataTransformerNameMapper()
{
ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
new DefaultBeanValidationStrategyToMetaDataTransformerNameMapper());
}
@SuppressWarnings({"unchecked"})
- private void registerGroupStorageNameMapper()
+ protected void registerGroupStorageNameMapper()
{
StorageManager storageManager = getStorageManagerHolder().getStorageManager(GroupStorage.class);
@@ -103,22 +105,22 @@
}
}
- private void registerModelValidationStorageNameMapper()
+ protected void registerModelValidationStorageNameMapper()
{
DefaultModelValidationStorageManager modelValidationStorageManager = new DefaultModelValidationStorageManager();
modelValidationStorageManager.register(new ModelValidationStorageNameMapper());
getStorageManagerHolder().setStorageManager(ModelValidationStorage.class, modelValidationStorageManager, false);
}
+ protected void registerModelValidationPhaseListener()
+ {
+ JsfUtils.registerPhaseListener(new ModelValidationPhaseListener());
+ }
+
private StorageManagerHolder getStorageManagerHolder()
{
return (ExtValContext.getContext()
.getFactoryFinder()
.getFactory(FactoryNames.STORAGE_MANAGER_FACTORY, StorageManagerHolder.class));
}
-
- private void registerModelValidationPhaseListener()
- {
- JsfUtils.registerPhaseListener(new ModelValidationPhaseListener());
- }
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/storage/DefaultBeanValidationGroupStorage.java Fri Oct 9 17:51:31 2009
@@ -19,12 +19,9 @@
package org.apache.myfaces.extensions.validator.beanval.storage;
import org.apache.myfaces.extensions.validator.core.storage.DefaultGroupStorage;
-import org.apache.myfaces.extensions.validator.beanval.WebXmlParameter;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
-import javax.validation.groups.Default;
-
/**
* default storage implementation for bean-validation groups
*
@@ -41,10 +38,8 @@
if(result == null)
{
- if(!"true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_IMPLICIT_DEFAULT_GROUP_VALIDATION))
- {
- return new Class[] {Default.class};
- }
+ //the default group will be validated automatically
+ return new Class[] {};
}
return result;
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java?rev=823639&r1=823638&r2=823639&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java Fri Oct 9 17:51:31 2009
@@ -36,8 +36,6 @@
import javax.faces.validator.ValidatorException;
import javax.validation.ConstraintViolation;
import javax.validation.MessageInterpolator;
-import javax.validation.Validation;
-import javax.validation.ValidatorFactory;
import javax.validation.metadata.ConstraintDescriptor;
import java.util.ArrayList;
import java.util.Iterator;
@@ -53,7 +51,6 @@
private static final long serialVersionUID = -3482233893186708878L;
protected final Log logger = LogFactory.getLog(getClass());
- private ValidatorFactory validationFactory = Validation.buildDefaultValidatorFactory();
public void afterPhase(PhaseEvent phaseEvent)
{
@@ -65,7 +62,7 @@
List<ModelValidationEntry> modelValidationEntries = ExtValBeanValidationContext.getCurrentInstance()
.getModelValidationEntriesToValidate();
- List processedValidationTargets = new ArrayList();
+ List<Object> processedValidationTargets = new ArrayList<Object>();
for (ModelValidationEntry modelValidationEntry : modelValidationEntries)
{
@@ -78,7 +75,8 @@
}
}
- private void processModelValidation(ModelValidationEntry modelValidationEntry, List processedValidationTargets)
+ private void processModelValidation(
+ ModelValidationEntry modelValidationEntry, List<Object> processedValidationTargets)
{
for (Object validationTarget : modelValidationEntry.getValidationTargets())
{
@@ -93,7 +91,8 @@
processedValidationTargets.add(validationTarget);
}
- Set<ConstraintViolation<Object>> violations = this.validationFactory.usingContext()
+ Set<ConstraintViolation<Object>> violations = ExtValBeanValidationContext.getCurrentInstance()
+ .getValidatorFactory().usingContext()
.messageInterpolator(ExtValBeanValidationContext.getCurrentInstance().getMessageInterpolator())
.getValidator()
.validate(validationTarget, modelValidationEntry.getGroups());