You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Don Brown <mr...@twdata.org> on 2006/04/24 22:24:34 UTC

[action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Rene Gielen <gi...@it-neering.net>.
+1 - retroweaver looks really promising, and it's feature list wipes
away all my concerns about switching to Java 5.
For the runtime annotation support, XWork-Tiger / Tiger Extensions for
Shale point to the right direction how to utilize these without forcing
users to switch to Java 5.

As Rainer already said, we might need to put some work into XWork as
well if we decide to switch - we have to keep this in mind.

Regards,
Rene

Don Brown schrieb:
> 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 

-- 
Rene Gielen  | http://it-neering.net/
Aachen       | PGP-ID: BECB785A
Germany      | gielen at it-neering.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Leon Rosenberg <ro...@googlemail.com>.
+1

Leon

On 4/24/06, Don Brown <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by James Mitchell <jm...@apache.org>.
+1 -- Git 'r dun!!


--
James Mitchell




On Apr 24, 2006, at 4:24 PM, Don Brown 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Ted Husted <te...@gmail.com>.
On 4/24/06, Don Brown <mr...@twdata.org> wrote:
> [x] +0 I am fine with this move, but I'll still mainly interested in 1.4

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Ian Roughley <ia...@fdar.com>.
+1 - as this is the next version of struts I think it makes sense to 
make this move now.  There is always webwork 2.2.2 for users that 
require a JDK 1.4, which will allow for the majority of the framework 
features and an easy stepping stone over to struts2.

/Ian

Don Brown 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Erik Bertelsen <be...@gmail.com>.
> ------------------------------------------------------------------
> [ ] +1 Make Java 5 the target
> '



+1

- Erik

Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Alexandru Popescu <th...@gmail.com>.
Oh yes... it is +1.
I was only discussing only about the promise to support 1.4. We've
been doing this in TestNG and I want to let you know, that even if the
sourcebase is smaller than WW, we've been facing from time to time
problems doing this :-).

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


On 4/25/06, Don Brown <mr...@twdata.org> wrote:
> So... is that a +1? :)
>
> As for annotations, I'd imagine we'd keep the XML as override so most anything you can do with annotations, you could
> also do in XML.  This would give Java 1.4 users mostly the same capabilities.
>
> Don
>
> 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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Alexandru Popescu <th...@gmail.com>.
Craig, you are almost right :-). You can store annotations in the
bytecode (check the class, field, method attributes), and we've done
this in AspectWerkz and AspectJ for quite a while ;-). The problem is
consuming them.

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


On 4/25/06, Craig McClanahan <cr...@apache.org> wrote:
> On 4/24/06, Don Brown <mr...@twdata.org> wrote:
> >
> > So... is that a +1? :)
> >
> > As for annotations, I'd imagine we'd keep the XML as override so most
> > anything you can do with annotations, you could
> > also do in XML.  This would give Java 1.4 users mostly the same
> > capabilities.
>
>
> I think he was expressing a technical concern :-).  And, depending on how
> you want to use annotations, it's an important one.
>
> It is straightforward to see how one could use annotations at build time,
> even if the ultimate target platform is 1.4.  You can do things like run the
> "apt" tools, generate new code (or maybe generate config files that
> correspond to what the annotations signify) as part of the build process --
> as long as the build process itself was running on Java SE 5, of course.
> Even this might be too much of a leap for some organizations, however.
>
> But the annotations facility also provides *runtime* mechanisms to examine a
> Class instance and determine what annotations are present.  I do not see how
> that can be done with something like Retroweaver, for two reasons:
>
> * The annotations themselves can't be stored in the compiled class, because
> there is nowhere to put them.
>
> * The APIs to do the reflective checks (added to the Class class in 1.5)
> don't exist in the 1.4 runtime.
>
> This would be a pretty serious limitation on what you might otherwise want
> to do with annotations -- but, again, it depends on the intended usage
> patterns.
>
> Because of the above issues, I'm -0 on this, (it's not reasonable for me to
> vote -1 since I'm not the one that is wanting to do the work).
>
> 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].
>
> 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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> > >> For additional commands, e-mail: dev-help@struts.apache.org
> > >>
> > >>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > > For additional commands, e-mail: dev-help@struts.apache.org
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Claus Ibsen <fo...@opensymphony.com>.
+1
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53821#53821


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Patrick Lightbody <fo...@opensymphony.com>.
Ditto... +1 along with Bob, Don, and James
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53785#53785


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Bob Lee <cr...@crazybob.org>.
+1 to that.

Bob

