A good idea would be to do the transformation to generics like the following:
- write a patch that replaces all *public* API declarations with generics (especially Document, Fieldable and so on where a lot of List/Sets occur). The Lucene code behind these declarations will compile without any problem, it will only print out warnings (e.g. a method takes an argument List<Fieldable> but the internal member variable is just List, the assignment will generate the warning. By adding <compilerarg line="-Xlint:unchecked" /> to the build.xml scripts, the compiler will print the warnings more detailed with line numbers etc., can be much output). At return values you sometimes have to place a cast (assign not-generics to a generics type does not work with 1.5). This cast also generates an unsafe warning. - start to fix all places in Lucene where the compiler produces warnings. You start with the parts directly behind the public API, when finished the compiler gives warnings for the next and so on. The first could be one patch available in Lucene starting with 3.0 (so the public API is generics, without much hassle). The other patches can be done step by step to remove the compiler warnings. ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: Michael McCandless [mailto:luc...@mikemccandless.com] > Sent: Sunday, December 14, 2008 12:31 PM > To: java-dev@lucene.apache.org > Subject: Re: 2.9/3.0 plan & Java 1.5 > > > Uwe Schindler wrote: > > >> EG I haven't yet tested for JAR drop-in compatibility, eg if in 3.1 > >> we > >> wanted to swap in more generics, would a 3.0 app be able to drop in > >> the 3.1 Lucene jar w/o problems? > > > > It should, because in the compiled JVM code, generics do simply not > > appear. > > Ahhhh, right. So I think this means we can safely, over time, swap in > generics for these APIs w/o going through our normal back > compatibility steps (deprecate old, rename to new, etc.). Even say in > the 3.1 release (a minor release) we can swap in generics for APIs. > Great! > > Mike > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-dev-h...@lucene.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org