Parameters with defined with a default-value counted as "invariant"
-------------------------------------------------------------------

                 Key: TAPESTRY-1682
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1682
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 4.1.2
            Reporter: Martino Piccinato


Even though I found this problem with Dialog component it seems to affect any 
similar component parameter, that is an optional component parameters with a 
constant default value, take as an example Dialog:

   <parameter name="hidden" default-value="true" />

Unless the optional parameter is configured with a ognl method binding the 
parameter itself is somehow regarded as "Invariant" by ExpressionBinding class 
that will throw a ReadOnlyBindingException when trying to use a setter on it. 
In particular, for Dialog component this mean to fail everytime the component 
is show()/hide() as setHidden has to be called to set the actual status for the 
component.

There seems to be some kind of confusion between the component parameter method 
and the binding method/default value here when creating the binding. In my 
opinion a "default-value" should be just a default value if the parameter is 
configured/initialized but this shouldn't prevent to use setters and getters on 
the parameter after the component is created. And this is the same thing that 
thought the creator of Dialog component I think :-)

The way to repeat this is very simple: just use the Dialog component anywhere 
without using the hidden parameter and using hide() or show() at some time.




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to