You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/10/19 20:42:09 UTC
svn commit: r826756 - in /myfaces/extensions/validator/trunk:
component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/
core/src/main/java/org/apache/myfaces/extensions/validator/core/ core/sr...
Author: gpetracek
Date: Mon Oct 19 18:42:09 2009
New Revision: 826756
URL: http://svn.apache.org/viewvc?rev=826756&view=rev
Log:
EXTVAL-68 and minor changes
Added:
myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java
- copied, changed from r826484, myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/HtmlCoreComponentsValidationExceptionInterceptor.java
Removed:
myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/HtmlCoreComponentsValidationExceptionInterceptor.java
Modified:
myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java
myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptorInternals.java
myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java
myfaces/extensions/validator/trunk/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/test/core/interceptor/RegistrationValidationExceptionInterceptorTestCase.java
Modified: myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java (original)
+++ myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java Mon Oct 19 18:42:09 2009
@@ -94,9 +94,14 @@
private void tryToPlaceLabelIn(FacesMessage newFacesMessage)
{
- for (int i = 0; i < 3; i++)
+ String label = getLabelText();
+
+ if(label != null)
{
- ExtValUtils.tryToPlaceLabel(newFacesMessage, getLabelText(), i);
+ for (int i = 0; i < 3; i++)
+ {
+ ExtValUtils.tryToPlaceLabel(newFacesMessage, label, i);
+ }
}
}
Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java Mon Oct 19 18:42:09 2009
@@ -132,7 +132,10 @@
//to display all violations via the messages-tag or to use the new jsf 2.0 support
static final String ACTIVATE_MULTIPLE_VIOLATION_MESSAGES_PER_FIELD = WebXmlUtils
.getInitParameter("ACTIVATE_MULTIPLE_VIOLATION_MESSAGES_PER_FIELD");
-
+
+ /*
+ * spec parameters
+ */
static final String INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL = WebXmlUtils
.getInitParameter("javax.faces", "INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL");
Copied: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java (from r826484, myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/HtmlCoreComponentsValidationExceptionInterceptor.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java?p2=myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java&p1=myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/HtmlCoreComponentsValidationExceptionInterceptor.java&r1=826484&r2=826756&rev=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/HtmlCoreComponentsValidationExceptionInterceptor.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java Mon Oct 19 18:42:09 2009
@@ -16,10 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.myfaces.extensions.validator;
+package org.apache.myfaces.extensions.validator.core.interceptor;
import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
-import org.apache.myfaces.extensions.validator.core.interceptor.ValidationExceptionInterceptor;
import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.validation.message.LabeledMessage;
Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java Mon Oct 19 18:42:09 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.core.interceptor.ValidationInterceptor;
+import org.apache.myfaces.extensions.validator.core.interceptor.HtmlCoreComponentsValidationExceptionInterceptor;
import org.apache.myfaces.extensions.validator.core.ExtValContext;
import org.apache.myfaces.extensions.validator.core.CustomInformation;
import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
@@ -88,6 +89,7 @@
.addGlobalProperty(ExtValRendererProxy.KEY, ExtValRendererProxy.class.getName(), false);
initNameMappers();
+ initDefaultValidationExceptionInterceptor();
executeCustomStartupListener();
}
@@ -169,4 +171,10 @@
}
}
}
+
+ private void initDefaultValidationExceptionInterceptor()
+ {
+ ExtValContext.getContext().addValidationExceptionInterceptor(
+ new HtmlCoreComponentsValidationExceptionInterceptor());
+ }
}
Modified: myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptorInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptorInternals.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptorInternals.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptorInternals.java Mon Oct 19 18:42:09 2009
@@ -28,6 +28,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.util.JsfUtils;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
@@ -38,6 +39,7 @@
import javax.validation.metadata.BeanDescriptor;
import javax.validation.metadata.ConstraintDescriptor;
import javax.validation.metadata.ElementDescriptor;
+import java.util.MissingResourceException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -51,6 +53,9 @@
class BeanValidationInterceptorInternals
{
private Log logger;
+ private final String defaultLabelMessageTemplate = "{1}: {0}";
+ private String labelMessageTemplate = defaultLabelMessageTemplate;
+ private final String JAVAX_FACES_VALIDATOR_BEANVALIDATOR_MESSAGE = "javax.faces.validator.BeanValidator.MESSAGE";
BeanValidationInterceptorInternals(Log logger)
{
@@ -197,12 +202,12 @@
{
String violationMessage = violation.getMessage();
- String labeledMessage = "{0}: " + violationMessage;
+ String labeledMessage = createLabeledMessage(violationMessage);
+
ValidatorException validatorException = createValidatorException(labeledMessage);
executeAfterThrowingInterceptors(uiComponent, convertedObject, validatorException);
- //check if the message has changed
if (isMessageTextUnchanged(validatorException, labeledMessage))
{
violationMessages.add(violationMessage);
@@ -213,6 +218,34 @@
}
}
+ private String createLabeledMessage(String violationMessage)
+ {
+ if(labelMessageTemplate == null)
+ {
+ return this.defaultLabelMessageTemplate.replace("{0}", violationMessage);
+ }
+
+ this.labelMessageTemplate = loadStandardMessageTemplate();
+
+ if(labelMessageTemplate == null)
+ {
+ return createLabeledMessage(violationMessage);
+ }
+ return labelMessageTemplate.replace("{0}", violationMessage);
+ }
+
+ private String loadStandardMessageTemplate()
+ {
+ try
+ {
+ return JsfUtils.getDefaultFacesMessageBundle().getString(JAVAX_FACES_VALIDATOR_BEANVALIDATOR_MESSAGE);
+ }
+ catch (MissingResourceException e)
+ {
+ return null;
+ }
+ }
+
private void executeAfterThrowingInterceptors(UIComponent uiComponent,
Object convertedObject,
ValidatorException validatorException)
Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java Mon Oct 19 18:42:09 2009
@@ -60,7 +60,6 @@
initStaticStrategyMappings();
initDefaultComponentInitializer();
- initDefaultValidationExceptionInterceptor();
addSkipValidationSupport();
initStorageManagerAndNameMappers();
initSkipValidationEvaluator();
@@ -87,12 +86,6 @@
ExtValContext.getContext().addComponentInitializer(new HtmlCoreComponentsComponentInitializer());
}
- private void initDefaultValidationExceptionInterceptor()
- {
- ExtValContext.getContext().addValidationExceptionInterceptor(
- new HtmlCoreComponentsValidationExceptionInterceptor());
- }
-
private void addSkipValidationSupport()
{
if(logger.isInfoEnabled())
Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/test/core/interceptor/RegistrationValidationExceptionInterceptorTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/test/core/interceptor/RegistrationValidationExceptionInterceptorTestCase.java?rev=826756&r1=826755&r2=826756&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/test/core/interceptor/RegistrationValidationExceptionInterceptorTestCase.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/test/java/org/apache/myfaces/extensions/validator/test/core/interceptor/RegistrationValidationExceptionInterceptorTestCase.java Mon Oct 19 18:42:09 2009
@@ -24,7 +24,7 @@
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
import org.apache.myfaces.extensions.validator.core.interceptor.ValidationExceptionInterceptor;
-import org.apache.myfaces.extensions.validator.HtmlCoreComponentsValidationExceptionInterceptor;
+import org.apache.myfaces.extensions.validator.core.interceptor.HtmlCoreComponentsValidationExceptionInterceptor;
import junit.framework.Test;
import junit.framework.TestSuite;