Author: manaRH
Date: 2012-05-13 07:19:13 -0400 (Sun, 13 May 2012)
New Revision: 14687
Modified:
branches/community/Seam_2_3/jboss-seam-ui/src/main/java/org/jboss/seam/ui/renderkit/EqualityValidatorRendererBase.java
Log:
JBSEAM-4919 applied patch from Brian Leathem to fix attaching EqualityValidator for
UIInput component
Modified:
branches/community/Seam_2_3/jboss-seam-ui/src/main/java/org/jboss/seam/ui/renderkit/EqualityValidatorRendererBase.java
===================================================================
---
branches/community/Seam_2_3/jboss-seam-ui/src/main/java/org/jboss/seam/ui/renderkit/EqualityValidatorRendererBase.java 2012-05-12
07:45:15 UTC (rev 14686)
+++
branches/community/Seam_2_3/jboss-seam-ui/src/main/java/org/jboss/seam/ui/renderkit/EqualityValidatorRendererBase.java 2012-05-13
11:19:13 UTC (rev 14687)
@@ -6,6 +6,7 @@
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import javax.faces.event.*;
import javax.faces.validator.Validator;
import org.jboss.seam.ui.component.UIEqualityValidator;
@@ -16,9 +17,11 @@
* This class mainly does some validation "hook-in"
*
* @author Daniel Roth
+ * @author <a
href="http://community.jboss.org/people/bleathem">Brian
Leathem</a>
*
*/
-public class EqualityValidatorRendererBase extends RendererBase
+@ListenerFor(systemEventClass = PostAddToViewEvent.class)
+public class EqualityValidatorRendererBase extends RendererBase implements
ComponentSystemEventListener
{
@Override
@@ -27,8 +30,7 @@
return UIEqualityValidator.class;
}
- @Override
- protected void doEncodeChildren(ResponseWriter writer, FacesContext context,
UIComponent component) throws IOException
+ private void attachValidator(UIComponent component)
{
UIEqualityValidator ev = (UIEqualityValidator) component;
EditableValueHolder evh = null;
@@ -46,7 +48,6 @@
evh.setRequired(ev.isRequired());
}
- renderChildren(context, component);
}
private boolean hasEqualityValidator(EditableValueHolder evh)
@@ -67,4 +68,10 @@
return true;
}
+ @Override
+ public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
+ {
+ UIComponent component = event.getComponent();
+ this.attachValidator(component);
+ }
}