Tapestry 5
  1. Tapestry 5
  2. TAP5-1979

Changing the implementation of a method after adding method advice does not work; the original implementation remains

    Details

      Description

      This is too easy to do when you have a chain of PlasticClassTransformers operating on the same classes.

      Alternately, the advised method, not the main method (that instantiates the Invocation object)n should be the one that is rewritten.

      The issue here is that Plastic takes a snapshot of the method implementation when the first advice is added, and that snapshot is not updated if the advised method implementation is later changed.

        Issue Links

          Activity

          Hide
          Howard M. Lewis Ship added a comment -

          I believe, but have yet to fully verify, that this issue is the underlying cause of TAP5-1601.

          Show
          Howard M. Lewis Ship added a comment - I believe, but have yet to fully verify, that this issue is the underlying cause of TAP5-1601 .
          Hide
          Howard M. Lewis Ship added a comment -

          Will mark fix in 5.4 after merge to master

          Show
          Howard M. Lewis Ship added a comment - Will mark fix in 5.4 after merge to master
          Hide
          Hudson added a comment -

          Integrated in tapestry-trunk-freestyle #977 (See https://builds.apache.org/job/tapestry-trunk-freestyle/977/)
          TAP5-1979: Changing the implementation of a method after adding method advice does not work; the original implementation remains (Revision ac0f494bfebdce230b914ab993ec056f083e2797)
          Track status of TAP5-1979 (Revision b0e1e9b1bc3a3599e72b5dfd2c5c5f02b074ed5f)

          Result = FAILURE
          hlship :
          Files :

          • plastic/src/test/java/testsubjects/AdviceAndImplementationSubject.java
          • plastic/src/main/java/org/apache/tapestry5/internal/plastic/MethodAdviceManager.java
          • plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy

          hlship :
          Files :

          • 54_RELEASE_NOTES.txt
          Show
          Hudson added a comment - Integrated in tapestry-trunk-freestyle #977 (See https://builds.apache.org/job/tapestry-trunk-freestyle/977/ ) TAP5-1979 : Changing the implementation of a method after adding method advice does not work; the original implementation remains (Revision ac0f494bfebdce230b914ab993ec056f083e2797) Track status of TAP5-1979 (Revision b0e1e9b1bc3a3599e72b5dfd2c5c5f02b074ed5f) Result = FAILURE hlship : Files : plastic/src/test/java/testsubjects/AdviceAndImplementationSubject.java plastic/src/main/java/org/apache/tapestry5/internal/plastic/MethodAdviceManager.java plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy hlship : Files : 54_RELEASE_NOTES.txt

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Howard M. Lewis Ship
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development