Craig McClanahan wrote:
I think a better strategy would be to have the core framework depend solely
on 1.4, but provide an optional layer on top which leverages 1.5 things for
those who actually do have a 1.5 runtime environment.  That's the approach
taken by the "Tiger Extensions" to Shale[1].  And, the first two features of
these extensions (use annotations instead of configuration files, and use
annotations instead of implementing interfaces) are *very* similar to the
sorts of things that would make 1.5 attractive in [action2].

I don't think this is an either/or decision. Moving to Java 5 goes much farther than simply supporting annotations. For example, we could fully use generics or enums, even in method signatures, yet through Retroweaver, the Java 1.4 version wouldn't be affected.

Any features that _require_ annotations will be implemented as an optional layer, with again, the XML as the default. I'm not saying we guarantee identical functionality for Java 1.4 users, but I think we should be striving for Java 5 users as our primary target.

Don


Don


Craig

[1] http://struts.apache.org/struts-shale/features-tiger-extensions.html

Alexandru Popescu wrote:
This looks quite nice. I cannot figure out what means support for
annotations. Even if they are left inside the classbytecode, you will
not have access to the API to use them (except the case they are
weaving the Class.class, but I really don't think so).

./alex
--
.w( the_mindstorm )p.


On 4/24/06, Don Brown <[EMAIL PROTECTED]> wrote:
There has been a lot of discussion on Java 5 support for Struts Action
2, and from my reading of the comments, we have
settled on a path, but I want to formalize it in a vote to ensure we
are all on the same page.
I vote we develop Struts Action 2 with Java 5, taking advantage of it
where ever we can.  At the same time, we should
use Retroweaver to build jars that will run in a 1.4 JVM.  For those
that aren't familiar, Retroweaver supports
conversion of an impressive amount of Java 5 features and language
changes.  In summary, Retroweaver supports [1]:
     * generics
     * extended for loops
     * static imports
     * autoboxing/unboxing
     * varargs
     * enumerations
     * annotations

Therefore, our development philosophy will be to take _full_ advantage
of Java 5, but provide a working jar for Java
1.4, however, we can't guarantee every Struts Action 2.0 feature will
be available to Java 1.4 users.
------------------------------------------------------------------
[ ] +1 Make Java 5 the target
[ ] +0 I am fine with this move, but I'll still mainly interested in
1.4
[ ] -0 I am not too keen, because ...
[ ] -1 I am against this move, because ...
------------------------------------------------------------------

I'll tally the votes after at least 72 hours and include the count in
our STATUS file.  The vote is open to anyone.
Don

[1] http://retroweaver.sourceforge.net/documentation.html

---------------------------------------------------------------------
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]



---------------------------------------------------------------------
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