>I think the change to save id state in the attributes collection broke use
>of commons validator.
> It's throwing runtime exception in PropertyValueCommand:
>  try {
>PropUtils.setProperty(child, attributeBean.getName(), expr);
>} catch (Exception e) {
>if (child instanceof UIComponentBase)
>((UIComponentBase) child).getAttributes().put(attributeBean.getName(),
>expr);
>else
>throw e;
>}
> Now that id is in attributes collection, PropertValueCommand tries to setId
>on CommonsValidator which does not have this property.
>And since it's not instanceof UIComponentBase, you get throw e.
> Maybe the code above should check if child is instanceof
>javax.faces.validator.Validator and not throw exception in that case. I
>don't believe that validators necessarily need ids?

We could override the behavior of the getId and setId in the ValidatorBean, 
ValueChangeListenerBean and ConverterBean.

Or, I just log it as an error and continue on.  I like the idea of one 
component being able to morph into another but I know that others would rather 
raise an exception.  It's kind of a gray area when it comes to components 
because attributes don't have to be defined as bean properties. 

Any thoughts?

Gary   



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to