Hi Rich,

can you please go ahead and open a jira ticket on it?
If you upload the patch file, don't forget to press "patch available"

Thanks,
Matthias

On 4/19/06, Richard Wallace <[EMAIL PROTECTED]> wrote:
> Richard Wallace wrote:
> > Martin Marinschek wrote:
> >> I was already wondering myself. It would fit better in the component,
> >> if there is one.
> >>
> >> Manfred?
> >>
> >> @Rich: Can you do a patch - would be great.
> >>
> >>
> > On closer inspection I think I see why it is in the tag class rather
> > than the component itself.  It uses the
> > UIComponentTag.isValueReference() to determine if the value attribute
> > is a value binding or not.  I think that should be fine where it is,
> > so just adding a setProperty(String) method and creating a value
> > binding from that will work.  I tested it in my own app by subclassing
> > UpdateActionListener and adding the method.  Works as it should.
> > Attached is a patch of UpdateActionListener and
> > UpdateActionListenerTag to add the setProperty(String) method and
> > create the value binding and in the tag class to just pass along the
> > string value to the component rather than create the value binding
> > there.  I'm open to comments/criticisms.
> >
> > Rich
> Ok, I was wrong.  You do need to also change the setValue() method.  I'm
> not sure about the best way to do this, so I just assumed it would be a
> value binding and everything works as it should:
>
>     public void setValue (Object value) {
>         setValueBinding (FacesContext.getCurrentInstance
> ().getApplication ().createValueBinding (value.toString ()));
>     }
>
> >> regards,
> >>
> >> Martin
> >>
> >> On 4/19/06, Richard Wallace <[EMAIL PROTECTED]> wrote:
> >>
> >>> I'm trying to make use of the Tomahawk updateActionListener action
> >>> listener in a Shale Clay based app and was having problems getting
> >>> it to
> >>> work properly.  After doing some debugging I realized that the problem
> >>> was that I was trying to map to the property "property" on the
> >>> UpdateActionListener class thinking that the tag "property" attribute
> >>> just passed the value through.
> >>>
> >>> On closer inspection I realized this isn't the case and that the
> >>> UpdateActionListenerTag itself takes the value set for the "property"
> >>> attribute and creates a value binding which is passed to the
> >>> UpdateActionListener with the setPropertyBinding() method.  Similarly,
> >>> the UpdateActionListenerTag also figures out if the "value"
> >>> attribute is
> >>> supposed to be an actual value object or a value binding.
> >>>
> >>> I searched this list and this was also a problem when trying to
> >>> integrate with Facelets.  So my question is why is all this work
> >>> done in
> >>> the UpdateActionListenerTag class instead of in the
> >>> UpdateActionListener
> >>> class itself?  Then the tag class would just pass the values through
> >>> like all the other tags in JSF.
> >>>
> >>> Rich
> >>>
> >>>
> >>
> >>
> >> --
> >>
> >> http://www.irian.at
> >>
> >> Your JSF powerhouse -
> >> JSF Consulting, Development and
> >> Courses in English and German
> >>
> >> Professional Support for Apache MyFaces
> >>
> >
> > ------------------------------------------------------------------------
> >
> > Index: 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListenerTag.java
> > ===================================================================
> > --- 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListenerTag.java
> >  (revision 395279)
> > +++ 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListenerTag.java
> >  (working copy)
> > @@ -79,7 +79,7 @@
> >                  FacesContext facesContext = 
> > FacesContext.getCurrentInstance();
> >                  Application application = facesContext.getApplication();
> >                  UpdateActionListener al = new UpdateActionListener();
> > -                
> > al.setPropertyBinding(application.createValueBinding(_property));
> > +                al.setProperty(_property);
> >                  if (UIComponentTag.isValueReference(_value))
> >                  {
> >                      
> > al.setValueBinding(application.createValueBinding(_value));
> > Index: 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListener.java
> > ===================================================================
> > --- 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListener.java
> >     (revision 395279)
> > +++ 
> > src/main/java/org/apache/myfaces/custom/updateactionlistener/UpdateActionListener.java
> >     (working copy)
> > @@ -68,6 +68,11 @@
> >      private ValueBinding _valueBinding;
> >      private Converter _converter;
> >
> > +    public void setProperty (String property) {
> > +        setPropertyBinding (FacesContext.getCurrentInstance 
> > ().getApplication ().createValueBinding (property));
> > +    }
> > +
> > +
> >      public void setPropertyBinding(ValueBinding propertyBinding)
> >      {
> >          _propertyBinding = propertyBinding;
> >
>
>


--
Matthias Wessendorf
Aechterhoek 18
48282 Emsdetten
http://jroller.com/page/mwessendorf
mwessendorf-at-gmail-dot-com

Reply via email to