This is great news! Thanks for the detailed writeup, as it is very encouraging to see a project that was designed purely for 1.5 was able to be so quickly transformed to run on 1.4.

Please keep us posted with any additional issues that arise.

Don

Tim Fennell wrote:
Hi All,

I remember a while back that there was quite a bit of discussion which Java version to make the primary version supported by SAF2 and if it's 5, then how to support 1.4. Retrotranslator was mentioned as one of the ways to support 1.4 without having to stay source-compatible.

I'd like to say that based on recent experience I think that's an extremely viable option. I've been trying out Retrotranslator to make build of Stripes that works on Java 1.4. Keep in mind that Stripes, being a new framework, was built exclusively on 1.5, and with the explicit goal of leveraging features like annotations, generics and varargs. It took me about 15 minutes from downloading Retrotranslator to having a working build of Stripes[1] + the example applications that I could run under JDK 1.4. That's just freaking impressive!

There are some features it doesn't support, but they are mostly minor (as far as they impact me anyway). All the annotations, and just as importantly, generics type-guessing code works beautifully. I had to make a couple of minor changes in Stripes (specifically changing a couple of calls to ThreadLocal.remove() to ThreadLocale.set(null)), and there are a couple more changes that are needed to be 100% compatible (involving parsing of the Big* numbers).

It's clear to me though that with a little up front consideration you could leverage as much of Java 5 as you wanted, and still produce a JDK 1.4 binary-compatible build with ease. Hopefully this could be a workable strategy for SAF2.

-t

[1] http://stripes.mc4j.org/confluence/display/stripes/Java+1.4+and+Stripes

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to