[ 
https://issues.apache.org/jira/browse/TAP5-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13061621#comment-13061621
 ] 

Hudson commented on TAP5-1549:
------------------------------

Integrated in tapestry-trunk-freestyle #412 (See 
[https://builds.apache.org/job/tapestry-trunk-freestyle/412/])
    TAP5-1549: Refactor ParameterWorker and BindParameterWorker to 
ComponentClassTransformWorker2
Change the way generics are used in PlasticField.setConduit() and 
setComputedConduit()
Change ParameterConduit to extend from FieldConduit, not the old 
FieldValueConduit
Add NamedSet.eachValue() to apply an operation to each value stored in the set

hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1143993
Files : 
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectComponentWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ReadOnlyFieldValueConduit.java
* 
/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformConstants.java
* 
/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticField.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/EnvironmentalWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/InternalComponentResourcesImpl.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectPageWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ComponentWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/NamedSet.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BridgeClassTransformation.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/UnclaimedFieldWorker.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterConduit.java
* 
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java


> ParameterWorker forces evaluation of default method, even if the parameter is 
> bound by other means
> --------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-1549
>                 URL: https://issues.apache.org/jira/browse/TAP5-1549
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.2.5
>            Reporter: Robert Zeigler
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.3
>
>
> The revised implementation of ParameterWorker evaluates the defaultXXX method 
> regardless of whether or not the parameter is bound.  This can easily lead to 
> application exceptions, particularly when the defaultXXX value is computed 
> rather than static.  
> For example, loop's "encoder" parameter attempts to get a ValueEncoder from 
> ValueEncoderSource.  This will fail if, for instance, the loop's value is a 
> hibernate entity with a multi-column PK, even if the developer binds a custom 
> ValueEncoder to the parameter to handle the entity. Admittedly, this case has 
> a workaround: contribute the custom encoder to ValueEncoderSource.  But 
> that's only one edge case.
> The correct solution is to lazily evaluate defaultXXX methods. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to