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