On 4/24/06, Don Brown <mr...@twdata.org> wrote:
> 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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> >>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>
> >>>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Don Brown <mr...@twdata.org>.
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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Craig McClanahan <cr...@apache.org>.
On 4/24/06, Don Brown <mr...@twdata.org> wrote:
>
> So... is that a +1? :)
>
> As for annotations, I'd imagine we'd keep the XML as override so most
> anything you can do with annotations, you could
> also do in XML.  This would give Java 1.4 users mostly the same
> capabilities.


I think he was expressing a technical concern :-).  And, depending on how
you want to use annotations, it's an important one.

It is straightforward to see how one could use annotations at build time,
even if the ultimate target platform is 1.4.  You can do things like run the
"apt" tools, generate new code (or maybe generate config files that
correspond to what the annotations signify) as part of the build process --
as long as the build process itself was running on Java SE 5, of course.
Even this might be too much of a leap for some organizations, however.

But the annotations facility also provides *runtime* mechanisms to examine a
Class instance and determine what annotations are present.  I do not see how
that can be done with something like Retroweaver, for two reasons:

* The annotations themselves can't be stored in the compiled class, because
there is nowhere to put them.

* The APIs to do the reflective checks (added to the Class class in 1.5)
don't exist in the 1.4 runtime.

This would be a pretty serious limitation on what you might otherwise want
to do with annotations -- but, again, it depends on the intended usage
patterns.

Because of the above issues, I'm -0 on this, (it's not reasonable for me to
vote -1 since I'm not the one that is wanting to do the work).

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

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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Gabe <gj...@yahoo.com>.
I'll say +0 for now. I'd like to see an "amendment" discussing how we would seperate out 1.5 specific code and what rules we would use to determine what is allowed in the project and what would be allowed in an tiger extention project, so we wouldn't have to discuss that point every time a new feature is suggested to be added that depends on 1.5.

The way we use the GenericsObjectTypeDeterminer seems overall a good way to go to me, where there is a DefaultObjectTypeDeterminer and if the Generics class exists, then use that...

Gabe

----- Original Message ----
From: Don Brown <mr...@twdata.org>
To: Struts Developers List <de...@struts.apache.org>
Sent: Monday, April 24, 2006 6:49:14 PM
Subject: Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

So... is that a +1? :)

As for annotations, I'd imagine we'd keep the XML as override so most anything you can do with annotations, you could 
also do in XML.  This would give Java 1.4 users mostly the same capabilities.

Don

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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Don Brown <mr...@twdata.org>.
So... is that a +1? :)

As for annotations, I'd imagine we'd keep the XML as override so most anything you can do with annotations, you could 
also do in XML.  This would give Java 1.4 users mostly the same capabilities.

Don

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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Alexandru Popescu <th...@gmail.com>.
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 <mr...@twdata.org> 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Rainer Hermanns <he...@aixcept.de>.
Hey there,

I would like to see Struts Action 2 support Java 5 as the default  
platform, so +1 from me.

If Retroweaver and/or Retrotranslater provide "full" support for Java  
5 language extensions
we should definately use it/them to have a Java 1.4 compliant version  
as well.
Haven't looked at those projects deeply enough to say if this will be  
possible, but we should
investigate this approach.

One thing we need to keep in mind is that xwork does not depend on  
Java 5 for now.
So if we decide to base SAF 2 on Java 5, we need a Java 5 version of  
xwork as well.
As a xwork developer I would volunteer for this task (xwork 2.0?).
Currently Java 5 support in xwork is realized as an addon project  
(xwork-tiger).
However, this needs a lot more attention, there are several tasks  
open to be done.

regards,
Rainer

On Apr 24, 2006, at 22:24 , Don Brown 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: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

Rainer Hermanns
aixcept
Neupforte 16
52062 Aachen - Germany
w: http://aixcept.de/
t:    +49-241-4012247
m:  +49-170-3432912




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Taras Puchko <fo...@opensymphony.com>.
Currently both tools (Retroweaver and Retrotranslator) have verifier that is able 
to trap most of such errors.

Taras

> When you say: "when you use a new method by mistake",
> are you refering
> to using API available only on 1.5? If so, this is a
> known problem,
> and indeed it is difficult to trap it.
> 
> ./alex
> --
> .w( the_mindstorm )p.
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54473#54473


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Alexandru Popescu <th...@gmail.com>.
When you say: "when you use a new method by mistake", are you refering
to using API available only on 1.5? If so, this is a known problem,
and indeed it is difficult to trap it.

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


On 4/26/06, netsql <ne...@roomity.com> wrote:
> I have used retroweaver... and it does not work. (when you use a new
> method by mistake).
>
> People that are on IBM or BEA old version can keep using old version of
> Struts/WW2.
>
> When they upgrade to JEE5 then they can have more options.
>
> .V
>
> Jason Carreira wrote:
> > +1 from me
> > ---------------------------------------------------------------------
> > Posted via Jive Forums
> > http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54288#54288
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by netsql <ne...@roomity.com>.
I have used retroweaver... and it does not work. (when you use a new 
method by mistake).

