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/06/23 01:04:21 UTC
svn commit: r957073 [1/3] - in
/myfaces/extensions/validator/branches/branch_for_extval-100:
component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/
component-support/trinidad-support/src/main/java/org...
Author: gpetracek
Date: Tue Jun 22 23:04:19 2010
New Revision: 957073
URL: http://svn.apache.org/viewvc?rev=957073&view=rev
Log:
EXTVAL-100 intermediate result
Added:
myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/DefaultExtValTrinidadSupportModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadSupportModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/util/NullValueAwareConcurrentHashMap.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/DefaultExtValBaseValidationModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/ExtValBaseValidationModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/DefaultExtValCrossValidationModuleConfiguration.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ExtValCrossValidationModuleConfiguration.java
Modified:
myfaces/extensions/validator/branches/branch_for_extval-100/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInternals.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInvocationOrderAwareInternals.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/InformationProviderBean.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProjectStage.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/AbstractValidationInterceptor.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultComponentMetaDataExtractorFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/mapper/CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/DefaultPropertyInformation.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/PropertyDetails.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValLazyRendererProxy.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKit.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRenderKitFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/AbstractStartupListener.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/AbstractApplicationScopeAwareStorageManager.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/AbstractStorageManager.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMappedConstraintSourceStorage.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultStorageManagerFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/AbstractValidationErrorMessageResolver.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultMessageResolverFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/DefaultValidationErrorMessageResolver.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/message/resolver/mapper/CustomConfiguredValidationStrategyToMsgResolverNameMapper.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/parameter/DefaultValidationParameterExtractorFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/parameter/DefaultValidationParameterFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/DefaultValidationStrategyFactory.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/strategy/mapper/CustomConfiguredAnnotationToValidationStrategyNameMapper.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/util/ConstraintSourceUtils.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/util/ProxyUtils.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/base-test-infrastructure/src/test/java/org/apache/myfaces/extensions/validator/test/base/AbstractExValTestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/bean-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/beanval/AbstractBeanValidationTestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/bean-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/beanval/ConstraintSourceAwareValidation6TestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/core-tests/src/test/java/org/apache/myfaces/extensions/validator/test/core/stage/IndependentProjectStageTestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/AbstractPropertyValidationTestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/constraintsource/ConstraintSourceAwareValidation6TestCase.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/BeanValidationUtils.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/message/resolver/JpaValidationErrorMessageResolver.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
myfaces/extensions/validator/branches/branch_for_extval-100/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/WebXmlParameter.java
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java Tue Jun 22 23:04:19 2010
@@ -36,7 +36,7 @@ public class GenericRenderKitWrapperFact
private Map<Class<? extends RenderKit>, RenderKit> renderKitCache =
new ConcurrentHashMap<Class<? extends RenderKit>, RenderKit>();
- protected RenderKit createWrapper(RenderKit renderKit)
+ protected synchronized RenderKit createWrapper(RenderKit renderKit)
{
logger.finest("extval renderkit wrapper created for " + renderKit.getClass().getName() + " via cglib");
@@ -48,4 +48,4 @@ public class GenericRenderKitWrapperFact
return this.renderKitCache.get(renderKit.getClass());
}
-}
\ No newline at end of file
+}
Added: myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/DefaultExtValTrinidadSupportModuleConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/DefaultExtValTrinidadSupportModuleConfiguration.java?rev=957073&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/DefaultExtValTrinidadSupportModuleConfiguration.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/DefaultExtValTrinidadSupportModuleConfiguration.java Tue Jun 22 23:04:19 2010
@@ -0,0 +1,49 @@
+/*
+ * 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.trinidad;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * @author Gerhard Petracek
+ * @since r4
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class DefaultExtValTrinidadSupportModuleConfiguration extends ExtValTrinidadSupportModuleConfiguration
+{
+ /*
+ * web.xml config
+ */
+
+ public boolean deactivateClientSideValidation()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION);
+ }
+
+ public boolean deactivateCoreOutputLabelInitialization()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION);
+ }
+
+ public boolean deactivateValidationExceptionInterceptor()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR);
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadSupportModuleConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadSupportModuleConfiguration.java?rev=957073&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadSupportModuleConfiguration.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadSupportModuleConfiguration.java Tue Jun 22 23:04:19 2010
@@ -0,0 +1,59 @@
+/*
+ * 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.trinidad;
+
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValModuleConfiguration;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * @author Gerhard Petracek
+ * @since r4
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public abstract class ExtValTrinidadSupportModuleConfiguration implements ExtValModuleConfiguration
+{
+ private static ExtValContext extValContext = ExtValContext.getContext();
+
+ protected ExtValTrinidadSupportModuleConfiguration()
+ {
+ }
+
+ public static ExtValTrinidadSupportModuleConfiguration get()
+ {
+ return extValContext.getModuleConfiguration(ExtValTrinidadSupportModuleConfiguration.class);
+ }
+
+ public static boolean use(ExtValTrinidadSupportModuleConfiguration config, boolean forceOverride)
+ {
+ return extValContext.addModuleConfiguration(
+ ExtValTrinidadSupportModuleConfiguration.class, config, forceOverride);
+ }
+
+ /*
+ * web.xml config
+ */
+
+ public abstract boolean deactivateClientSideValidation();
+
+ public abstract boolean deactivateCoreOutputLabelInitialization();
+
+ public abstract boolean deactivateValidationExceptionInterceptor();
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java Tue Jun 22 23:04:19 2010
@@ -29,7 +29,7 @@ import org.apache.myfaces.extensions.val
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public interface WebXmlParameter
+interface WebXmlParameter
{
/*
* deactivate
@@ -42,4 +42,4 @@ public interface WebXmlParameter
static final String DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR = WebXmlUtils
.getInitParameter("DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR");
-}
\ No newline at end of file
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java Tue Jun 22 23:04:19 2010
@@ -20,12 +20,14 @@ package org.apache.myfaces.extensions.va
import org.apache.myfaces.extensions.validator.core.startup.AbstractStartupListener;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.storage.StorageManagerHolder;
import org.apache.myfaces.extensions.validator.core.renderkit.AbstractRenderKitWrapperFactory;
import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy;
import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
import org.apache.myfaces.extensions.validator.trinidad.initializer.component.TrinidadComponentInitializer;
-import org.apache.myfaces.extensions.validator.trinidad.WebXmlParameter;
+import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadSupportModuleConfiguration;
+import org.apache.myfaces.extensions.validator.trinidad.DefaultExtValTrinidadSupportModuleConfiguration;
import org.apache.myfaces.extensions.validator.trinidad.storage.TrinidadClientValidatorStorage;
import org.apache.myfaces.extensions.validator.trinidad.storage.DefaultClientValidatorStorageManager;
import org.apache.myfaces.extensions.validator.trinidad.validation.message.TrinidadFacesMessageFactory;
@@ -47,8 +49,15 @@ public class TrinidadModuleStartupListen
{
private static final long serialVersionUID = -8034089244903966999L;
+ protected void initModuleConfig()
+ {
+ ExtValTrinidadSupportModuleConfiguration.use(new DefaultExtValTrinidadSupportModuleConfiguration(), false);
+ }
+
protected void init()
{
+ initModuleConfig();
+
deactivateDefaultExtValRenderKitWrapperFactory();
initClientSideValidationSupport();
@@ -82,7 +91,7 @@ public class TrinidadModuleStartupListen
private void initClientSideValidationSupport()
{
- if(isClientSideValidationSupportEnabled(WebXmlParameter.DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION))
+ if(!ExtValTrinidadSupportModuleConfiguration.get().deactivateClientSideValidation())
{
ExtValContext.getContext().addComponentInitializer(new TrinidadComponentInitializer());
}
@@ -90,7 +99,7 @@ public class TrinidadModuleStartupListen
private void initLabelInitializationSupport()
{
- if(isLabelInitializationEnabled(WebXmlParameter.DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION))
+ if(!ExtValTrinidadSupportModuleConfiguration.get().deactivateCoreOutputLabelInitialization())
{
ExtValContext.getContext().registerRendererInterceptor(new TrinidadRendererInterceptor());
}
@@ -98,7 +107,7 @@ public class TrinidadModuleStartupListen
private void initValidationExceptionInterception()
{
- if(useValidationExceptionInterception(WebXmlParameter.DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR))
+ if(!ExtValTrinidadSupportModuleConfiguration.get().deactivateValidationExceptionInterceptor())
{
ExtValContext.getContext().addValidationExceptionInterceptor(new TrinidadValidationExceptionInterceptor());
}
@@ -131,22 +140,6 @@ public class TrinidadModuleStartupListen
new DefaultClientValidatorStorageManager(), false);
}
- private boolean isLabelInitializationEnabled(String deactivateInitCoreOutputLabel)
- {
- return deactivateInitCoreOutputLabel == null || !deactivateInitCoreOutputLabel.equalsIgnoreCase("true");
- }
-
- private boolean isClientSideValidationSupportEnabled(String deactivateClientSideValidation)
- {
- return deactivateClientSideValidation == null || !deactivateClientSideValidation.equalsIgnoreCase("true");
- }
-
- private boolean useValidationExceptionInterception(String deactivateTrinidadValidationExceptionInterceptor)
- {
- return deactivateTrinidadValidationExceptionInterceptor == null ||
- !deactivateTrinidadValidationExceptionInterceptor.equalsIgnoreCase("true");
- }
-
protected void initRequiredInitialization()
{
if(!isRequiredInitializationDeactivated())
@@ -160,7 +153,6 @@ public class TrinidadModuleStartupListen
private boolean isRequiredInitializationDeactivated()
{
- return "false".equalsIgnoreCase(
- org.apache.myfaces.extensions.validator.core.WebXmlParameter.ACTIVATE_REQUIRED_INITIALIZATION);
+ return !ExtValCoreConfiguration.get().activateRequiredInitialization();
}
}
Added: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java?rev=957073&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java Tue Jun 22 23:04:19 2010
@@ -0,0 +1,271 @@
+/*
+ * 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;
+
+import org.apache.myfaces.extensions.validator.core.proxy.ProxyHelper;
+import org.apache.myfaces.extensions.validator.core.proxy.DefaultProxyHelper;
+import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy;
+import org.apache.myfaces.extensions.validator.core.validation.ConstraintSource;
+import org.apache.myfaces.extensions.validator.core.validation.IgnoreConstraintSource;
+import org.apache.myfaces.extensions.validator.core.validation.TargetProperty;
+import org.apache.myfaces.extensions.validator.core.validation.TargetPropertyId;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DisableClientSideValidation;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameter;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ViolationSeverity;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * @author Gerhard Petracek
+ * @since r4
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class DefaultExtValCoreConfiguration extends ExtValCoreConfiguration
+{
+ public String customMessageBundleBaseName()
+ {
+ return WebXmlParameter.CUSTOM_MESSAGE_BUNDLE;
+ }
+
+ public String customBasePackage()
+ {
+ return WebXmlParameter.CUSTOM_BASE_PACKAGE;
+ }
+
+ public String customInformationProviderBeanClassName()
+ {
+ return WebXmlParameter.CUSTOM_INFORMATION_PROVIDER_BEAN;
+ }
+
+ public String customComponentMetaDataExtractorClassName()
+ {
+ return WebXmlParameter.CUSTOM_COMPONENT_META_DATA_EXTRACTOR;
+ }
+
+ public String customValidationParameterExtractorClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_PARAMETER_EXTRACTOR;
+ }
+
+ public String customStaticValidationStrategyMappingSource()
+ {
+ return WebXmlParameter.CUSTOM_STATIC_VALIDATION_STRATEGY_MAPPING;
+ }
+
+ public String customComponentInitializerClassName()
+ {
+ return WebXmlParameter.CUSTOM_COMPONENT_INITIALIZER;
+ }
+
+ public String customValidationExceptionInterceptorClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_EXCEPTION_INTERCEPTOR;
+ }
+
+ public String customPropertyValidationInterceptorClassName()
+ {
+ return WebXmlParameter.CUSTOM_PROPERTY_VALIDATION_INTERCEPTOR;
+ }
+
+ public String customMetaDataExtractionInterceptorClassName()
+ {
+ return WebXmlParameter.CUSTOM_META_DATA_EXTRACTION_INTERCEPTOR;
+ }
+
+ public ProxyHelper proxyHelper()
+ {
+ String customProxyHelperClassName = WebXmlParameter.CUSTOM_PROXY_HELPER;
+
+ if (customProxyHelperClassName != null && !"".equals(customProxyHelperClassName))
+ {
+ return (ProxyHelper) ClassUtils.tryToInstantiateClassForName(customProxyHelperClassName);
+ }
+
+ return new DefaultProxyHelper();
+ }
+
+ public ProjectStageResolver projectStageResolver()
+ {
+ return new DefaultProjectStageResolver();
+ }
+
+ public final Class<? extends ExtValRendererProxy> rendererProxy()
+ {
+ String proxyClassName = (String) ExtValContext.getContext().getGlobalProperty(ExtValRendererProxy.KEY);
+
+ if (proxyClassName != null && !proxyClassName.endsWith(getClass().getName()))
+ {
+ Class<? extends ExtValRendererProxy> targetClass = ClassUtils.tryToLoadClassForName(proxyClassName);
+
+ if (targetClass == null)
+ {
+ throw new IllegalStateException("a custom invalid renderer proxy is configured: " + proxyClassName);
+ }
+
+ return targetClass;
+ }
+
+ return null;
+ }
+
+ public Class violationSeverity()
+ {
+ return ViolationSeverity.class;
+ }
+
+ public String customValidationStrategyToMessageResolverNameMapperClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_STRATEGY_TO_MESSAGE_RESOLVER_NAME_MAPPER;
+ }
+
+ public String customMetaDataToValidationStrategyNameMapperClassName()
+ {
+ return WebXmlParameter.CUSTOM_META_DATA_TO_VALIDATION_STRATEGY_NAME_MAPPER;
+ }
+
+ public String customValidationStrategyToMetaDataTransformerNameMapperClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_STRATEGY_TO_META_DATA_TRANSFORMER_NAME_MAPPER;
+ }
+
+ public String customMetaDataStorageFilterClassName()
+ {
+ return WebXmlParameter.CUSTOM_META_DATA_STORAGE_FILTER;
+ }
+
+ public String customValidationStrategyFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_STRATEGY_FACTORY;
+ }
+
+ public String customMessageResolverFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_MESSAGE_RESOLVER_FACTORY;
+ }
+
+ public String customComponentMetaDataExtractorFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_COMPONENT_META_DATA_EXTRACTOR_FACTORY;
+ }
+
+ public String customValidationParameterExtractorFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_PARAMETER_EXTRACTOR_FACTORY;
+ }
+
+ public String customValidationParameterFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_VALIDATION_PARAMETER_FACTORY;
+ }
+
+ public String customMetaDataTransformerFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_META_DATA_TRANSFORMER_FACTORY;
+ }
+
+ public String customStorageManagerFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_STORAGE_MANAGER_FACTORY;
+ }
+
+ public String customFacesMessageFactoryClassName()
+ {
+ return WebXmlParameter.CUSTOM_FACES_MESSAGE_FACTORY;
+ }
+
+ public Class<? extends Annotation> constraintSourceAnnotation()
+ {
+ return ConstraintSource.class;
+ }
+
+ public Class<? extends Annotation> ignoreConstraintSourceAnnotation()
+ {
+ return IgnoreConstraintSource.class;
+ }
+
+ public Class<? extends Annotation> targetPropertyAnnotation()
+ {
+ return TargetProperty.class;
+ }
+
+ public Class<? extends Annotation> targetPropertyIdAnnotation()
+ {
+ return TargetPropertyId.class;
+ }
+
+ public Class<? extends ValidationParameter> disableClientSideValidationValidationParameter()
+ {
+ return DisableClientSideValidation.class;
+ }
+
+ public boolean activateRequiredInitialization()
+ {
+ return WebXmlParameter.ACTIVATE_REQUIRED_INITIALIZATION != null &&
+ "true".equalsIgnoreCase(WebXmlParameter.ACTIVATE_REQUIRED_INITIALIZATION.trim());
+ }
+
+ public boolean deactivateDefaultConvention()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_DEFAULT_CONVENTION);
+ }
+
+ public boolean deactivateDefaultNameMappers()
+ {
+ String deactivateDefaultNameMappers = WebXmlParameter.DEACTIVATE_DEFAULT_NAME_MAPPERS;
+ return deactivateDefaultNameMappers != null && deactivateDefaultNameMappers.trim().equalsIgnoreCase("true");
+ }
+
+ public boolean deactivateElResolver()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_EL_RESOLVER);
+ }
+
+ public boolean deactivateComponentInitialization()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_COMPONENT_INITIALIZATION);
+ }
+
+ public boolean deactivateValidationParameters()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_VALIDATION_PARAMETERS);
+ }
+
+ public final boolean deactivateRenderKitFactory()
+ {
+ return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_RENDER_KIT_FACTORY);
+ }
+
+ public boolean deactivateRequiredAttributeSupport()
+ {
+ return activateRequiredInitialization();
+ }
+
+ public boolean interpretEmptyStringSubmittedValuesAsNull()
+ {
+ return !"false".equalsIgnoreCase(WebXmlParameter.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL);
+ }
+
+ public boolean validateEmptyFields()
+ {
+ return !"false".equalsIgnoreCase(WebXmlParameter.VALIDATE_EMPTY_FIELDS);
+ }
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContext.java Tue Jun 22 23:04:19 2010
@@ -35,6 +35,7 @@ import org.apache.myfaces.extensions.val
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.util.NullValueAwareConcurrentHashMap;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -42,6 +43,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;
/**
@@ -61,17 +63,21 @@ public class ExtValContext
private ViolationSeverityInterpreter violationSeverityInterpreter;
private FactoryFinder factoryFinder = DefaultFactoryFinder.getInstance();
- private Map<String, RendererInterceptor> rendererInterceptors = new HashMap<String, RendererInterceptor>();
+ private Map<String, RendererInterceptor> rendererInterceptors =
+ new ConcurrentHashMap<String, RendererInterceptor>();
private List<String> deniedInterceptors = new ArrayList<String>();
private List<ProcessedInformationRecorder> processedInformationRecorders =
new ArrayList<ProcessedInformationRecorder>();
private SkipValidationEvaluator skipValidationEvaluator;
- private Map<String, Object> globalProperties = new HashMap<String, Object>();
+ private Map<String, Object> globalProperties = new NullValueAwareConcurrentHashMap<String, Object>(Object.class);
+
+ private Map<Class<? extends ExtValModuleConfiguration>, ExtValModuleConfiguration> extValConfig =
+ new ConcurrentHashMap<Class<? extends ExtValModuleConfiguration>, ExtValModuleConfiguration>();
private Map<StaticConfigurationNames, List<StaticConfiguration<String, String>>> staticConfigMap
- = new HashMap<StaticConfigurationNames, List<StaticConfiguration<String, String>>>();
+ = new ConcurrentHashMap<StaticConfigurationNames, List<StaticConfiguration<String, String>>>();
private ExtValContextInternals contextHelper;
private ExtValContextInvocationOrderAwareInternals invocationOrderAwareContextHelper;
@@ -405,4 +411,41 @@ public class ExtValContext
{
return this.globalProperties.get(name);
}
+
+ public <T extends ExtValModuleConfiguration> T getModuleConfiguration(Class<T> targetType)
+ {
+ ExtValModuleConfiguration result = this.extValConfig.get(targetType);
+
+ //noinspection unchecked
+ return (T)result;
+ }
+
+ public boolean addModuleConfiguration(Class<? extends ExtValModuleConfiguration> key,
+ ExtValModuleConfiguration extValConfig)
+ {
+ return addModuleConfiguration(key, extValConfig, true);
+ }
+
+ public boolean addModuleConfiguration(Class<? extends ExtValModuleConfiguration> key,
+ ExtValModuleConfiguration config,
+ boolean forceOverride)
+ {
+ if (this.extValConfig.containsKey(key))
+ {
+ if (!forceOverride)
+ {
+ return false;
+ }
+
+ this.logger.info("override config for key '" + config.getClass() + "'");
+ }
+ this.extValConfig.put(key, config);
+
+ if(JsfProjectStage.is(JsfProjectStage.Development))
+ {
+ this.logger.info("config for key [" + config.getClass() + "] added");
+ }
+
+ return true;
+ }
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInternals.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInternals.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInternals.java Tue Jun 22 23:04:19 2010
@@ -39,15 +39,15 @@ class ExtValContextInternals
{
boolean isComponentInitializationActivated()
{
- return !"true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_COMPONENT_INITIALIZATION);
+ return !ExtValCoreConfiguration.get().deactivateComponentInitialization();
}
@SuppressWarnings({"unchecked"})
- InformationProviderBean initInformationProviderBean(Map applicationMap)
+ synchronized InformationProviderBean initInformationProviderBean(Map applicationMap)
{
List<String> informationProviderBeanClassNames = new ArrayList<String>();
- informationProviderBeanClassNames.add(WebXmlParameter.CUSTOM_INFORMATION_PROVIDER_BEAN);
+ informationProviderBeanClassNames.add(ExtValCoreConfiguration.get().customInformationProviderBeanClassName());
informationProviderBeanClassNames.add(InformationProviderBean.CUSTOM_BEAN);
InformationProviderBean informationProviderBean;
@@ -72,7 +72,7 @@ class ExtValContextInternals
}
@SuppressWarnings({"unchecked"})
- void tryToInitCustomConfiguredInformationProviderBeanClassName(Map applicationMap)
+ synchronized void tryToInitCustomConfiguredInformationProviderBeanClassName(Map applicationMap)
{
InformationProviderBean bean = (InformationProviderBean) ExtValUtils.getELHelper()
.getBean(InformationProviderBean.CUSTOM_BEAN.replace(".", "_"));
@@ -101,4 +101,4 @@ class ExtValContextInternals
ViolationSeverityInterpreterStorage.class, ViolationSeverityInterpreterStorage.class.getName())
.getViolationSeverityInterpreter();
}
-}
\ No newline at end of file
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInvocationOrderAwareInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInvocationOrderAwareInternals.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInvocationOrderAwareInternals.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValContextInvocationOrderAwareInternals.java Tue Jun 22 23:04:19 2010
@@ -27,10 +27,10 @@ import org.apache.myfaces.extensions.val
import org.apache.myfaces.extensions.validator.util.ClassUtils;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Collections;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;
/**
@@ -136,7 +136,7 @@ class ExtValContextInvocationOrderAwareI
}
}
- private void addPropertyValidationInterceptorForModule(
+ private synchronized void addPropertyValidationInterceptorForModule(
Class moduleKey, PropertyValidationInterceptor propertyValidationInterceptor)
{
if (moduleKey == null)
@@ -196,7 +196,7 @@ class ExtValContextInvocationOrderAwareI
}
}
- private void addMetaDataExtractionInterceptorForModule(
+ private synchronized void addMetaDataExtractionInterceptorForModule(
Class moduleKey, MetaDataExtractionInterceptor metaDataExtractionInterceptor)
{
if (moduleKey == null)
@@ -272,7 +272,7 @@ class ExtValContextInvocationOrderAwareI
List<String> validationExceptionInterceptorClassNames = new ArrayList<String>();
validationExceptionInterceptorClassNames
- .add(WebXmlParameter.CUSTOM_VALIDATION_EXCEPTION_INTERCEPTOR);
+ .add(ExtValCoreConfiguration.get().customValidationExceptionInterceptorClassName());
validationExceptionInterceptorClassNames
.add(this.contextHelper.getInformationProviderBean().get(
CustomInformation.VALIDATION_EXCEPTION_INTERCEPTOR));
@@ -301,12 +301,13 @@ class ExtValContextInvocationOrderAwareI
}
metaDataExtractionInterceptors = new ArrayList<MetaDataExtractionInterceptor>();
- moduleSpecificMetaDataExtractionInterceptors = new HashMap<Class, List<MetaDataExtractionInterceptor>>();
+ moduleSpecificMetaDataExtractionInterceptors =
+ new ConcurrentHashMap<Class, List<MetaDataExtractionInterceptor>>();
List<String> metaDataExtractionInterceptorClassNames = new ArrayList<String>();
metaDataExtractionInterceptorClassNames
- .add(WebXmlParameter.CUSTOM_META_DATA_EXTRACTION_INTERCEPTOR);
+ .add(ExtValCoreConfiguration.get().customMetaDataExtractionInterceptorClassName());
metaDataExtractionInterceptorClassNames
.add(this.contextHelper.getInformationProviderBean().get(
CustomInformation.META_DATA_EXTRACTION_INTERCEPTOR));
@@ -335,7 +336,7 @@ class ExtValContextInvocationOrderAwareI
componentInitializers = new ArrayList<ComponentInitializer>();
List<String> componentInitializerClassNames = new ArrayList<String>();
componentInitializerClassNames
- .add(WebXmlParameter.CUSTOM_COMPONENT_INITIALIZER);
+ .add(ExtValCoreConfiguration.get().customComponentInitializerClassName());
componentInitializerClassNames
.add(this.contextHelper.getInformationProviderBean().get(CustomInformation.COMPONENT_INITIALIZER));
@@ -362,12 +363,13 @@ class ExtValContextInvocationOrderAwareI
}
propertyValidationInterceptors = new ArrayList<PropertyValidationInterceptor>();
- moduleSpecificPropertyValidationInterceptors = new HashMap<Class, List<PropertyValidationInterceptor>>();
+ moduleSpecificPropertyValidationInterceptors =
+ new ConcurrentHashMap<Class, List<PropertyValidationInterceptor>>();
List<String> validationInterceptorClassNames = new ArrayList<String>();
validationInterceptorClassNames
- .add(WebXmlParameter.CUSTOM_PROPERTY_VALIDATION_INTERCEPTOR);
+ .add(ExtValCoreConfiguration.get().customPropertyValidationInterceptorClassName());
validationInterceptorClassNames
.add(this.contextHelper.getInformationProviderBean().get(
CustomInformation.PROPERTY_VALIDATION_INTERCEPTOR));
@@ -456,4 +458,4 @@ class ExtValContextInvocationOrderAwareI
return metaDataExtractionInterceptorList;
}
-}
\ No newline at end of file
+}
Added: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java?rev=957073&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java Tue Jun 22 23:04:19 2010
@@ -0,0 +1,187 @@
+/*
+ * 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;
+
+import org.apache.myfaces.extensions.validator.core.proxy.ProxyHelper;
+import org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.ValidationParameter;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+import java.lang.annotation.Annotation;
+import java.util.logging.Logger;
+
+/**
+ * 'custom' as prefix is used for 'optional' configurations. that means
+ * if a method returns null extval uses a different approach to find an implementation e.g. via a naming convention
+ * -> all other methods aren't allowed to return null if there is no additional rule
+ *
+ * @author Gerhard Petracek
+ * @since r4
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public abstract class ExtValCoreConfiguration implements ExtValModuleConfiguration
+{
+ private static ExtValContext extValContext = ExtValContext.getContext();
+
+ private static final Logger LOGGER = Logger.getLogger(ExtValCoreConfiguration.class.getName());
+
+ private static final String MISSING_MODULE_CONFIG_MESSAGE =
+ "no config for " + ExtValCoreConfiguration.class.getName() + " found. " +
+ "maybe the call of ExtValCoreConfig#get is triggered before the registration process." +
+ "the default config gets used.";
+
+ protected ExtValCoreConfiguration()
+ {
+ }
+
+ public static ExtValCoreConfiguration get()
+ {
+ ExtValCoreConfiguration moduleConfig = extValContext.getModuleConfiguration(ExtValCoreConfiguration.class);
+
+ if(moduleConfig == null)
+ {
+ LOGGER.fine(MISSING_MODULE_CONFIG_MESSAGE);
+ }
+ return moduleConfig != null ? moduleConfig : new DefaultExtValCoreConfiguration();
+ }
+
+ public static boolean use(ExtValCoreConfiguration config, boolean forceOverride)
+ {
+ return extValContext.addModuleConfiguration(ExtValCoreConfiguration.class, config, forceOverride);
+ }
+
+ /*
+ * web.xml config
+ */
+ public abstract String customMessageBundleBaseName();
+
+ public abstract String customBasePackage();
+
+ public abstract String customInformationProviderBeanClassName();
+
+ public abstract String customComponentMetaDataExtractorClassName();
+
+ public abstract String customValidationParameterExtractorClassName();
+
+ public abstract String customStaticValidationStrategyMappingSource();
+
+ public abstract String customComponentInitializerClassName();
+
+ public abstract String customValidationExceptionInterceptorClassName();
+
+ public abstract String customPropertyValidationInterceptorClassName();
+
+ public abstract String customMetaDataExtractionInterceptorClassName();
+
+ /*
+ * others
+ */
+ public abstract ProxyHelper proxyHelper();
+
+ public abstract ProjectStageResolver projectStageResolver();
+
+ public abstract Class<? extends ExtValRendererProxy> rendererProxy();
+
+ /*
+ * ConstraintSource
+ */
+
+ public abstract Class<? extends Annotation> constraintSourceAnnotation();
+
+ public abstract Class<? extends Annotation> ignoreConstraintSourceAnnotation();
+
+ public abstract Class<? extends Annotation> targetPropertyAnnotation();
+
+ public abstract Class<? extends Annotation> targetPropertyIdAnnotation();
+
+ /*
+ * validation parameter
+ */
+
+ public abstract Class violationSeverity();
+
+ public abstract Class<? extends ValidationParameter> disableClientSideValidationValidationParameter();
+
+ /*
+ * name mapper
+ */
+ public abstract String customValidationStrategyToMessageResolverNameMapperClassName();
+
+ public abstract String customMetaDataToValidationStrategyNameMapperClassName();
+
+ public abstract String customValidationStrategyToMetaDataTransformerNameMapperClassName();
+
+ /*
+ * filter
+ */
+ public abstract String customMetaDataStorageFilterClassName();
+
+ /*
+ * factories
+ */
+ public abstract String customValidationStrategyFactoryClassName();
+
+ public abstract String customMessageResolverFactoryClassName();
+
+ public abstract String customComponentMetaDataExtractorFactoryClassName();
+
+ public abstract String customValidationParameterExtractorFactoryClassName();
+
+ public abstract String customValidationParameterFactoryClassName();
+
+ public abstract String customMetaDataTransformerFactoryClassName();
+
+ public abstract String customStorageManagerFactoryClassName();
+
+ public abstract String customFacesMessageFactoryClassName();
+
+ /*
+ * activate
+ */
+ public abstract boolean activateRequiredInitialization();
+
+ /*
+ * deactivate
+ */
+ //currently just used by AbstractValidationErrorMessageResolver
+ public abstract boolean deactivateDefaultConvention();
+
+ public abstract boolean deactivateDefaultNameMappers();
+
+ public abstract boolean deactivateElResolver();
+
+ public abstract boolean deactivateComponentInitialization();
+
+ public abstract boolean deactivateValidationParameters();
+
+ public abstract boolean deactivateRenderKitFactory();
+
+ //there is nothing like DEACTIVATE_DEFAULT_VALIDATION_INTERCEPTOR
+ //use ExtValContext.getContext().denyRendererInterceptor(...) within an extval-StartupListener
+
+ public abstract boolean deactivateRequiredAttributeSupport();
+
+ /*
+ * spec parameters
+ */
+ public abstract boolean interpretEmptyStringSubmittedValuesAsNull();
+
+ public abstract boolean validateEmptyFields();
+}
Added: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValModuleConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValModuleConfiguration.java?rev=957073&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValModuleConfiguration.java (added)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValModuleConfiguration.java Tue Jun 22 23:04:19 2010
@@ -0,0 +1,31 @@
+/*
+ * 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;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * @author Gerhard Petracek
+ * @since r4
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public interface ExtValModuleConfiguration
+{
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/InformationProviderBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/InformationProviderBean.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/InformationProviderBean.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/InformationProviderBean.java Tue Jun 22 23:04:19 2010
@@ -19,11 +19,11 @@
package org.apache.myfaces.extensions.validator.core;
import org.apache.myfaces.extensions.validator.ExtValInformation;
+import org.apache.myfaces.extensions.validator.util.NullValueAwareConcurrentHashMap;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import java.util.Map;
-import java.util.HashMap;
import java.util.logging.Logger;
/**
@@ -55,11 +55,12 @@ public class InformationProviderBean
applyCustomValues(this.customizableInfos);
}
- private Map<CustomInformation, String> customizableInfos = new HashMap<CustomInformation, String>();
+ private Map<CustomInformation, String> customizableInfos =
+ new NullValueAwareConcurrentHashMap<CustomInformation, String>(String.class);
private void setupCustomizableInformation()
{
- String basePackage = WebXmlParameter.CUSTOM_BASE_PACKAGE;
+ String basePackage = ExtValCoreConfiguration.get().customBasePackage();
if (basePackage == null)
{
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProjectStage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProjectStage.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProjectStage.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProjectStage.java Tue Jun 22 23:04:19 2010
@@ -56,12 +56,11 @@ public class ProjectStage
private static ProjectStageName getCurrentProjectStage()
{
//set ProjectStageResolver to null to tweak the performance
- Object projectStageResolver = ExtValContext.getContext()
- .getGlobalProperty(ProjectStageResolver.class.getName());
+ ProjectStageResolver projectStageResolver = ExtValCoreConfiguration.get().projectStageResolver();
- if(projectStageResolver instanceof ProjectStageResolver)
+ if(projectStageResolver != null)
{
- return ((ProjectStageResolver)projectStageResolver).getCurrentProjectStage().getValue();
+ return (projectStageResolver).getCurrentProjectStage().getValue();
}
return ExtValUtils.getDefaultStageName();
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java Tue Jun 22 23:04:19 2010
@@ -29,7 +29,7 @@ import org.apache.myfaces.extensions.val
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public interface WebXmlParameter
+interface WebXmlParameter
{
/*
* misc
@@ -121,10 +121,6 @@ public interface WebXmlParameter
/*
* deactivate
*/
- @Deprecated
- static final String DEACTIVATE_RENDERKIT = WebXmlUtils
- .getInitParameter("DEACTIVATE_RENDERKIT");
-
//currently just used by AbstractValidationErrorMessageResolver
static final String DEACTIVATE_DEFAULT_CONVENTION = WebXmlUtils
.getInitParameter("DEACTIVATE_DEFAULT_CONVENTION");
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java Tue Jun 22 23:04:19 2010
@@ -24,8 +24,8 @@ import org.apache.myfaces.extensions.val
import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
import org.apache.myfaces.extensions.validator.util.ProxyUtils;
-import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.ExtValInformation;
import javax.el.ValueExpression;
@@ -54,7 +54,7 @@ import java.util.logging.Logger;
@UsageInformation(UsageCategory.INTERNAL)
public class DefaultELHelper implements ELHelper
{
- private static final String DEACTIVATE_EL_RESOLVER = WebXmlParameter.DEACTIVATE_EL_RESOLVER;
+ private static final boolean DEACTIVATE_EL_RESOLVER = ExtValCoreConfiguration.get().deactivateElResolver();
protected final Logger logger = Logger.getLogger(getClass().getName());
@@ -143,7 +143,7 @@ public class DefaultELHelper implements
public PropertyDetails getPropertyDetailsOfValueBinding(UIComponent uiComponent)
{
- if("true".equalsIgnoreCase(DEACTIVATE_EL_RESOLVER))
+ if(DEACTIVATE_EL_RESOLVER)
{
return getPropertyDetailsViaReflectionFallback(uiComponent);
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/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_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/factory/DefaultFactoryFinder.java Tue Jun 22 23:04:19 2010
@@ -23,9 +23,9 @@ import org.apache.myfaces.extensions.val
import org.apache.myfaces.extensions.validator.internal.ToDo;
import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.myfaces.extensions.validator.core.metadata.extractor.DefaultComponentMetaDataExtractorFactory;
-import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.core.CustomInformation;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.storage.DefaultStorageManagerFactory;
import org.apache.myfaces.extensions.validator.core.el.DefaultELHelperFactory;
import org.apache.myfaces.extensions.validator.core.renderkit.DefaultRenderKitWrapperFactory;
@@ -38,9 +38,9 @@ import org.apache.myfaces.extensions.val
import org.apache.myfaces.extensions.validator.util.ClassUtils;
import java.util.Map;
-import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;
/**
@@ -52,10 +52,12 @@ import java.util.logging.Logger;
public class DefaultFactoryFinder implements FactoryFinder
{
protected final Logger logger = Logger.getLogger(getClass().getName());
- protected Map<FactoryNames, Object> factoryMap = new HashMap<FactoryNames, Object>();
+ protected Map<FactoryNames, Object> factoryMap = new ConcurrentHashMap<FactoryNames, Object>();
private static FactoryFinder factoryFinder = new DefaultFactoryFinder();
+ private ExtValCoreConfiguration extValCoreConfig;
+
protected DefaultFactoryFinder()
{
logger.fine(getClass().getName() + " instantiated");
@@ -140,7 +142,7 @@ public class DefaultFactoryFinder implem
List<String> metaDataExtractorFactoryClassNames = new ArrayList<String>();
- metaDataExtractorFactoryClassNames.add(WebXmlParameter.CUSTOM_COMPONENT_META_DATA_EXTRACTOR_FACTORY);
+ metaDataExtractorFactoryClassNames.add(getCoreConfig().customComponentMetaDataExtractorFactoryClassName());
metaDataExtractorFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.COMPONENT_META_DATA_EXTRACTOR_FACTORY));
@@ -165,7 +167,7 @@ public class DefaultFactoryFinder implem
List<String> validationStrategyFactoryClassNames = new ArrayList<String>();
- validationStrategyFactoryClassNames.add(WebXmlParameter.CUSTOM_VALIDATION_STRATEGY_FACTORY);
+ validationStrategyFactoryClassNames.add(getCoreConfig().customValidationStrategyFactoryClassName());
validationStrategyFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.VALIDATION_STRATEGY_FACTORY));
@@ -190,7 +192,7 @@ public class DefaultFactoryFinder implem
Object factory = null;
List<String> messageResolverFactoryClassNames = new ArrayList<String>();
- messageResolverFactoryClassNames.add(WebXmlParameter.CUSTOM_MESSAGE_RESOLVER_FACTORY);
+ messageResolverFactoryClassNames.add(getCoreConfig().customMessageResolverFactoryClassName());
messageResolverFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.MESSAGE_RESOLVER_FACTORY));
@@ -216,7 +218,7 @@ public class DefaultFactoryFinder implem
Object factory = null;
List<String> metaDataTransformerFactoryClassNames = new ArrayList<String>();
- metaDataTransformerFactoryClassNames.add(WebXmlParameter.CUSTOM_META_DATA_TRANSFORMER_FACTORY );
+ metaDataTransformerFactoryClassNames.add(getCoreConfig().customMetaDataTransformerFactoryClassName());
metaDataTransformerFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.META_DATA_TRANSFORMER_FACTORY));
@@ -247,7 +249,7 @@ public class DefaultFactoryFinder implem
List<String> facesMessageFactoryClassNames = new ArrayList<String>();
- facesMessageFactoryClassNames.add(WebXmlParameter.CUSTOM_FACES_MESSAGE_FACTORY);
+ facesMessageFactoryClassNames.add(getCoreConfig().customFacesMessageFactoryClassName());
facesMessageFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.FACES_MESSAGE_FACTORY));
@@ -285,7 +287,7 @@ public class DefaultFactoryFinder implem
List<String> validationParameterExtractorFactoryClassNames = new ArrayList<String>();
validationParameterExtractorFactoryClassNames
- .add(WebXmlParameter.CUSTOM_VALIDATION_PARAMETER_EXTRACTOR_FACTORY);
+ .add(getCoreConfig().customValidationParameterExtractorFactoryClassName());
validationParameterExtractorFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.VALIDATION_PARAMETER_EXTRACTOR_FACTORY));
@@ -310,7 +312,7 @@ public class DefaultFactoryFinder implem
List<String> storageManagerFactoryClassNames = new ArrayList<String>();
storageManagerFactoryClassNames
- .add(WebXmlParameter.CUSTOM_STORAGE_MANAGER_FACTORY);
+ .add(getCoreConfig().customStorageManagerFactoryClassName());
storageManagerFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.STORAGE_MANAGER_FACTORY));
@@ -335,7 +337,7 @@ public class DefaultFactoryFinder implem
List<String> validationParameterFactoryClassNames = new ArrayList<String>();
validationParameterFactoryClassNames
- .add(WebXmlParameter.CUSTOM_VALIDATION_PARAMETER_FACTORY);
+ .add(getCoreConfig().customValidationParameterFactoryClassName());
validationParameterFactoryClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.VALIDATION_PARAMETER_FACTORY));
@@ -353,4 +355,12 @@ public class DefaultFactoryFinder implem
return factory;
}
+ private ExtValCoreConfiguration getCoreConfig()
+ {
+ if(this.extValCoreConfig == null)
+ {
+ this.extValCoreConfig = ExtValCoreConfiguration.get();
+ }
+ return this.extValCoreConfig;
+ }
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/AbstractValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/AbstractValidationInterceptor.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/AbstractValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/AbstractValidationInterceptor.java Tue Jun 22 23:04:19 2010
@@ -21,8 +21,8 @@ package org.apache.myfaces.extensions.va
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
-import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.ValidationModuleKey;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;
import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
import org.apache.myfaces.extensions.validator.core.storage.RendererInterceptorPropertyStorage;
@@ -250,7 +250,7 @@ public abstract class AbstractValidation
private boolean isComponentInitializationDeactivated()
{
- return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_COMPONENT_INITIALIZATION);
+ return ExtValCoreConfiguration.get().deactivateComponentInitialization();
}
protected boolean recordProcessedInformation()
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultComponentMetaDataExtractorFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultComponentMetaDataExtractorFactory.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultComponentMetaDataExtractorFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/extractor/DefaultComponentMetaDataExtractorFactory.java Tue Jun 22 23:04:19 2010
@@ -18,9 +18,9 @@
*/
package org.apache.myfaces.extensions.validator.core.metadata.extractor;
-import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.core.CustomInformation;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.util.ClassUtils;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.internal.ToDo;
@@ -71,7 +71,7 @@ public class DefaultComponentMetaDataExt
{
List<String> metaDataExtractorClassNames = new ArrayList<String>();
- metaDataExtractorClassNames.add(WebXmlParameter.CUSTOM_COMPONENT_META_DATA_EXTRACTOR);
+ metaDataExtractorClassNames.add(ExtValCoreConfiguration.get().customComponentMetaDataExtractorClassName());
metaDataExtractorClassNames
.add(ExtValContext.getContext().getInformationProviderBean()
.get(CustomInformation.COMPONENT_META_DATA_EXTRACTOR));
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/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_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/DefaultMetaDataTransformerFactory.java Tue Jun 22 23:04:19 2010
@@ -34,11 +34,11 @@ import org.apache.myfaces.extensions.val
ValidationStrategyToMetaDataTransformerSubMapperAwareNameMapper;
import org.apache.myfaces.extensions.validator.util.ClassUtils;
import org.apache.myfaces.extensions.validator.util.ProxyUtils;
+import org.apache.myfaces.extensions.validator.util.NullValueAwareConcurrentHashMap;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@@ -191,7 +191,8 @@ public class DefaultMetaDataTransformerF
private synchronized void initStaticMappings()
{
- validationStrategyToMetaDataTransformerMapping = new HashMap<String, String>();
+ validationStrategyToMetaDataTransformerMapping =
+ new NullValueAwareConcurrentHashMap<String, String>(String.class);
//setup internal static mappings
for (StaticConfiguration<String, String> staticConfig :
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/mapper/CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/mapper/CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/mapper/CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/metadata/transformer/mapper/CustomConfiguredValidationStrategyToMetaDataTransformerNameMapper.java Tue Jun 22 23:04:19 2010
@@ -18,8 +18,8 @@
*/
package org.apache.myfaces.extensions.validator.core.metadata.transformer.mapper;
-import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
import org.apache.myfaces.extensions.validator.core.InvocationOrder;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.mapper.AbstractCustomNameMapper;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -39,6 +39,6 @@ public class CustomConfiguredValidationS
{
protected String getCustomNameMapperClassName()
{
- return WebXmlParameter.CUSTOM_VALIDATION_STRATEGY_TO_META_DATA_TRANSFORMER_NAME_MAPPER;
+ return ExtValCoreConfiguration.get().customValidationStrategyToMetaDataTransformerNameMapperClassName();
}
}
\ No newline at end of file
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/DefaultPropertyInformation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/DefaultPropertyInformation.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/DefaultPropertyInformation.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/DefaultPropertyInformation.java Tue Jun 22 23:04:19 2010
@@ -79,4 +79,38 @@ public class DefaultPropertyInformation
this.metaDataList.clear();
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (!(o instanceof DefaultPropertyInformation))
+ {
+ return false;
+ }
+
+ DefaultPropertyInformation that = (DefaultPropertyInformation) o;
+
+ if (!informationMap.equals(that.informationMap))
+ {
+ return false;
+ }
+ if (!metaDataList.equals(that.metaDataList))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = informationMap.hashCode();
+ result = 31 * result + metaDataList.hashCode();
+ return result;
+ }
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/PropertyDetails.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/PropertyDetails.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/PropertyDetails.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/property/PropertyDetails.java Tue Jun 22 23:04:19 2010
@@ -65,4 +65,43 @@ public class PropertyDetails
{
this.property = property;
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (!(o instanceof PropertyDetails))
+ {
+ return false;
+ }
+
+ PropertyDetails that = (PropertyDetails) o;
+
+ if (baseObject != null ? !baseObject.equals(that.baseObject) : that.baseObject != null)
+ {
+ return false;
+ }
+ if (key != null ? !key.equals(that.key) : that.key != null)
+ {
+ return false;
+ }
+ if (property != null ? !property.equals(that.property) : that.property != null)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = key != null ? key.hashCode() : 0;
+ result = 31 * result + (baseObject != null ? baseObject.hashCode() : 0);
+ result = 31 * result + (property != null ? property.hashCode() : 0);
+ return result;
+ }
}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/DefaultRenderKitWrapperFactory.java Tue Jun 22 23:04:19 2010
@@ -36,7 +36,7 @@ public class DefaultRenderKitWrapperFact
"org.apache.myfaces.extensions.validator.generic.renderkit.GenericRenderKitWrapperFactory";
private static Boolean useGenericRenderKitWrapperFactory = null;
- protected RenderKit createWrapper(RenderKit renderKit)
+ protected synchronized RenderKit createWrapper(RenderKit renderKit)
{
logger.finest("extval renderkit wrapper created for " + renderKit.getClass().getName());
@@ -60,4 +60,4 @@ public class DefaultRenderKitWrapperFact
}
return this.renderKit;
}
-}
\ No newline at end of file
+}
Modified: myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValLazyRendererProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValLazyRendererProxy.java?rev=957073&r1=957072&r2=957073&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValLazyRendererProxy.java (original)
+++ myfaces/extensions/validator/branches/branch_for_extval-100/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValLazyRendererProxy.java Tue Jun 22 23:04:19 2010
@@ -20,8 +20,7 @@ package org.apache.myfaces.extensions.va
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
-import org.apache.myfaces.extensions.validator.core.ExtValContext;
-import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;
@@ -109,17 +108,10 @@ class ExtValLazyRendererProxy extends Re
private Renderer getLazyRenderer()
{
- String proxyClassName = (String) ExtValContext.getContext().getGlobalProperty(ExtValRendererProxy.KEY);
+ Class<? extends Renderer> targetClass = ExtValCoreConfiguration.get().rendererProxy();
- if(proxyClassName != null && !proxyClassName.endsWith(getClass().getName()))
+ if(targetClass != null)
{
- Class targetClass = ClassUtils.tryToLoadClassForName(proxyClassName);
-
- if(targetClass == null)
- {
- throw new IllegalStateException("a custom invalid renderer proxy is configured: " + proxyClassName);
- }
-
Class[] argClasses = new Class[1];
argClasses[0] = Renderer.class;
@@ -145,4 +137,4 @@ class ExtValLazyRendererProxy extends Re
{
return this.wrapped;
}
-}
\ No newline at end of file
+}