You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (Created) (JIRA)" <ji...@apache.org> on 2011/12/22 01:15:30 UTC
[jira] [Created] (TAP5-1801) Component fields should not need to be
private, merely non-public
Component fields should not need to be private, merely non-public
-----------------------------------------------------------------
Key: TAP5-1801
URL: https://issues.apache.org/jira/browse/TAP5-1801
Project: Tapestry 5
Issue Type: Improvement
Components: plastic, tapestry-core
Affects Versions: 5.4
Reporter: Howard M. Lewis Ship
Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175564#comment-13175564 ]
Hudson commented on TAP5-1801:
------------------------------
Integrated in tapestry-trunk-freestyle #648 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/648/])
TAP5-1801: Allow non-public fields in instrumented classes
Update some tests, due to non-private fields being allowed now
TAP5-1801: Allow non-public fields in instrumented classes
Support field instrumentation on accesses from inner classes
TAP5-1801: Allow non-public fields in instrumented classes
Add a test for cross-class field access
TAP5-1801: Allow non-public fields in instrumented classes
Refactor how file instrumentations are stored in the PlasticClass and in the PlasticClassPool
TAP5-1801: Allow non-public fields in instrumented classes
Added most of the logic for tracking instrument methods for fields of classes
TAP5-1801: Allow non-public fields in instrumented classes
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222792
Files :
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Datum.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ProtectedFields.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222790
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ClassType.java
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/FieldAccessTests.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testinterfaces/ValueGetter.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedFieldCollaborator.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222789
Files :
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/FieldAccessTests.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedFieldCollaborator.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222788
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentation.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentations.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222787
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222786
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/NonPrivateInstanceField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/PublicInstanceField.java
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191716#comment-13191716 ]
Hudson commented on TAP5-1801:
------------------------------
Integrated in tapestry-5.3-freestyle #4 (See [https://builds.apache.org/job/tapestry-5.3-freestyle/4/])
Do some backporting work for TAP5-1801 from trunk
mlusetti : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1235046
Files :
* /tapestry/tapestry5/branches/5.3
* /tapestry/tapestry5/branches/5.3/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentation.java
* /tapestry/tapestry5/branches/5.3/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentations.java
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Howard M. Lewis Ship (Assigned) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reassigned TAP5-1801:
------------------------------------------
Assignee: Howard M. Lewis Ship
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1801) Component fields should not need to be
private, merely non-public
Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1801.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.4
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1801) Component fields should not need to be
private, merely non-public
Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1801.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.4
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Reopened] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Howard M. Lewis Ship (Reopened) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reopened TAP5-1801:
----------------------------------------
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Reopened] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Howard M. Lewis Ship (Reopened) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reopened TAP5-1801:
----------------------------------------
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Howard M. Lewis Ship (Assigned) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reassigned TAP5-1801:
------------------------------------------
Assignee: Howard M. Lewis Ship
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1801) Component fields should not need to be
private, merely non-public
Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1801.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.3.2
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1801) Component fields should not need to be
private, merely non-public
Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1801.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.3.2
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175564#comment-13175564 ]
Hudson commented on TAP5-1801:
------------------------------
Integrated in tapestry-trunk-freestyle #648 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/648/])
TAP5-1801: Allow non-public fields in instrumented classes
Update some tests, due to non-private fields being allowed now
TAP5-1801: Allow non-public fields in instrumented classes
Support field instrumentation on accesses from inner classes
TAP5-1801: Allow non-public fields in instrumented classes
Add a test for cross-class field access
TAP5-1801: Allow non-public fields in instrumented classes
Refactor how file instrumentations are stored in the PlasticClass and in the PlasticClassPool
TAP5-1801: Allow non-public fields in instrumented classes
Added most of the logic for tracking instrument methods for fields of classes
TAP5-1801: Allow non-public fields in instrumented classes
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222792
Files :
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Datum.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ProtectedFields.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222790
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ClassType.java
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/FieldAccessTests.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testinterfaces/ValueGetter.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedFieldCollaborator.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222789
Files :
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/FieldAccessTests.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/ProtectedFieldCollaborator.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222788
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentation.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentations.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222787
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1222786
Files :
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
* /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
* /tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/NonPrivateInstanceField.java
* /tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/PublicInstanceField.java
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1801) Component fields should not need to
be private, merely non-public
Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191716#comment-13191716 ]
Hudson commented on TAP5-1801:
------------------------------
Integrated in tapestry-5.3-freestyle #4 (See [https://builds.apache.org/job/tapestry-5.3-freestyle/4/])
Do some backporting work for TAP5-1801 from trunk
mlusetti : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1235046
Files :
* /tapestry/tapestry5/branches/5.3
* /tapestry/tapestry5/branches/5.3/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentation.java
* /tapestry/tapestry5/branches/5.3/plastic/src/main/java/org/apache/tapestry5/internal/plastic/FieldInstrumentations.java
> Component fields should not need to be private, merely non-public
> -----------------------------------------------------------------
>
> Key: TAP5-1801
> URL: https://issues.apache.org/jira/browse/TAP5-1801
> Project: Tapestry 5
> Issue Type: Improvement
> Components: plastic, tapestry-core
> Affects Versions: 5.4
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: bytecode
> Fix For: 5.3.2, 5.4
>
>
> Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods.
> Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead.
> It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira