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 2010/07/13 16:23:42 UTC

svn commit: r963722 [2/4] - in /myfaces/extensions/validator/branches/branch_for_extval-100/test-modules: ./ base-test-infrastructure/src/test/java/org/apache/myfaces/extensions/validator/test/base/ base-test-infrastructure/src/test/java/org/apache/myf...

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,136 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
+import org.apache.myfaces.extensions.validator.core.storage.DefaultMetaDataStorage;
+import org.apache.myfaces.extensions.validator.core.storage.MetaDataStorageFilter;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.lang.reflect.Field;
+import java.util.List;
+
+public class ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomMetaDataStorageFilter implements
+            MetaDataStorageFilter
+    {
+
+        public void filter(PropertyInformation propertyInformation)
+        {
+
+        }
+
+    }
+
+    public static class Custom2MetaDataStorageFilter implements
+            MetaDataStorageFilter
+    {
+
+        public void filter(PropertyInformation propertyInformation)
+        {
+
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_META_DATA_STORAGE_FILTER",
+                    CustomMetaDataStorageFilter.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customMetaDataStorageFilterClassName()
+                {
+                    return Custom2MetaDataStorageFilter.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomMetaDataStorageFilterClassNameDefault()
+            throws Exception
+    {
+        DefaultMetaDataStorage metaDataStorage = new DefaultMetaDataStorage();
+        // A little reflection stuff because filters can not be exposed in any
+        // way.
+        Field field = DefaultMetaDataStorage.class
+                .getDeclaredField("metaDataStorageFilters");
+        field.setAccessible(true);
+        Object data = field.get(metaDataStorage);
+        assertNotNull(data);
+        List<MetaDataStorageFilter> metaDataStorageFilters = (List<MetaDataStorageFilter>) data;
+        assertEquals(0, metaDataStorageFilters.size());
+    }
+
+    public void testCustomMetaDataStorageFilterClassNameWebXml()
+            throws Exception
+    {
+        DefaultMetaDataStorage metaDataStorage = new DefaultMetaDataStorage();
+        // A little reflection stuff because filters can not be exposed in any
+        // way.
+        Field field = DefaultMetaDataStorage.class
+                .getDeclaredField("metaDataStorageFilters");
+        field.setAccessible(true);
+        Object data = field.get(metaDataStorage);
+        assertNotNull(data);
+        List<MetaDataStorageFilter> metaDataStorageFilters = (List<MetaDataStorageFilter>) data;
+        assertEquals(1, metaDataStorageFilters.size());
+        assertEquals(CustomMetaDataStorageFilter.class.getName(),
+                metaDataStorageFilters.get(0).getClass().getName());
+    }
+
+    public void testCustomMetaDataStorageFilterClassNameCustomConfig()
+            throws Exception
+    {
+        DefaultMetaDataStorage metaDataStorage = new DefaultMetaDataStorage();
+        // A little reflection stuff because filters can not be exposed in any
+        // way.
+        Field field = DefaultMetaDataStorage.class
+                .getDeclaredField("metaDataStorageFilters");
+        field.setAccessible(true);
+        Object data = field.get(metaDataStorage);
+        assertNotNull(data);
+        List<MetaDataStorageFilter> metaDataStorageFilters = (List<MetaDataStorageFilter>) data;
+        assertEquals(1, metaDataStorageFilters.size());
+        assertEquals(Custom2MetaDataStorageFilter.class.getName(),
+                metaDataStorageFilters.get(0).getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomMetaDataStorageFilterClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,135 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.factory.NameMapperAwareFactory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockValidationStrategyFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.util.List;
+
+public class ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    private static final String WEB_XML = "Web.xml";
+    private static final String CUSTOM_CONFIG = "Custom Config";
+
+    public ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomNameMapper implements NameMapper<String>
+    {
+
+        public String createName(String source)
+        {
+            return WEB_XML;
+        }
+
+    }
+
+    public static class Custom2NameMapper implements NameMapper<String>
+    {
+
+        public String createName(String source)
+        {
+            return CUSTOM_CONFIG;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_META_DATA_TO_VALIDATION_STRATEGY_NAME_MAPPER",
+                    CustomNameMapper.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customMetaDataToValidationStrategyNameMapperClassName()
+                {
+                    return Custom2NameMapper.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomMetaDataToValidationStrategyNameMapperClassNameDefault()
+    {
+        List<NameMapper<String>> nameMappers = getNameMappers();
+        assertEquals(8, nameMappers.size());
+        // The first one (due to @InvocationOrder) is the
+        // CustomConfiguredAnnotationToValidationStrategyNameMapper which we can
+        // customize and testing here.
+        NameMapper<String> mapper = nameMappers.get(0);
+        // By default nothing is configures so should return null.
+        assertNull(mapper.createName(null));
+
+    }
+
+    public void testCustomMetaDataToValidationStrategyNameMapperClassNameWebXml()
+    {
+        List<NameMapper<String>> nameMappers = getNameMappers();
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+        assertEquals(8, nameMappers.size());
+        NameMapper<String> mapper = nameMappers.get(0);
+        // So now it should return some value.
+        assertEquals(WEB_XML, mapper.createName(null));
+    }
+
+    public void testCustomMetaDataToValidationStrategyNameMapperClassNameCustomConfig()
+    {
+        List<NameMapper<String>> nameMappers = getNameMappers();
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+        assertEquals(8, nameMappers.size());
+        NameMapper<String> mapper = nameMappers.get(0);
+        // So now it should return some value.
+        assertEquals(CUSTOM_CONFIG, mapper.createName(null));
+    }
+
+    private List<NameMapper<String>> getNameMappers()
+    {
+        NameMapperAwareFactory result = ExtValContext.getContext()
+                .getFactoryFinder().getFactory(
+                        FactoryNames.VALIDATION_STRATEGY_FACTORY,
+                        NameMapperAwareFactory.class);
+
+        return ((MockValidationStrategyFactory) result)
+                .getRegisteredNameMapperList();
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomMetaDataToValidationStrategyNameMapperClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,77 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.factory.DefaultFactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.DefaultMetaDataTransformerFactory;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockMetaDataTransformerFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomMetaDataTransformerFactory extends
+            DefaultMetaDataTransformerFactory
+    {
+
+    }
+
+    public static class Custom2MetaDataTransformerFactory extends
+            DefaultMetaDataTransformerFactory
+    {
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_META_DATA_TRANSFORMER_FACTORY",
+                    CustomMetaDataTransformerFactory.class.getName());
+
+        }
+    }
+
+    public void testCustomMetaDataTransformerFactoryClassNameDefault()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.META_DATA_TRANSFORMER_FACTORY, Object.class);
+
+        // The TestCase setup registers a Mockfactory so that a protected method
+        // is made visible.
+        // assertEquals(DefaultMetaDataTransformerFactory.class.getName(),
+        // factory
+        // .getClass().getName());
+        assertEquals(MockMetaDataTransformerFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public void testCustomMetaDataTransformerFactoryClassNameWebXml()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.META_DATA_TRANSFORMER_FACTORY, Object.class);
+
+        assertEquals(CustomMetaDataTransformerFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomMetaDataTransformerFactoryClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,96 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.interceptor.PropertyValidationInterceptor;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.List;
+import java.util.Map;
+
+public class ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomPropertyValidationInterceptor implements
+            PropertyValidationInterceptor
+    {
+
+        public void afterValidation(FacesContext facesContext,
+                                    UIComponent uiComponent, Object convertedObject,
+                                    Map<String, Object> properties)
+        {
+
+        }
+
+        public boolean beforeValidation(FacesContext facesContext,
+                                        UIComponent uiComponent, Object convertedObject,
+                                        Map<String, Object> properties)
+        {
+            return false;
+        }
+
+    }
+
+    public static class Custom2PropertyValidationInterceptor implements
+            PropertyValidationInterceptor
+    {
+
+        public void afterValidation(FacesContext facesContext,
+                                    UIComponent uiComponent, Object convertedObject,
+                                    Map<String, Object> properties)
+        {
+
+        }
+
+        public boolean beforeValidation(FacesContext facesContext,
+                                        UIComponent uiComponent, Object convertedObject,
+                                        Map<String, Object> properties)
+        {
+            return false;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_PROPERTY_VALIDATION_INTERCEPTOR",
+                    CustomPropertyValidationInterceptor.class.getName());
+        }
+    }
+
+    public void testCustomPropertyValidationInterceptorClassNameDefault()
+    {
+        assertEquals(1, ExtValContext.getContext()
+                .getPropertyValidationInterceptors().size());
+    }
+
+    public void testCustomPropertyValidationInterceptorClassNameWebXml()
+    {
+        List<PropertyValidationInterceptor> data = ExtValContext.getContext()
+                .getPropertyValidationInterceptors();
+        assertEquals(2, data.size());
+        assertEquals(CustomPropertyValidationInterceptor.class.getName(), data
+                .get(1).getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomPropertyValidationInterceptorClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,115 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.DefaultValidationStrategyFactory;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+public class ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+
+    public ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationStrategy implements ValidationStrategy
+    {
+
+        public void validate(FacesContext facesContext,
+                             UIComponent uiComponent, MetaDataEntry metaDataEntry,
+                             Object convertedObject)
+        {
+
+        }
+
+    }
+
+    public static class Custom2ValidationStrategy implements ValidationStrategy
+    {
+
+        public void validate(FacesContext facesContext,
+                             UIComponent uiComponent, MetaDataEntry metaDataEntry,
+                             Object convertedObject)
+        {
+
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(
+                    ExtValInformation.WEBXML_PARAM_PREFIX
+                            + ".CUSTOM_STATIC_VALIDATION_STRATEGY_MAPPING",
+                    "org.apache.myfaces.extensions.validator.core.config.ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCaseWebXml");
+
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customStaticValidationStrategyMappingSource()
+                {
+                    return "org.apache.myfaces.extensions.validator.core.config.ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCaseCustomConfig";
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomStaticValidationStrategyMappingSourceDefault()
+    {
+        DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
+        // Something that isn't available, so should return null.
+        assertNull(validationStrategyFactory.create("UnitTest"));
+    }
+
+    public void testCustomStaticValidationStrategyMappingSourceWebXml()
+    {
+        DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
+        assertEquals(CustomValidationStrategy.class.getName(),
+                validationStrategyFactory.create("UnitTest").getClass()
+                        .getName());
+    }
+
+    public void testCustomStaticValidationStrategyMappingSourceCustomConfig()
+    {
+        DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
+        assertEquals(Custom2ValidationStrategy.class.getName(),
+                validationStrategyFactory.create("UnitTest").getClass()
+                        .getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,104 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.DefaultFactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.storage.DefaultStorageManagerFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomDefaultStorageManagerFactory extends
+            DefaultStorageManagerFactory
+    {
+
+    }
+
+    public static class Custom2DefaultStorageManagerFactory extends
+            DefaultStorageManagerFactory
+    {
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_STORAGE_MANAGER_FACTORY",
+                    CustomDefaultStorageManagerFactory.class.getName());
+
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customStorageManagerFactoryClassName()
+                {
+
+                    return Custom2DefaultStorageManagerFactory.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomStorageManagerFactoryClassNameDefault()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.STORAGE_MANAGER_FACTORY, Object.class);
+        assertEquals(DefaultStorageManagerFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public void testCustomStorageManagerFactoryClassNameWebXml()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.STORAGE_MANAGER_FACTORY, Object.class);
+        assertEquals(CustomDefaultStorageManagerFactory.class.getName(),
+                factory.getClass().getName());
+    }
+
+    public void testCustomStorageManagerFactoryClassNameCustomConfig()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.STORAGE_MANAGER_FACTORY, Object.class);
+        assertEquals(Custom2DefaultStorageManagerFactory.class.getName(),
+                factory.getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomStorageManagerFactoryClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,73 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.interceptor.ValidationExceptionInterceptor;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import javax.faces.component.UIComponent;
+import javax.faces.validator.ValidatorException;
+import java.util.List;
+
+public class ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+
+    public ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationExceptionInterceptor implements
+            ValidationExceptionInterceptor
+    {
+
+        public boolean afterThrowing(UIComponent uiComponent,
+                                     MetaDataEntry metaDataEntry, Object convertedObject,
+                                     ValidatorException validatorException,
+                                     ValidationStrategy validatorExceptionSource)
+        {
+            return false;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_VALIDATION_EXCEPTION_INTERCEPTOR",
+                    CustomValidationExceptionInterceptor.class.getName());
+
+        }
+    }
+
+    public void testCustomValidationExceptionInterceptorClassNameDefault()
+    {
+        assertEquals(2, ExtValContext.getContext()
+                .getValidationExceptionInterceptors().size());
+    }
+
+    public void testCustomValidationExceptionInterceptorClassNameWebXml()
+    {
+        List<ValidationExceptionInterceptor> data = ExtValContext.getContext()
+                .getValidationExceptionInterceptors();
+        assertEquals(3, data.size());
+        assertEquals(CustomValidationExceptionInterceptor.class.getName(), data
+                .get(2).getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationExceptionInterceptorClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,146 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DefaultValidationParameterExtractor;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DefaultValidationParameterExtractorFactory;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractor;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractorFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+import java.util.Map;
+
+public class ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+
+    public ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationParameterExtractor implements
+            ValidationParameterExtractor
+    {
+
+        public Map<Object, List<Object>> extract(Annotation annotation)
+        {
+            return null;
+        }
+
+        public List<Object> extract(Annotation annotation, Object key)
+        {
+            return null;
+        }
+
+        public <T> List<T> extract(Annotation annotation, Object key,
+                                   Class<T> valueType)
+        {
+            return null;
+        }
+
+        public <T> T extract(Annotation annotation, Object key,
+                             Class<T> valueType, Class valueId)
+        {
+            return null;
+        }
+
+    }
+
+    public static class Custom2ValidationParameterExtractor implements
+            ValidationParameterExtractor
+    {
+
+        public Map<Object, List<Object>> extract(Annotation annotation)
+        {
+            return null;
+        }
+
+        public List<Object> extract(Annotation annotation, Object key)
+        {
+            return null;
+        }
+
+        public <T> List<T> extract(Annotation annotation, Object key,
+                                   Class<T> valueType)
+        {
+            return null;
+        }
+
+        public <T> T extract(Annotation annotation, Object key,
+                             Class<T> valueType, Class valueId)
+        {
+            return null;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_VALIDATION_PARAMETER_EXTRACTOR",
+                    CustomValidationParameterExtractor.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customValidationParameterExtractorClassName()
+                {
+                    return Custom2ValidationParameterExtractor.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomValidationParameterExtractorClassNameDefault()
+    {
+        ValidationParameterExtractorFactory factory = new DefaultValidationParameterExtractorFactory();
+        assertEquals(DefaultValidationParameterExtractor.class.getName(),
+                factory.create().getClass().getName());
+
+    }
+
+    public void testCustomValidationParameterExtractorClassNameWebXml()
+    {
+        ValidationParameterExtractorFactory factory = new DefaultValidationParameterExtractorFactory();
+        assertEquals(CustomValidationParameterExtractor.class.getName(),
+                factory.create().getClass().getName());
+    }
+
+    public void testCustomValidationParameterExtractorClassNameCustomConfig()
+    {
+        ValidationParameterExtractorFactory factory = new DefaultValidationParameterExtractorFactory();
+        assertEquals(Custom2ValidationParameterExtractor.class.getName(),
+                factory.create().getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationParameterExtractorClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,122 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.DefaultFactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DefaultValidationParameterExtractorFactory;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractor;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameterExtractorFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationParameterExtractorFactory implements
+            ValidationParameterExtractorFactory
+    {
+
+        public ValidationParameterExtractor create()
+        {
+            return null;
+        }
+
+    }
+
+    public static class Custom2ValidationParameterExtractorFactory implements
+            ValidationParameterExtractorFactory
+    {
+
+        public ValidationParameterExtractor create()
+        {
+            return null;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_VALIDATION_PARAMETER_EXTRACTOR_FACTORY",
+                    CustomValidationParameterExtractorFactory.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customValidationParameterExtractorFactoryClassName()
+                {
+                    return Custom2ValidationParameterExtractorFactory.class
+                            .getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomValidationParameterExtractorFactoryClassNameDefault()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_EXTRACTOR_FACTORY,
+                Object.class);
+        assertEquals(
+                DefaultValidationParameterExtractorFactory.class.getName(),
+                factory.getClass().getName());
+
+    }
+
+    public void testCustomValidationParameterExtractorFactoryClassNameWebXml()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_EXTRACTOR_FACTORY,
+                Object.class);
+        assertEquals(CustomValidationParameterExtractorFactory.class.getName(),
+                factory.getClass().getName());
+    }
+
+    public void testCustomValidationParameterExtractorFactoryClassNameCustomConfig()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_EXTRACTOR_FACTORY,
+                Object.class);
+        assertEquals(
+                Custom2ValidationParameterExtractorFactory.class.getName(),
+                factory.getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationParameterExtractorFactoryClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,106 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.DefaultFactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DefaultValidationParameterFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationParameterFactory extends
+            DefaultValidationParameterFactory
+    {
+
+    }
+
+    public static class Custom2ValidationParameterFactory extends
+            DefaultValidationParameterFactory
+    {
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            {
+
+                addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                        + ".CUSTOM_VALIDATION_PARAMETER_FACTORY",
+                        CustomValidationParameterFactory.class.getName());
+            }
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customValidationParameterFactoryClassName()
+                {
+                    return Custom2ValidationParameterFactory.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomValidationParameterFactoryClassNameDefault()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_FACTORY, Object.class);
+        assertEquals(DefaultValidationParameterFactory.class.getName(), factory
+                .getClass().getName());
+
+    }
+
+    public void testCustomValidationParameterFactoryClassNameWebXml()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_FACTORY, Object.class);
+        assertEquals(CustomValidationParameterFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public void testCustomValidationParameterFactoryClassNameCustomConfig()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_PARAMETER_FACTORY, Object.class);
+        assertEquals(Custom2ValidationParameterFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationParameterFactoryClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,70 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.factory.DefaultFactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryFinder;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.DefaultValidationStrategyFactory;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockValidationStrategyFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomValidationStrategyFactory extends
+            DefaultValidationStrategyFactory
+    {
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".CUSTOM_VALIDATION_STRATEGY_FACTORY",
+                    CustomValidationStrategyFactory.class.getName());
+
+        }
+    }
+
+    public void testCustomValidationStrategyFactoryClassNameDefault()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_STRATEGY_FACTORY, Object.class);
+        // The testcase install a MockFactory for it that exposes some protected
+        // information
+        // assertEquals(DefaultValidationStrategyFactory.class.getName(),
+        // factory
+        // .getClass().getName());
+        assertEquals(MockValidationStrategyFactory.class.getName(), factory
+                .getClass().getName());
+
+    }
+
+    public void testCustomValidationStrategyFactoryClassNameWebXml()
+    {
+        FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
+        Object factory = factoryFinder.getFactory(
+                FactoryNames.VALIDATION_STRATEGY_FACTORY, Object.class);
+        assertEquals(CustomValidationStrategyFactory.class.getName(), factory
+                .getClass().getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationStrategyFactoryClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,143 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.factory.NameMapperAwareFactory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockMessageResolverFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.util.List;
+
+public class ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+
+    private static final String WEB_XML = "Web.xml";
+    private static final String CUSTOM_CONFIG = "Custom Config";
+
+    public ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomNameMapper implements
+            NameMapper<ValidationStrategy>
+    {
+
+        public String createName(ValidationStrategy source)
+        {
+            return WEB_XML;
+        }
+
+    }
+
+    public static class Custom2NameMapper implements
+            NameMapper<ValidationStrategy>
+    {
+
+        public String createName(ValidationStrategy source)
+        {
+            return CUSTOM_CONFIG;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(
+                    ExtValInformation.WEBXML_PARAM_PREFIX
+                            + ".CUSTOM_VALIDATION_STRATEGY_TO_MESSAGE_RESOLVER_NAME_MAPPER",
+                    CustomNameMapper.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customValidationStrategyToMessageResolverNameMapperClassName()
+                {
+                    return Custom2NameMapper.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomValidationStrategyToMessageResolverNameMapperClassNameDefault()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(5, nameMappers.size());
+        // The first one (due to @InvocationOrder) is the
+        // CustomConfiguredValidationStrategyToMsgResolverNameMapper which we
+        // can
+        // customize and testing here.
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // By default nothing is configures so should return null.
+        assertNull(mapper.createName(null));
+
+    }
+
+    public void testCustomValidationStrategyToMessageResolverNameMapperClassNameWebXml()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(5, nameMappers.size());
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // So now it should return some value
+        assertEquals(WEB_XML, mapper.createName(null));
+    }
+
+    public void testCustomValidationStrategyToMessageResolverNameMapperClassNameCustomConfig()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(5, nameMappers.size());
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // So now it should return some value
+        assertEquals(CUSTOM_CONFIG, mapper.createName(null));
+    }
+
+    private List<NameMapper<ValidationStrategy>> getNameMappers()
+    {
+        NameMapperAwareFactory result = ExtValContext.getContext()
+                .getFactoryFinder().getFactory(
+                        FactoryNames.MESSAGE_RESOLVER_FACTORY,
+                        NameMapperAwareFactory.class);
+
+        return ((MockMessageResolverFactory) result)
+                .getRegisteredNameMapperList();
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationStrategyToMessageResolverNameMapperClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,139 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.factory.NameMapperAwareFactory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockMetaDataTransformerFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.util.List;
+
+public class ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    private static final String WEB_XML = "Web.xml";
+    private static final String CUSTOM_CONFIG = "Custom Config";
+
+    public ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomNameMapper implements
+            NameMapper<ValidationStrategy>
+    {
+
+        public String createName(ValidationStrategy source)
+        {
+            return WEB_XML;
+        }
+
+    }
+
+    public static class Custom2NameMapper implements
+            NameMapper<ValidationStrategy>
+    {
+
+        public String createName(ValidationStrategy source)
+        {
+            return CUSTOM_CONFIG;
+        }
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(
+                    ExtValInformation.WEBXML_PARAM_PREFIX
+                            + ".CUSTOM_VALIDATION_STRATEGY_TO_META_DATA_TRANSFORMER_NAME_MAPPER",
+                    CustomNameMapper.class.getName());
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public String customValidationStrategyToMetaDataTransformerNameMapperClassName()
+                {
+
+                    return Custom2NameMapper.class.getName();
+                }
+
+            }, true);
+        }
+    }
+
+    public void testCustomValidationStrategyToMetaDataTransformerNameMapperClassNameDefault()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(6, nameMappers.size());
+        // The first one (due to @InvocationOrder) is the
+        // CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper
+        // which we can customize and testing here.
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // By default nothing is configures so should return null.
+        assertNull(mapper.createName(null));
+    }
+
+    public void testCustomValidationStrategyToMetaDataTransformerNameMapperClassNameWebXml()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(6, nameMappers.size());
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // So now it should return some value
+        assertEquals(WEB_XML, mapper.createName(null));
+    }
+
+    public void testCustomValidationStrategyToMetaDataTransformerNameMapperClassNameCustomConfig()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertEquals(6, nameMappers.size());
+        // No mapper additional, but the first mapper contain now our custom
+        // configured mapper.
+        NameMapper<ValidationStrategy> mapper = nameMappers.get(0);
+        // So now it should return some value
+        assertEquals(CUSTOM_CONFIG, mapper.createName(null));
+    }
+
+    private List<NameMapper<ValidationStrategy>> getNameMappers()
+    {
+        NameMapperAwareFactory result = ExtValContext.getContext()
+                .getFactoryFinder().getFactory(
+                        FactoryNames.META_DATA_TRANSFORMER_FACTORY,
+                        NameMapperAwareFactory.class);
+
+        return ((MockMetaDataTransformerFactory) result)
+                .getRegisteredNameMapperList();
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationCustomValidationStrategyToMetaDataTransformerNameMapperClassNameTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateComponentInitializationTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateComponentInitializationTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateComponentInitializationTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateComponentInitializationTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,108 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.Map;
+
+public class ExtValCoreConfigurationDeactivateComponentInitializationTestCase
+        extends ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationDeactivateComponentInitializationTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    public static class CustomComponentInitializer implements
+            ComponentInitializer
+    {
+
+        public void configureComponent(FacesContext facesContext,
+                                       UIComponent uiComponent, Map<String, Object> metaData)
+        {
+
+        }
+
+    }
+
+    @Override
+    protected void setUp() throws Exception
+    {
+
+        super.setUp();
+        // Make sure we have one ComponentInitializer. When deactivated the
+        // getComponentInitializers returns an empty list whatever registered.
+        ExtValContext.getContext().addComponentInitializer(
+                new CustomComponentInitializer());
+
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".DEACTIVATE_COMPONENT_INITIALIZATION", "true");
+
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public boolean deactivateComponentInitialization()
+                {
+                    return true;
+                }
+
+            }, true);
+        }
+    }
+
+    public void testDeactivateComponentInitializationDefault()
+    {
+
+        assertFalse(ExtValContext.getContext().getComponentInitializers()
+                .isEmpty());
+    }
+
+    public void testDeactivateComponentInitializationWebXml()
+    {
+        assertTrue(ExtValContext.getContext().getComponentInitializers()
+                .isEmpty());
+    }
+
+    public void testDeactivateComponentInitializationCustomConfig()
+    {
+        assertTrue(ExtValContext.getContext().getComponentInitializers()
+                .isEmpty());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationDeactivateComponentInitializationTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultConventionTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultConventionTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultConventionTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultConventionTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,81 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+public class ExtValCoreConfigurationDeactivateDefaultConventionTestCase extends
+        ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationDeactivateDefaultConventionTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".DEACTIVATE_DEFAULT_CONVENTION", "true");
+        }
+    }
+
+    @Override
+    protected void invokeStartupListeners()
+    {
+        super.invokeStartupListeners();
+
+        // This is the normal place where the user can intervene in the startup
+        // and change the config
+        if (needCustomConfig())
+        {
+
+            ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
+            {
+
+                @Override
+                public boolean deactivateDefaultConvention()
+                {
+                    return true;
+                }
+
+            }, true);
+        }
+    }
+
+    @ToDo(value = Priority.MEDIUM, description = "some better logic to see if it is really well integrated")
+    public void testDeactivateDefConventionDefault() throws Exception
+    {
+        // Not a very clever testcase but code in
+        // AbstractValidationErrorMessageResolver is too complex to have a quick
+        // simple test of the parameter
+        assertFalse(ExtValCoreConfiguration.get().deactivateDefaultConvention());
+    }
+
+    // Name of method should contain default
+    public void testDeactivateDefConventionWebXml()
+    {
+        assertTrue(ExtValCoreConfiguration.get().deactivateDefaultConvention());
+    }
+
+    // Name of method should contain default
+    public void testDeactivateDefConventionCustomConfig()
+    {
+        assertTrue(ExtValCoreConfiguration.get().deactivateDefaultConvention());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationDeactivateDefaultConventionTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,64 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.factory.NameMapperAwareFactory;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.test.base.mock.MockMessageResolverFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+
+import java.util.List;
+
+public class ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase extends
+        ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase(
+            String name)
+    {
+        super(name);
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".DEACTIVATE_DEFAULT_NAME_MAPPERS", "true");
+        }
+    }
+
+    public void testDeactivateDefaultNameMappersDefault()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertFalse(nameMappers.isEmpty());
+    }
+
+    public void testDeactivateDefaultNameMappersWebXml()
+    {
+        List<NameMapper<ValidationStrategy>> nameMappers = getNameMappers();
+        assertTrue(nameMappers.isEmpty());
+    }
+
+    private List<NameMapper<ValidationStrategy>> getNameMappers()
+    {
+        NameMapperAwareFactory result = ExtValContext.getContext()
+                .getFactoryFinder().getFactory(
+                        FactoryNames.MESSAGE_RESOLVER_FACTORY,
+                        NameMapperAwareFactory.class);
+
+        return ((MockMessageResolverFactory) result)
+                .getRegisteredNameMapperList();
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationDeactivateDefaultNameMappersTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateElResolverTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateElResolverTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateElResolverTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateElResolverTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,81 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.el.DefaultELHelper;
+import org.apache.myfaces.extensions.validator.core.el.ELHelper;
+import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+import org.apache.myfaces.extensions.validator.test.core.config.support.ConstraintSourceAwareBean;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIInput;
+import javax.faces.component.html.HtmlInputText;
+
+public class ExtValCoreConfigurationDeactivateElResolverTestCase extends
+        ExtValCoreConfigurationTestCase
+{
+    private UIInput uiComponent;
+
+    public ExtValCoreConfigurationDeactivateElResolverTestCase(String name)
+    {
+        super(name);
+    }
+
+    public static class CustomDefaultELHelper extends DefaultELHelper
+    {
+
+        @Override
+        protected PropertyDetails getPropertyDetailsViaReflectionFallback(
+                UIComponent uiComponent)
+        {
+            return null;
+        }
+
+    }
+
+    @Override
+    protected void setUp() throws Exception
+    {
+        super.setUp();
+        uiComponent = new HtmlInputText();
+        ConstraintSourceAwareBean bean = new ConstraintSourceAwareBean();
+
+        facesContext.getExternalContext().getRequestMap().put("testBean", bean);
+
+        createValueBinding(uiComponent, "value", "#{testBean.property1}");
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".DEACTIVATE_EL_RESOLVER", "true");
+        }
+    }
+
+    public void testDeactivateElResolverDefault()
+    {
+        ELHelper elHelper = new CustomDefaultELHelper();
+        assertNotNull(elHelper.getPropertyDetailsOfValueBinding(uiComponent));
+
+    }
+
+    public void testDeactivateElResolverWebXml()
+    {
+        ELHelper elHelper = new CustomDefaultELHelper();
+        // When deactivated, the getPropertyDetailsViaReflectionFallback method
+        // is called which returns null in our custom version
+        assertNull(elHelper.getPropertyDetailsOfValueBinding(uiComponent));
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationDeactivateElResolverTestCase.class);
+    }
+
+}

