It just comes down to the inability of the old and new methods for
instrumenting component classes to work together.  If I could find a
way to make the old code work correctly alongside the new code, I
would. To be honest, I don't remember perfectly what the problems
were, I think it was ambiguities in terms of where fields referenced
inside added methods (added with Javassist pseudo-Java) were
intercepted or not. There may also have been some conflicts in terms
of creating a method (from psuedo-Java) and then adding advice to the
method.

My goal here was to ensure that if some code relied on the old code,
it would get a useful runtime exception, rather than one of those
wierd incompatible class exceptions (i.e., where the method signature
does not exist).

On Mon, May 10, 2010 at 11:49 AM, Alex Kotchnev
<[email protected]> wrote:
> Howard,
>  would you comment on the deprecated methods that throw an exception ? I
> understand the value from a documentation point of view (e.g. you have a
> place in the javadocs that explicitly says which other method is to be
> used). However, from a code stand point, code that uses those methods will
> most definitely create a broken app, which seems a bit counter intuitive. In
> a way, although the change doesn't introduce backward incompatibility at
> compile time (e.g. your code will still compile) , the end result is that
> the new changes are NOT backward compatible. I'm not sure if this will end
> up as a side note in some release notes doc, but I think it would be much
> more useful to break some builds than to let the builds pass but not behave
> as expected.
>
> Regards,
>
> Alex K
>
> On Mon, May 10, 2010 at 12:55 PM, Howard Lewis Ship <[email protected]>wrote:
>
>> I wish I had the level of insight into AOP  in the context of Tapestry
>> back in 2005-2006 that I have now.
>>
>> On Sun, May 9, 2010 at 6:57 PM, Alex Kotchnev
>> <[email protected]> wrote:
>> > Nevermind on the pointers regarding the ClassTransformation API, I think
>> I
>> > got it. Once I figured out the couple of classes involved, it was very
>> > straightforward.
>> >
>> > Howard,  nice work on the new API, much more readable and cleaner than
>> > before !
>>
>> I think it will also be easier to debug too, since you'll be able to
>> set breakpoints inside the various callback objects rather than vainly
>> seek out dynamically generated code.
>>
>> >
>> > Regards,
>> >
>> > Alex Kotchnev
>> >
>> > On Sun, May 9, 2010 at 7:36 PM, Alex Kotchnev
>> > <[email protected]>wrote:
>> >
>> >> I've been looking into the new ClassTransformation API and I'm a bit
>> >> puzzled about why a whole bunch of methods are deprecated and are made
>> to
>> >> throw an exception. I guess if any code depends on those methods, it
>> will
>> >> compile (w/ deprecation warnings) but will throw up at runtime. So, I'm
>> a
>> >> bit puzzled why that's the case. If the intent is to keep just a little
>> bit
>> >> of backward compatibility, then it seems likely that the methods
>> shouldn't
>> >> throw an exception. If the goal is to replace those methods w/ something
>> >> else, why not just remove them so any code that depends on them just
>> doesn't
>> >> compile.
>> >>
>> >> On a separate note, any pointers (beyond the javadoc and Howard's blog
>> >> posts) on how to replace the old usage w/ the new usage would be highly
>> >> appreciated. I'll probably dive into 5.2 to see some examples, but
>> anything
>> >> extra would be great.
>> >>
>> >> Regards,
>> >>
>> >> Alex K
>> >>
>> >
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator of Apache Tapestry
>>
>> The source for Tapestry training, mentoring and support. Contact me to
>> learn how I can get you up and productive in Tapestry fast!
>>
>> (971) 678-5210
>> http://howardlewisship.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to