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/02/01 21:32:43 UTC
svn commit: r739828 - in
/myfaces/extensions/validator/branches/branch_for_jsf_1_1:
core/src/main/java/org/apache/myfaces/extensions/validator/core/
core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/
core/src/main/java/org/apache/...
Author: gpetracek
Date: Sun Feb 1 20:32:42 2009
New Revision: 739828
URL: http://svn.apache.org/viewvc?rev=739828&view=rev
Log:
EXTVAL-32 de-/register custom name mappers via extval java-api
Added:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/AbstractNameMapperAwareFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/ClassMappingFactory.java
- copied, changed from r739819, myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/mapper/ClassMappingFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/NameMapperAwareFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractMetaDataToValidationStrategyNameMapper.java
- copied, changed from r739819, myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractAnnotationToValidationStrategyNameMapper.java
Removed:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/mapper/ClassMappingFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractAnnotationToValidationStrategyNameMapper.java
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AnnotationToValidationStrategyBeanNameMapper.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/DefaultAnnotationToValidationStrategyNameMapper.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/SimpleAnnotationToValidationStrategyNameMapper.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/AbstractExValViewControllerTestCase.java
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java Sun Feb 1 20:32:42 2009
@@ -50,7 +50,7 @@
private static ExtValContext extValContext = new ExtValContext();
- private FactoryFinder factoryFinder = new DefaultFactoryFinder();
+ private FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
private Map<String, RendererInterceptor> rendererInterceptors = new HashMap<String, RendererInterceptor>();
private List<String> deniedInterceptors = new ArrayList<String>();
private List<ProcessedInformationRecorder> processedInformationRecorders =
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java Sun Feb 1 20:32:42 2009
@@ -85,6 +85,7 @@
/*
* deactivate
*/
+ @Deprecated
static final String DEACTIVATE_RENDERKIT = WebXmlUtils
.getInitParameter("DEACTIVATE_RENDERKIT");
@@ -92,6 +93,9 @@
static final String DEACTIVATE_DEFAULT_CONVENTION = WebXmlUtils
.getInitParameter("DEACTIVATE_DEFAULT_CONVENTION");
+ static final String DEACTIVATE_DEFAULT_NAME_MAPPERS = WebXmlUtils
+ .getInitParameter("DEACTIVATE_DEFAULT_NAME_MAPPERS");
+
//there is nothing like DEACTIVATE_DEFAULT_VALIDATION_INTERCEPTOR
//use ExtValContext.getContext().denyRendererInterceptor(...) within an extval-StartupListener
}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/AbstractNameMapperAwareFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/AbstractNameMapperAwareFactory.java?rev=739828&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/AbstractNameMapperAwareFactory.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/AbstractNameMapperAwareFactory.java Sun Feb 1 20:32:42 2009
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.factory;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+@UsageInformation(UsageCategory.API)
+public abstract class AbstractNameMapperAwareFactory<T> implements NameMapperAwareFactory<NameMapper<T>>
+{
+ private List<Class> deniedNameMapperList = new ArrayList<Class>();
+
+ public synchronized void register(NameMapper<T> nameMapper)
+ {
+ if(!deniedNameMapperList.contains(nameMapper.getClass()))
+ {
+ getNameMapperList().add(nameMapper);
+ }
+ }
+
+ public synchronized void deregister(Class classToDeregister)
+ {
+ Iterator<NameMapper<T>> nameMapperIterator = getNameMapperList().iterator();
+ while(nameMapperIterator.hasNext())
+ {
+ if(nameMapperIterator.next().getClass().getName().equals(classToDeregister.getName()))
+ {
+ nameMapperIterator.remove();
+ //don't break - e.g. to deregister all wrappers...
+ //break;
+ }
+ }
+ }
+
+ public void deny(Class classToDeny)
+ {
+ deregister(classToDeny);
+
+ synchronized (getClass())
+ {
+ deniedNameMapperList.add(classToDeny);
+ }
+ }
+
+ protected abstract List<NameMapper<T>> getNameMapperList();
+}
Copied: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/ClassMappingFactory.java (from r739819, myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/mapper/ClassMappingFactory.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/ClassMappingFactory.java?p2=myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/ClassMappingFactory.java&p1=myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/mapper/ClassMappingFactory.java&r1=739819&r2=739828&rev=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/mapper/ClassMappingFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/ClassMappingFactory.java Sun Feb 1 20:32:42 2009
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.myfaces.extensions.validator.core.mapper;
+package org.apache.myfaces.extensions.validator.core.factory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java Sun Feb 1 20:32:42 2009
@@ -49,7 +49,9 @@
protected final Log logger = LogFactory.getLog(getClass());
protected Map<FactoryNames, Object> factoryMap = new HashMap<FactoryNames, Object>();
- public DefaultFactoryFinder()
+ private static FactoryFinder factoryFinder = new DefaultFactoryFinder();
+
+ private DefaultFactoryFinder()
{
if(logger.isDebugEnabled())
{
@@ -57,6 +59,11 @@
}
}
+ public static FactoryFinder getInstance()
+ {
+ return factoryFinder;
+ }
+
public final <T> T getFactory(FactoryNames factoryName, Class<T> targetClass)
{
if(!(factoryMap.containsKey(factoryName)))
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/NameMapperAwareFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/NameMapperAwareFactory.java?rev=739828&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/NameMapperAwareFactory.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/NameMapperAwareFactory.java Sun Feb 1 20:32:42 2009
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.core.factory;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+@UsageInformation(UsageCategory.API)
+public interface NameMapperAwareFactory<T extends NameMapper>
+{
+ void register(T classToAdd);
+ void deregister(Class<? extends NameMapper> classToDeregister);
+ void deny(Class<? extends NameMapper> classToDeny);
+}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java Sun Feb 1 20:32:42 2009
@@ -18,19 +18,10 @@
*/
package org.apache.myfaces.extensions.validator.core.metadata.transformer;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.AbstractNameMapperAwareFactory;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.validation.strategy.BeanValidationStrategyAdapter;
-import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
- .CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper;
-import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
- .CustomConventionValidationStrategyToMetaDataTransformerNameMapper;
-import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
- .DefaultValidationStrategyToMetaDataTransformerNameMapper;
-import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
- .SimpleValidationStrategyToMetaDataTransformerNameMapper;
-import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
- .BeanValidationStrategyToMetaDataTransformerNameMapper;
import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
import org.apache.myfaces.extensions.validator.core.initializer.configuration.StaticConfiguration;
import org.apache.myfaces.extensions.validator.core.initializer.configuration.StaticConfigurationNames;
@@ -59,27 +50,13 @@
* to avoid a second static mapping e.g. for jpa annotations
*/
@UsageInformation({UsageCategory.INTERNAL, UsageCategory.CUSTOMIZABLE})
-public class DefaultMetaDataTransformerFactory implements ClassMappingFactory<ValidationStrategy, MetaDataTransformer>
+public class DefaultMetaDataTransformerFactory extends AbstractNameMapperAwareFactory<ValidationStrategy>
+ implements ClassMappingFactory<ValidationStrategy, MetaDataTransformer>
{
protected final Log logger = LogFactory.getLog(getClass());
- private static Map<String, String> validationStrategyToMetaDataTransformerMapping;
- private static List<NameMapper<ValidationStrategy>> nameMapperList
- = new ArrayList<NameMapper<ValidationStrategy>>();
-
- static
- {
- nameMapperList
- .add(new CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper());
- nameMapperList
- .add(new CustomConventionValidationStrategyToMetaDataTransformerNameMapper());
- nameMapperList
- .add(new DefaultValidationStrategyToMetaDataTransformerNameMapper());
- nameMapperList
- .add(new SimpleValidationStrategyToMetaDataTransformerNameMapper());
- nameMapperList
- .add(new BeanValidationStrategyToMetaDataTransformerNameMapper());
- }
+ private Map<String, String> validationStrategyToMetaDataTransformerMapping;
+ private List<NameMapper<ValidationStrategy>> nameMapperList = new ArrayList<NameMapper<ValidationStrategy>>();
public DefaultMetaDataTransformerFactory()
{
@@ -143,19 +120,16 @@
return null;
}
- private void initStaticMappings()
+ private synchronized void initStaticMappings()
{
- synchronized (DefaultMetaDataTransformerFactory.class)
- {
- validationStrategyToMetaDataTransformerMapping = new HashMap<String, String>();
+ validationStrategyToMetaDataTransformerMapping = new HashMap<String, String>();
- //setup internal static mappings
- for (StaticConfiguration<String, String> staticConfig :
- ExtValContext.getContext().getStaticConfiguration(
- StaticConfigurationNames.VALIDATION_STRATEGY_TO_META_DATA_TRANSFORMER_CONFIG))
- {
- setupStrategyMappings(staticConfig.getMapping());
- }
+ //setup internal static mappings
+ for (StaticConfiguration<String, String> staticConfig :
+ ExtValContext.getContext().getStaticConfiguration(
+ StaticConfigurationNames.VALIDATION_STRATEGY_TO_META_DATA_TRANSFORMER_CONFIG))
+ {
+ setupStrategyMappings(staticConfig.getMapping());
}
}
@@ -167,7 +141,7 @@
}
}
- private void addMapping(String validationStrategyName, String transformerName)
+ private synchronized void addMapping(String validationStrategyName, String transformerName)
{
if(logger.isTraceEnabled())
{
@@ -175,9 +149,11 @@
+ validationStrategyName + " -> " + transformerName);
}
- synchronized (DefaultMetaDataTransformerFactory.class)
- {
- validationStrategyToMetaDataTransformerMapping.put(validationStrategyName, transformerName);
- }
+ validationStrategyToMetaDataTransformerMapping.put(validationStrategyName, transformerName);
+ }
+
+ protected List<NameMapper<ValidationStrategy>> getNameMapperList()
+ {
+ return nameMapperList;
}
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/AbstractRenderKitWrapperFactory.java Sun Feb 1 20:32:42 2009
@@ -20,7 +20,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.ClassMappingFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java Sun Feb 1 20:32:42 2009
@@ -23,8 +23,40 @@
import org.apache.myfaces.extensions.validator.core.interceptor.ValidationInterceptor;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.core.CustomInformation;
+import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
+ .BeanValidationStrategyToMetaDataTransformerNameMapper;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
+ .SimpleValidationStrategyToMetaDataTransformerNameMapper;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
+ .DefaultValidationStrategyToMetaDataTransformerNameMapper;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
+ .CustomConventionValidationStrategyToMetaDataTransformerNameMapper;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper
+ .CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
+ .CustomConventionAnnotationToValidationStrategyNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
+ .DefaultAnnotationToValidationStrategyNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
+ .CustomConfiguredAnnotationToValidationStrategyNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
+ .SimpleAnnotationToValidationStrategyNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
+ .AnnotationToValidationStrategyBeanNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
+ .CustomConfiguredValidationStrategyToMsgResolverNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
+ .CustomConventionValidationStrategyToMsgResolverNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
+ .DefaultValidationStrategyToMsgResolverNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
+ .DefaultModuleValidationStrategyToMsgResolverNameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.message.resolver.mapper
+ .SimpleValidationStrategyToMsgResolverNameMapper;
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;
import org.apache.myfaces.extensions.validator.ExtValInformation;
/**
@@ -50,14 +82,71 @@
ExtValContext.getContext().registerRendererInterceptor(new ValidationInterceptor());
+ ExtValContext.getContext()
+ .addGlobalProperty(ExtValRendererProxy.KEY, ExtValRendererProxy.class.getName(), false);
+
+ initNameMappers();
executeCustomStartupListener();
}
- private void executeCustomStartupListener()
+ private void initNameMappers()
{
- ExtValContext.getContext()
- .addGlobalProperty(ExtValRendererProxy.KEY, ExtValRendererProxy.class.getName(), false);
+ String deactivateDefaultNameMappers = WebXmlParameter.DEACTIVATE_DEFAULT_NAME_MAPPERS;
+ if ((deactivateDefaultNameMappers != null && deactivateDefaultNameMappers.equalsIgnoreCase("true")))
+ {
+ return;
+ }
+
+ //register metadata to validation strategy name mapper
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new CustomConfiguredAnnotationToValidationStrategyNameMapper());
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new CustomConventionAnnotationToValidationStrategyNameMapper());
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new DefaultAnnotationToValidationStrategyNameMapper());
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new SimpleAnnotationToValidationStrategyNameMapper());
+
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new AnnotationToValidationStrategyBeanNameMapper(
+ new CustomConfiguredAnnotationToValidationStrategyNameMapper()));
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new AnnotationToValidationStrategyBeanNameMapper(
+ new CustomConventionAnnotationToValidationStrategyNameMapper()));
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new AnnotationToValidationStrategyBeanNameMapper(
+ new DefaultAnnotationToValidationStrategyNameMapper()));
+ ExtValUtils.registerMetaDataToValidationStrategyNameMapper(
+ new AnnotationToValidationStrategyBeanNameMapper(
+ new SimpleAnnotationToValidationStrategyNameMapper()));
+
+ //register validation strategy to message resolver name mapper
+ ExtValUtils.registerValidationStrategyToMessageResolverNameMapper(
+ new CustomConfiguredValidationStrategyToMsgResolverNameMapper());
+ ExtValUtils.registerValidationStrategyToMessageResolverNameMapper(
+ new CustomConventionValidationStrategyToMsgResolverNameMapper());
+ ExtValUtils.registerValidationStrategyToMessageResolverNameMapper(
+ new DefaultValidationStrategyToMsgResolverNameMapper());
+ ExtValUtils.registerValidationStrategyToMessageResolverNameMapper(
+ new DefaultModuleValidationStrategyToMsgResolverNameMapper());
+ ExtValUtils.registerValidationStrategyToMessageResolverNameMapper(
+ new SimpleValidationStrategyToMsgResolverNameMapper());
+
+ //register validation strategy to metadata transformer name mapper
+ ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
+ new CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper());
+ ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
+ new CustomConventionValidationStrategyToMetaDataTransformerNameMapper());
+ ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
+ new DefaultValidationStrategyToMetaDataTransformerNameMapper());
+ ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
+ new SimpleValidationStrategyToMetaDataTransformerNameMapper());
+ ExtValUtils.registerValidationStrategyToMetaDataTransformerNameMapper(
+ new BeanValidationStrategyToMetaDataTransformerNameMapper());
+ }
+ private void executeCustomStartupListener()
+ {
String customStartupListenerName = ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.STARTUP_LISTENER);
AbstractStartupListener customStartupListener =
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java Sun Feb 1 20:32:42 2009
@@ -18,18 +18,9 @@
*/
package org.apache.myfaces.extensions.validator.core.validation.message.resolver;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.AbstractNameMapperAwareFactory;
import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.message.
- resolver.mapper.CustomConfiguredValidationStrategyToMsgResolverNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.message.
- resolver.mapper.CustomConventionValidationStrategyToMsgResolverNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.message.
- resolver.mapper.DefaultModuleValidationStrategyToMsgResolverNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.message.
- resolver.mapper.DefaultValidationStrategyToMsgResolverNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.message.
- resolver.mapper.SimpleValidationStrategyToMsgResolverNameMapper;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.initializer.configuration.StaticConfiguration;
import org.apache.myfaces.extensions.validator.core.initializer.configuration.StaticConfigurationEntry;
@@ -56,28 +47,13 @@
*/
@ToDo(value = Priority.MEDIUM, description = "add generic java api (de-/register mapping)")
@UsageInformation({UsageCategory.INTERNAL, UsageCategory.CUSTOMIZABLE})
-public class DefaultMessageResolverFactory implements
- ClassMappingFactory<ValidationStrategy, MessageResolver>
+public class DefaultMessageResolverFactory extends AbstractNameMapperAwareFactory<ValidationStrategy>
+ implements ClassMappingFactory<ValidationStrategy, MessageResolver>
{
protected final Log logger = LogFactory.getLog(getClass());
- private static Map<String, String> strategyMessageResolverMapping;
- private static List<NameMapper<ValidationStrategy>> nameMapperList =
- new ArrayList<NameMapper<ValidationStrategy>>();
-
- static
- {
- nameMapperList
- .add(new CustomConfiguredValidationStrategyToMsgResolverNameMapper());
- nameMapperList
- .add(new CustomConventionValidationStrategyToMsgResolverNameMapper());
- nameMapperList
- .add(new DefaultValidationStrategyToMsgResolverNameMapper());
- nameMapperList
- .add(new DefaultModuleValidationStrategyToMsgResolverNameMapper());
- nameMapperList
- .add(new SimpleValidationStrategyToMsgResolverNameMapper());
- }
+ private Map<String, String> strategyMessageResolverMapping;
+ private List<NameMapper<ValidationStrategy>> nameMapperList = new ArrayList<NameMapper<ValidationStrategy>>();
public DefaultMessageResolverFactory()
{
@@ -134,19 +110,16 @@
return new DefaultValidationErrorMessageResolver();
}
- private void initStaticMappings()
+ private synchronized void initStaticMappings()
{
- synchronized (DefaultMessageResolverFactory.class)
- {
- strategyMessageResolverMapping = new HashMap<String, String>();
+ strategyMessageResolverMapping = new HashMap<String, String>();
- //setup internal static mappings
- for (StaticConfiguration<String, String> staticConfig :
- ExtValContext.getContext().getStaticConfiguration(
- StaticConfigurationNames.VALIDATION_STRATEGY_TO_MESSAGE_RESOLVER_CONFIG))
- {
- setupStrategyMappings(staticConfig.getMapping());
- }
+ //setup internal static mappings
+ for (StaticConfiguration<String, String> staticConfig :
+ ExtValContext.getContext().getStaticConfiguration(
+ StaticConfigurationNames.VALIDATION_STRATEGY_TO_MESSAGE_RESOLVER_CONFIG))
+ {
+ setupStrategyMappings(staticConfig.getMapping());
}
}
@@ -159,7 +132,7 @@
}
@ToDo(value = Priority.MEDIUM, description = "logging")
- private void addMapping(String validationStrategyName, String messageResolverName)
+ private synchronized void addMapping(String validationStrategyName, String messageResolverName)
{
if(logger.isTraceEnabled())
{
@@ -167,9 +140,11 @@
+ validationStrategyName + " -> " + messageResolverName);
}
- synchronized (DefaultMessageResolverFactory.class)
- {
- strategyMessageResolverMapping.put(validationStrategyName, messageResolverName);
- }
+ strategyMessageResolverMapping.put(validationStrategyName, messageResolverName);
+ }
+
+ protected List<NameMapper<ValidationStrategy>> getNameMapperList()
+ {
+ return nameMapperList;
}
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java Sun Feb 1 20:32:42 2009
@@ -18,7 +18,8 @@
*/
package org.apache.myfaces.extensions.validator.core.validation.strategy;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.AbstractNameMapperAwareFactory;
import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.core.CustomInformation;
@@ -29,14 +30,6 @@
import org.apache.myfaces.extensions.validator.core.initializer.configuration.StaticResourceBundleConfiguration;
import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
.AnnotationToValidationStrategyBeanNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
- .CustomConfiguredAnnotationToValidationStrategyNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
- .CustomConventionAnnotationToValidationStrategyNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
- .DefaultAnnotationToValidationStrategyNameMapper;
-import org.apache.myfaces.extensions.validator.core.validation.strategy.mapper
- .SimpleAnnotationToValidationStrategyNameMapper;
import org.apache.myfaces.extensions.validator.util.ClassUtils;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.internal.ToDo;
@@ -59,38 +52,14 @@
* @author Gerhard Petracek
* @since 1.x.1
*/
-@ToDo(value = Priority.MEDIUM, description = "add generic java api (de-/register mapping)")
@UsageInformation({UsageCategory.INTERNAL, UsageCategory.CUSTOMIZABLE})
-public class DefaultValidationStrategyFactory implements ClassMappingFactory<String, ValidationStrategy>
+public class DefaultValidationStrategyFactory extends AbstractNameMapperAwareFactory
+ implements ClassMappingFactory<String, ValidationStrategy>
{
protected final Log logger = LogFactory.getLog(getClass());
- private static Map<String, String> metaDataKeyToValidationStrategyMapping = null;
- private static List<NameMapper<String>> metaDataKeyToValidationStrategyNameMapperList =
- new ArrayList<NameMapper<String>>();
-
- static
- {
- metaDataKeyToValidationStrategyNameMapperList
- .add(new CustomConfiguredAnnotationToValidationStrategyNameMapper());
- metaDataKeyToValidationStrategyNameMapperList
- .add(new CustomConventionAnnotationToValidationStrategyNameMapper());
- metaDataKeyToValidationStrategyNameMapperList
- .add(new DefaultAnnotationToValidationStrategyNameMapper());
- metaDataKeyToValidationStrategyNameMapperList
- .add(new SimpleAnnotationToValidationStrategyNameMapper());
-
- metaDataKeyToValidationStrategyNameMapperList
- .add(new AnnotationToValidationStrategyBeanNameMapper(
- new CustomConfiguredAnnotationToValidationStrategyNameMapper()));
- metaDataKeyToValidationStrategyNameMapperList
- .add(new AnnotationToValidationStrategyBeanNameMapper(
- new CustomConventionAnnotationToValidationStrategyNameMapper()));
- metaDataKeyToValidationStrategyNameMapperList.add(new AnnotationToValidationStrategyBeanNameMapper(
- new DefaultAnnotationToValidationStrategyNameMapper()));
- metaDataKeyToValidationStrategyNameMapperList.add(new AnnotationToValidationStrategyBeanNameMapper(
- new SimpleAnnotationToValidationStrategyNameMapper()));
- }
+ private Map<String, String> metaDataKeyToValidationStrategyMapping = null;
+ private List<NameMapper<String>> nameMapperList = new ArrayList<NameMapper<String>>();
public DefaultValidationStrategyFactory()
{
@@ -115,7 +84,7 @@
ValidationStrategy validationStrategy;
String strategyName;
//null -> use name mappers
- for (NameMapper<String> nameMapper : metaDataKeyToValidationStrategyNameMapperList)
+ for (NameMapper<String> nameMapper : nameMapperList)
{
strategyName = nameMapper.createName(metaDataKey);
@@ -150,7 +119,7 @@
}
@ToDo(value = Priority.MEDIUM, description = "logging")
- private void addMapping(String metaDataKey, String validationStrategyName)
+ private synchronized void addMapping(String metaDataKey, String validationStrategyName)
{
if(logger.isTraceEnabled())
{
@@ -158,56 +127,50 @@
+ metaDataKey + " -> " + validationStrategyName);
}
- synchronized (DefaultValidationStrategyFactory.class)
- {
- metaDataKeyToValidationStrategyMapping.put(metaDataKey, validationStrategyName);
- }
+ metaDataKeyToValidationStrategyMapping.put(metaDataKey, validationStrategyName);
}
@ToDo(value = Priority.MEDIUM, description = "logging")
- private void initStaticMappings()
+ private synchronized void initStaticMappings()
{
- synchronized (DefaultValidationStrategyFactory.class)
+ metaDataKeyToValidationStrategyMapping = new HashMap<String, String>();
+
+ //setup internal static mappings
+ for (StaticConfiguration<String, String> staticConfig :
+ ExtValContext.getContext().getStaticConfiguration(
+ StaticConfigurationNames.META_DATA_TO_VALIDATION_STRATEGY_CONFIG))
{
- metaDataKeyToValidationStrategyMapping = new HashMap<String, String>();
+ setupStrategyMappings(staticConfig.getMapping());
+ }
- //setup internal static mappings
- for (StaticConfiguration<String, String> staticConfig :
- ExtValContext.getContext().getStaticConfiguration(
- StaticConfigurationNames.META_DATA_TO_VALIDATION_STRATEGY_CONFIG))
- {
- setupStrategyMappings(staticConfig.getMapping());
- }
+ StaticConfiguration<String, String> staticConfig = new StaticResourceBundleConfiguration();
+ //try to setup mapping with base name by convention - overrides default mapping
+ try
+ {
+ //build convention (strategy mapping)
+ staticConfig.setSourceOfMapping(ExtValContext.getContext().getInformationProviderBean()
+ .get(CustomInformation.STATIC_STRATEGY_MAPPING_SOURCE));
- StaticConfiguration<String, String> staticConfig = new StaticResourceBundleConfiguration();
- //try to setup mapping with base name by convention - overrides default mapping
+ setupStrategyMappings(staticConfig.getMapping());
+ }
+ catch (Throwable t)
+ {
+ //do nothing - it was just a try
+ }
+
+ //setup custom mapping - overrides all other mappings
+ String customMappingBaseName = WebXmlParameter.CUSTOM_STATIC_VALIDATION_STRATEGY_MAPPING;
+ if (customMappingBaseName != null)
+ {
try
{
- //build convention (strategy mapping)
- staticConfig.setSourceOfMapping(ExtValContext.getContext().getInformationProviderBean()
- .get(CustomInformation.STATIC_STRATEGY_MAPPING_SOURCE));
-
+ staticConfig = new StaticResourceBundleConfiguration();
+ staticConfig.setSourceOfMapping(customMappingBaseName);
setupStrategyMappings(staticConfig.getMapping());
}
- catch (Throwable t)
+ catch (MissingResourceException e)
{
- //do nothing - it was just a try
- }
-
- //setup custom mapping - overrides all other mappings
- String customMappingBaseName = WebXmlParameter.CUSTOM_STATIC_VALIDATION_STRATEGY_MAPPING;
- if (customMappingBaseName != null)
- {
- try
- {
- staticConfig = new StaticResourceBundleConfiguration();
- staticConfig.setSourceOfMapping(customMappingBaseName);
- setupStrategyMappings(staticConfig.getMapping());
- }
- catch (MissingResourceException e)
- {
- e.printStackTrace();
- }
+ e.printStackTrace();
}
}
}
@@ -219,4 +182,9 @@
addMapping(mapping.getSource(), mapping.getTarget());
}
}
+
+ protected List<NameMapper<String>> getNameMapperList()
+ {
+ return this.nameMapperList;
+ }
}
Copied: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractMetaDataToValidationStrategyNameMapper.java (from r739819, myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractAnnotationToValidationStrategyNameMapper.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractMetaDataToValidationStrategyNameMapper.java?p2=myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractMetaDataToValidationStrategyNameMapper.java&p1=myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractAnnotationToValidationStrategyNameMapper.java&r1=739819&r2=739828&rev=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractAnnotationToValidationStrategyNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AbstractMetaDataToValidationStrategyNameMapper.java Sun Feb 1 20:32:42 2009
@@ -29,11 +29,11 @@
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public abstract class AbstractAnnotationToValidationStrategyNameMapper implements NameMapper<String>
+public abstract class AbstractMetaDataToValidationStrategyNameMapper implements NameMapper<String>
{
protected final Log logger = LogFactory.getLog(getClass());
- public AbstractAnnotationToValidationStrategyNameMapper()
+ public AbstractMetaDataToValidationStrategyNameMapper()
{
if(logger.isDebugEnabled())
{
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AnnotationToValidationStrategyBeanNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AnnotationToValidationStrategyBeanNameMapper.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AnnotationToValidationStrategyBeanNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/AnnotationToValidationStrategyBeanNameMapper.java Sun Feb 1 20:32:42 2009
@@ -36,7 +36,7 @@
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public class AnnotationToValidationStrategyBeanNameMapper extends AbstractAnnotationToValidationStrategyNameMapper
+public class AnnotationToValidationStrategyBeanNameMapper extends AbstractMetaDataToValidationStrategyNameMapper
{
public static final String PREFIX_FOR_BEAN_MAPPING = "bean:";
private NameMapper<String> wrapped;
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/DefaultAnnotationToValidationStrategyNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/DefaultAnnotationToValidationStrategyNameMapper.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/DefaultAnnotationToValidationStrategyNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/DefaultAnnotationToValidationStrategyNameMapper.java Sun Feb 1 20:32:42 2009
@@ -29,7 +29,7 @@
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public class DefaultAnnotationToValidationStrategyNameMapper extends AbstractAnnotationToValidationStrategyNameMapper
+public class DefaultAnnotationToValidationStrategyNameMapper extends AbstractMetaDataToValidationStrategyNameMapper
{
public String createName(String metaDataKey)
{
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/SimpleAnnotationToValidationStrategyNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/SimpleAnnotationToValidationStrategyNameMapper.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/SimpleAnnotationToValidationStrategyNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/SimpleAnnotationToValidationStrategyNameMapper.java Sun Feb 1 20:32:42 2009
@@ -30,7 +30,7 @@
* @since 1.x.1
*/
@UsageInformation({UsageCategory.INTERNAL})
-public class SimpleAnnotationToValidationStrategyNameMapper extends AbstractAnnotationToValidationStrategyNameMapper
+public class SimpleAnnotationToValidationStrategyNameMapper extends AbstractMetaDataToValidationStrategyNameMapper
{
public String createName(String metaDataKey)
{
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Sun Feb 1 20:32:42 2009
@@ -22,8 +22,9 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.validation.message.resolver.MessageResolver;
-import org.apache.myfaces.extensions.validator.core.mapper.ClassMappingFactory;
+import org.apache.myfaces.extensions.validator.core.factory.ClassMappingFactory;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
import org.apache.myfaces.extensions.validator.core.interceptor.ValidationExceptionInterceptor;
import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
@@ -36,6 +37,7 @@
import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.factory.NameMapperAwareFactory;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -66,6 +68,33 @@
.create(metaDataKey);
}
+ public static void registerMetaDataToValidationStrategyNameMapper(
+ NameMapper<String> metaDataToValidationStrategyNameMapper)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.VALIDATION_STRATEGY_FACTORY, NameMapperAwareFactory.class))
+ .register(metaDataToValidationStrategyNameMapper);
+ }
+
+ public static void deregisterMetaDataToValidationStrategyNameMapper(
+ Class<? extends NameMapper> metaDataToValidationStrategyNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.VALIDATION_STRATEGY_FACTORY, NameMapperAwareFactory.class))
+ .deregister(metaDataToValidationStrategyNameMapperClass);
+ }
+
+ public static void denyMetaDataToValidationStrategyNameMapper(
+ Class<? extends NameMapper> metaDataToValidationStrategyNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.VALIDATION_STRATEGY_FACTORY, NameMapperAwareFactory.class))
+ .deny(metaDataToValidationStrategyNameMapperClass);
+ }
+
public static MetaDataTransformer getMetaDataTransformerForValidationStrategy(ValidationStrategy validationStrategy)
{
return ((ClassMappingFactory<ValidationStrategy, MetaDataTransformer>) ExtValContext
@@ -74,6 +103,33 @@
.create(validationStrategy);
}
+ public static void registerValidationStrategyToMetaDataTransformerNameMapper(
+ NameMapper<ValidationStrategy> validationStrategyToMetaDataTransformerNameMapper)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.META_DATA_TRANSFORMER_FACTORY, NameMapperAwareFactory.class))
+ .register(validationStrategyToMetaDataTransformerNameMapper);
+ }
+
+ public static void deregisterValidationStrategyToMetaDataTransformerNameMapper(
+ Class<? extends NameMapper> validationStrategyToMetaDataTransformerNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.META_DATA_TRANSFORMER_FACTORY, NameMapperAwareFactory.class))
+ .deregister(validationStrategyToMetaDataTransformerNameMapperClass);
+ }
+
+ public static void denyValidationStrategyToMetaDataTransformerNameMapper(
+ Class<? extends NameMapper> validationStrategyToMetaDataTransformerNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.META_DATA_TRANSFORMER_FACTORY, NameMapperAwareFactory.class))
+ .deny(validationStrategyToMetaDataTransformerNameMapperClass);
+ }
+
public static MetaDataExtractor getComponentMetaDataExtractor()
{
return ExtValContext.getContext().getFactoryFinder()
@@ -120,6 +176,33 @@
.create(validationStrategy);
}
+ public static void registerValidationStrategyToMessageResolverNameMapper(
+ NameMapper<ValidationStrategy> validationStrategyToMsgResolverNameMapper)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.MESSAGE_RESOLVER_FACTORY, NameMapperAwareFactory.class))
+ .register(validationStrategyToMsgResolverNameMapper);
+ }
+
+ public static void deregisterValidationStrategyToMessageResolverNameMapper(
+ Class<? extends NameMapper> validationStrategyToMessageResolverNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.MESSAGE_RESOLVER_FACTORY, NameMapperAwareFactory.class))
+ .deregister(validationStrategyToMessageResolverNameMapperClass);
+ }
+
+ public static void denyValidationStrategyToMessageResolverNameMapper(
+ Class<? extends NameMapper> validationStrategyToMessageResolverNameMapperClass)
+ {
+ (ExtValContext.getContext()
+ .getFactoryFinder()
+ .getFactory(FactoryNames.MESSAGE_RESOLVER_FACTORY, NameMapperAwareFactory.class))
+ .deny(validationStrategyToMessageResolverNameMapperClass);
+ }
+
public static ELHelper getELHelper()
{
return ExtValContext.getContext().getFactoryFinder()
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/AbstractExValViewControllerTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/AbstractExValViewControllerTestCase.java?rev=739828&r1=739827&r2=739828&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/AbstractExValViewControllerTestCase.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/AbstractExValViewControllerTestCase.java Sun Feb 1 20:32:42 2009
@@ -37,6 +37,7 @@
import junit.framework.TestCase;
import org.apache.myfaces.extensions.validator.core.renderkit.DefaultRenderKitWrapperFactory;
+import org.apache.myfaces.extensions.validator.core.startup.ExtValStartupListener;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationPhaseListener;
import org.apache.myfaces.extensions.validator.util.TestUtils;
import org.apache.myfaces.shared_impl.config.MyfacesConfig;
@@ -146,14 +147,22 @@
renderKitFactory.addRenderKit("HTML_BASIC", renderKit);
// additional setup not provided automatically by the shale mock stuff
- facesContext.getExternalContext().getApplicationMap().put(
- MyfacesConfig.class.getName(), new MyfacesConfig());
+ facesContext.getExternalContext().getApplicationMap().put(MyfacesConfig.class.getName(), new MyfacesConfig());
writer = new MockResponseWriter(new StringWriter(), null, null);
facesContext.setResponseWriter(writer);
TestUtils.addDefaultRenderers(facesContext);
TestUtils.addDefaultValidators(facesContext);
-
+
+ //execute startup listener
+ new ExtValStartupListener() {
+ @Override
+ protected void init()
+ {
+ super.init();
+ }
+ }.init();
+
new PropertyValidationModuleStartupListener().init();
}