Added: myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase.java?rev=963722&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/config/ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase.java Tue Jul 13 14:23:40 2010
@@ -0,0 +1,60 @@
+package org.apache.myfaces.extensions.validator.test.core.config;
+
+import junit.framework.Test;
+import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRenderKit;
+import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRenderKitFactory;
+import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
+import org.apache.shale.test.mock.MockRenderKit;
+import org.apache.shale.test.mock.MockRenderKitFactory;
+
+import javax.faces.render.RenderKit;
+import javax.faces.render.RenderKitFactory;
+
+public class ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase extends
+        ExtValCoreConfigurationTestCase
+{
+    public ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase(String name)
+    {
+        super(name);
+    }
+
+    protected void addInitializationParameters()
+    {
+        super.addInitializationParameters();
+        if (needXmlParameters())
+        {
+            addInitParameter(ExtValInformation.WEBXML_PARAM_PREFIX
+                    + ".DEACTIVATE_RENDER_KIT_FACTORY", "true");
+        }
+    }
+
+    public void testDeactivateRenderKitFactoryDefault()
+    {
+        RenderKitFactory factory = new ExtValRenderKitFactory(
+                new MockRenderKitFactory());
+        RenderKit renderKit = factory.getRenderKit(facesContext,
+                RenderKitFactory.HTML_BASIC_RENDER_KIT);
+        assertEquals(ExtValRenderKit.class.getName(), renderKit.getClass()
+                .getName());
+
+    }
+
+    public void testDeactivateRenderKitFactoryWebXml()
+    {
+        RenderKitFactory factory = new ExtValRenderKitFactory(
+                new MockRenderKitFactory());
+        RenderKit renderKit = factory.getRenderKit(facesContext,
+                RenderKitFactory.HTML_BASIC_RENDER_KIT);
+        assertEquals(MockRenderKit.class.getName(), renderKit.getClass()
+                .getName());
+    }
+
+    public static Test suite()
+    {
+
+        return new ClassLoaderTestSuite(
+                ExtValCoreConfigurationDeactivateRenderKitFactoryTestCase.class);
+    }
+
+}