You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/02/02 19:30:46 UTC
svn commit: r740062 - in
/myfaces/extensions/validator/branches/branch_for_jsf_1_1:
component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/
component-support/trinidad-support/src/main/java/org/apache/myfaces/e...
Author: gpetracek
Date: Mon Feb 2 18:30:45 2009
New Revision: 740062
URL: http://svn.apache.org/viewvc?rev=740062&view=rev
Log:
EXTVAL-34 basic CoreOutputLabel support
Added:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/SkipMetaDataTransformer.java
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/examples/feature-set_01/src/main/webapp/pages/change_password.xhtml
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java Mon Feb 2 18:30:45 2009
@@ -37,6 +37,9 @@
static final String DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION = WebXmlUtils
.getInitParameter("DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION");
+ static final String DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION = WebXmlUtils
+ .getInitParameter("DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION");
+
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_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java Mon Feb 2 18:30:45 2009
@@ -38,7 +38,7 @@
*/
@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
@UsageInformation(UsageCategory.INTERNAL)
-public class DoubleRangeInitializer extends TrinidadComponentInitializer
+class DoubleRangeInitializer extends TrinidadComponentInitializer
{
@Override
public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
@@ -70,7 +70,8 @@
}
}
- if(informationAdded && doubleRangeValidator instanceof ClientValidator)
+ if(informationAdded &&
+ doubleRangeValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
{
((EditableValueHolder)uiComponent).addValidator(
new ExtValTrinidadClientValidatorWrapper((ClientValidator)doubleRangeValidator));
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java Mon Feb 2 18:30:45 2009
@@ -26,6 +26,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadClientValidatorWrapper;
import org.apache.myfaces.trinidad.validator.ClientValidator;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
@@ -39,7 +40,7 @@
*/
@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
@UsageInformation(UsageCategory.INTERNAL)
-public class LengthInitializer extends TrinidadComponentInitializer
+class LengthInitializer extends TrinidadComponentInitializer
{
@Override
public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
@@ -86,8 +87,23 @@
if(informationAdded && lengthValidator instanceof ClientValidator)
{
- ((EditableValueHolder)uiComponent).addValidator(
- new ExtValTrinidadClientValidatorWrapper((ClientValidator)lengthValidator));
+ if(uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)lengthValidator));
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ if(lengthValidator.getMinimum() > 0)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(true);
+ }
+
+ if(Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)))
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(false);
+ }
+ }
return true;
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java Mon Feb 2 18:30:45 2009
@@ -38,7 +38,7 @@
*/
@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
@UsageInformation(UsageCategory.INTERNAL)
-public class LongRangeInitializer extends TrinidadComponentInitializer
+class LongRangeInitializer extends TrinidadComponentInitializer
{
@Override
public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
@@ -70,12 +70,13 @@
}
}
- if(informationAdded && longRangeValidator instanceof ClientValidator)
+ if(informationAdded &&
+ longRangeValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
{
- ((EditableValueHolder)uiComponent).addValidator(
- new ExtValTrinidadClientValidatorWrapper((ClientValidator)longRangeValidator));
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)longRangeValidator));
- return true;
+ return true;
}
return false;
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java Mon Feb 2 18:30:45 2009
@@ -38,7 +38,7 @@
*/
@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
@UsageInformation(UsageCategory.INTERNAL)
-public class PatternInitializer extends TrinidadComponentInitializer
+class PatternInitializer extends TrinidadComponentInitializer
{
@Override
public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
@@ -62,7 +62,7 @@
regExpValidator.setMessageDetailNoMatch((String)metaData.get(
CommonMetaDataKeys.PATTERN_VALIDATION_ERROR_MESSAGE));
- if(regExpValidator instanceof ClientValidator)
+ if(regExpValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
{
((EditableValueHolder)uiComponent).addValidator(
new ExtValTrinidadClientValidatorWrapper((ClientValidator)regExpValidator));
@@ -70,4 +70,4 @@
}
return true;
}
-}
\ No newline at end of file
+}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java Mon Feb 2 18:30:45 2009
@@ -22,6 +22,8 @@
import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.util.TrinidadUtils;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
@@ -33,7 +35,7 @@
* @since 1.x.1
*/
@UsageInformation(UsageCategory.INTERNAL)
-public class RequiredInitializer extends TrinidadComponentInitializer
+class RequiredInitializer extends TrinidadComponentInitializer
{
@Override
public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
@@ -43,18 +45,35 @@
metaData.containsKey(CommonMetaDataKeys.WEAK_REQUIRED)||
metaData.containsKey(CommonMetaDataKeys.SKIP_VALIDATION))
{
- if((Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.WEAK_REQUIRED)) ||
+ if((
+ (!Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)) &&
+ Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.WEAK_REQUIRED))) ||
Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.REQUIRED)))
&&
Boolean.TRUE.equals(isComponentRequired(uiComponent)))
{
- ((EditableValueHolder)uiComponent).setRequired(true);
+ if(uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).setRequired(true);
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(true);
+ }
+
return true;
}
else if(Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)) &&
!Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.REQUIRED)))
{
- ((EditableValueHolder)uiComponent).setRequired(false);
+ if(uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).setRequired(false);
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(false);
+ }
return true;
}
}
@@ -63,6 +82,16 @@
protected Boolean isComponentRequired(UIComponent uiComponent)
{
+ if(uiComponent instanceof CoreOutputLabel)
+ {
+ uiComponent = TrinidadUtils.findLabeledEditableComponent((CoreOutputLabel) uiComponent);
+
+ if(uiComponent == null)
+ {
+ return false;
+ }
+ }
+
//compare with false so true = true or null
boolean isReadOnly = !Boolean.FALSE.equals(ReflectionUtils.tryToInvokeMethod(
uiComponent, ReflectionUtils.tryToGetMethod(uiComponent.getClass(), "isReadOnly")));
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java Mon Feb 2 18:30:45 2009
@@ -36,7 +36,7 @@
*/
@UsageInformation(value = UsageCategory.INTERNAL)
@ToDo(value = Priority.LOW, description = "impl. trinidad e-mail validator")
-public class ValidatorInitializer implements ComponentInitializer
+class ValidatorInitializer implements ComponentInitializer
{
public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
{
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java?rev=740062&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java Mon Feb 2 18:30:45 2009
@@ -0,0 +1,137 @@
+/*
+ * 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.interceptor;
+
+import org.apache.myfaces.extensions.validator.core.interceptor.AbstractRendererInterceptor;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
+import org.apache.myfaces.extensions.validator.core.metadata.extractor.ComponentMetaDataExtractorFactory;
+import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;
+import org.apache.myfaces.extensions.validator.core.factory.FactoryNames;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
+import org.apache.myfaces.extensions.validator.trinidad.util.TrinidadUtils;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
+
+import javax.faces.render.Renderer;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.lang.annotation.Annotation;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+public class TrinidadRendererInterceptor extends AbstractRendererInterceptor
+{
+ private static Class<Annotation> markerAnnotationClass = null;
+
+ static
+ {
+ Class resultingClass = ClassUtils.tryToLoadClassForName(
+ "org.apache.myfaces.extensions.validator.baseval.annotation.SkipValidationSupport");
+
+ if(resultingClass != null && Annotation.class.isAssignableFrom(resultingClass))
+ {
+ markerAnnotationClass = resultingClass;
+ }
+ }
+
+ public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
+ throws IOException
+ {
+ if(filterCoreOutputLabel(uiComponent))
+ {
+ initCoreOutputLabel(facesContext, (CoreOutputLabel)uiComponent);
+ }
+ }
+
+ private boolean filterCoreOutputLabel(UIComponent uiComponent)
+ {
+ return (uiComponent instanceof CoreOutputLabel);
+ }
+
+ protected void initCoreOutputLabel(FacesContext facesContext, CoreOutputLabel coreOutputLabel)
+ {
+ ValidationStrategy validationStrategy;
+ MetaDataTransformer metaDataTransformer;
+
+ MetaDataExtractor annotationExtractor = ExtValContext.getContext().getFactoryFinder().getFactory(
+ FactoryNames.COMPONENT_META_DATA_EXTRACTOR_FACTORY, ComponentMetaDataExtractorFactory.class).create();
+
+ UIComponent targetComponent = TrinidadUtils.findLabeledEditableComponent(coreOutputLabel);
+
+ if(targetComponent == null)
+ {
+ return;
+ }
+
+ Boolean skipInitialization = false;
+
+ Map<String, Object> metaData;
+ for (MetaDataEntry entry : annotationExtractor.extract(facesContext, targetComponent).getMetaDataEntries())
+ {
+ validationStrategy = ExtValUtils.getValidationStrategyForMetaDataEntry(entry);
+
+ if (validationStrategy != null)
+ {
+ metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(validationStrategy);
+
+ if(metaDataTransformer != null)
+ {
+ metaData = metaDataTransformer.convertMetaData(entry);
+ }
+ else
+ {
+ metaData = null;
+ }
+
+ if(metaData == null)
+ {
+ metaData = new HashMap<String, Object>();
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.SKIP_VALIDATION))
+ {
+ //execute skip validation strategy -> skip validation y/n in entry
+ validationStrategy.validate(facesContext, targetComponent, entry, null);
+ skipInitialization = entry.getProperty(CommonMetaDataKeys.SKIP_VALIDATION, Boolean.class);
+ continue;
+ }
+
+ if(Boolean.TRUE.equals(skipInitialization) && !metaData.isEmpty() &&
+ validationStrategy.getClass().isAnnotationPresent(markerAnnotationClass))
+ {
+ metaData.put(CommonMetaDataKeys.SKIP_VALIDATION, true);
+ }
+
+ if(!metaData.isEmpty())
+ {
+ ExtValUtils.configureComponentWithMetaData(facesContext, coreOutputLabel, metaData);
+ }
+ }
+ }
+ }
+
+}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/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_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java Mon Feb 2 18:30:45 2009
@@ -27,6 +27,7 @@
import org.apache.myfaces.extensions.validator.trinidad.WebXmlParameter;
import org.apache.myfaces.extensions.validator.trinidad.renderkit.ExtValTrinidadRendererProxy;
import org.apache.myfaces.extensions.validator.trinidad.interceptor.TrinidadValidationExceptionInterceptor;
+import org.apache.myfaces.extensions.validator.trinidad.interceptor.TrinidadRendererInterceptor;
import org.apache.myfaces.extensions.validator.internal.Priority;
import org.apache.myfaces.extensions.validator.internal.ToDo;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -60,6 +61,13 @@
ExtValContext.getContext().addComponentInitializer(new TrinidadComponentInitializer());
}
+ String deactivateInitCoreOutputLabel = WebXmlParameter.DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION;
+
+ if(deactivateInitCoreOutputLabel == null || !deactivateInitCoreOutputLabel.equalsIgnoreCase("true"))
+ {
+ ExtValContext.getContext().registerRendererInterceptor(new TrinidadRendererInterceptor());
+ }
+
String deactivateTrinidadValidationExceptionInterceptor =
WebXmlParameter.DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR;
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java?rev=740062&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java Mon Feb 2 18:30:45 2009
@@ -0,0 +1,61 @@
+/*
+ * 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.util;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.EditableValueHolder;
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+@ToDo(value = Priority.MEDIUM, description = "check subform")
+public class TrinidadUtils
+{
+ protected static final Log LOG = LogFactory.getLog(TrinidadUtils.class);
+
+ public static UIComponent findLabeledEditableComponent(CoreOutputLabel coreOutputLabel)
+ {
+ //TODO
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ UIComponent result = facesContext.getViewRoot().findComponent(coreOutputLabel.getFor());
+
+ if(result instanceof EditableValueHolder)
+ {
+ return result;
+ }
+
+ if(LOG.isTraceEnabled())
+ {
+ LOG.trace(coreOutputLabel.getClientId(facesContext) + " doesn't reference an editable component");
+ }
+
+ return null;
+ }
+}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/examples/feature-set_01/src/main/webapp/pages/change_password.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/examples/feature-set_01/src/main/webapp/pages/change_password.xhtml?rev=740062&r1=740061&r2=740062&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/examples/feature-set_01/src/main/webapp/pages/change_password.xhtml (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/examples/feature-set_01/src/main/webapp/pages/change_password.xhtml Mon Feb 2 18:30:45 2009
@@ -36,14 +36,26 @@
<ui:define name="content">
- <tr:panelFormLayout>
+ <table>
+ <tr>
+ <td><tr:outputLabel value="old password" for="old_password"/></td>
+ <td><tr:inputText id="old_password" simple="true" value="#{registrationPage.oldPassword}" secret="true"/></td>
+ <td><tr:message for="old_password"/></td>
+ </tr>
+
+ <tr>
+ <td><tr:outputLabel value="new password" for="new_password"/></td>
+ <td><tr:inputText id="new_password" simple="true" value="#{registrationPage.password}" secret="true"/></td>
+ <td><tr:message for="new_password"/></td>
+ </tr>
+
+ <tr>
+ <td><tr:outputLabel value="re-enter password" for="reentered"/></td>
+ <td><tr:inputText id="reentered" simple="true" value="#{registrationPage.passwordRepeated}" secret="true"/></td>
+ <td><tr:message for="reentered"/></td>
+ </tr>
- <tr:inputText label="old password" value="#{registrationPage.oldPassword}" secret="true"/>
-
- <tr:inputText label="new password" value="#{registrationPage.password}" secret="true"/>
- <tr:inputText label="re-enter password" value="#{registrationPage.passwordRepeated}" secret="true"/>
-
- </tr:panelFormLayout>
+ </table>
<tr:commandButton text="save" action="#{registrationPage.finish}"/>
</ui:define>
</ui:composition>
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/SkipMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/SkipMetaDataTransformer.java?rev=740062&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/SkipMetaDataTransformer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/SkipMetaDataTransformer.java Mon Feb 2 18:30:45 2009
@@ -0,0 +1,43 @@
+/*
+ * 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.baseval.metadata.transformer;
+
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.metadata.transformer.MetaDataTransformer;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class SkipMetaDataTransformer implements MetaDataTransformer
+{
+ public Map<String, Object> convertMetaData(MetaDataEntry metaDataEntry)
+ {
+ Map<String, Object> results = new HashMap<String, Object>();
+ results.put(CommonMetaDataKeys.SKIP_VALIDATION, true);
+ return results;
+ }
+}