People that are on IBM or BEA old version can keep using old version of 
Struts/WW2.

When they upgrade to JEE5 then they can have more options.

.V

Jason Carreira wrote:
> +1 from me
> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54288#54288


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by scud <fo...@opensymphony.com>.
+0
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54494#54494


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by tm jee <tm...@yahoo.co.uk>.
+1 

 





Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Ricardo Lecheta <fo...@opensymphony.com>.
Hi,

+0 .

I like the java 5 features, but I can't use it right now, since the companies I work for, don't have application servers with java 5.

So I am very interested to have jdk 1.4 support. I particularly don't care if all the features will not be available for jdk1.4 users :-)

thanks
Ricardo
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53840#53840


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Java 1.4 support libraries (was [VOTE] Target Java 5, support

Posted by Taras Puchko <fo...@opensymphony.com>.
Annotations can be read at runtime only if accessing code and annotations are both translated with Retrotranslator.

Taras

> Interesting, separate jars were always in the plan,
> so that isn't a problem.  So you are saying the code
> can still 
> access the annotations at runtime?
> 
> Don
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54462#54462


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Java 1.4 support libraries (was [VOTE] Target Java 5, support 1.4

Posted by Don Brown <mr...@twdata.org>.
Interesting, separate jars were always in the plan, so that isn't a problem.  So you are saying the code can still 
access the annotations at runtime?

Don

Taras Puchko wrote:
> Retrotranslator replaces "extends java.lang.Annotation" with "extends net.sf.retrotranslator.runtime.java.lang.Annotation_", "java.lang.Class.getAnnotation" with "net.sf.retrotranslator.runtime.java.lang._Class.getAnnotation", and so on.
> So application developers do not have to be aware of Retrotranslator:
> http://cvs.sourceforge.net/viewcvs.py/retrotranslator/Retrotranslator/test/net/sf/retrotranslator/runtime/java/lang/_ClassTestCase.java?view=markup
> 
> The only drawback here is that translated code may be incompatible with libraries using Java 5 API directly (mainly because annotations do not extend java.lang.Annotation after translation). So you would have to distribute separate jars for 1.4 and 5.0 platform.
> 
> Taras
> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53964#53964
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Java 1.4 support libraries (was [VOTE] Target Java 5, support 1.4

Posted by Taras Puchko <fo...@opensymphony.com>.
Retrotranslator replaces "extends java.lang.Annotation" with "extends net.sf.retrotranslator.runtime.java.lang.Annotation_", "java.lang.Class.getAnnotation" with "net.sf.retrotranslator.runtime.java.lang._Class.getAnnotation", and so on.
So application developers do not have to be aware of Retrotranslator:
http://cvs.sourceforge.net/viewcvs.py/retrotranslator/Retrotranslator/test/net/sf/retrotranslator/runtime/java/lang/_ClassTestCase.java?view=markup

The only drawback here is that translated code may be incompatible with libraries using Java 5 API directly (mainly because annotations do not extend java.lang.Annotation after translation). So you would have to distribute separate jars for 1.4 and 5.0 platform.

Taras
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53964#53964


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Java 1.4 support libraries (was [VOTE] Target Java 5, support 1.4 through Retroweaver)

Posted by Don Brown <mr...@twdata.org>.
This is good to know, as I'd hate for our 1.4 strategy to be dependent on a single tool.  I'm especially interested in 
your support for annotations, as AFAICT, that is a feature missing from Retroweaver.  Could you post a snippet that 
shows how annotations would work in 1.4?

My view is the vote is more about a strategy to support 1.4, and less about the actual tool Retroweaver.  If it turns 
out Retrotranslater does more of what we want and is better supported, I think it should be seriously considered.

Don

Taras Puchko wrote:
> Hi all!
> 
> I wrote Retrotranslator - a tool like Retroweaver,
> but it supports generics and annotations at runtime,
> so it is even possible to run JAXB 2 on JRE 1.4:
> 
> http://retrotranslator.sourceforge.net/
> http://www.javalobby.org/java/forums/t66348.html
> 
> Taras
> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53827#53827
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Taras Puchko <fo...@opensymphony.com>.
Hi all!

I wrote Retrotranslator - a tool like Retroweaver,
but it supports generics and annotations at runtime,
so it is even possible to run JAXB 2 on JRE 1.4:

http://retrotranslator.sourceforge.net/
http://www.javalobby.org/java/forums/t66348.html

Taras
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=53827#53827


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [action2] [VOTE] Target Java 5, support 1.4 through Retroweaver

Posted by Jason Carreira <fo...@opensymphony.com>.
+1 from me
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=27314&messageID=54288#54288


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org