On Tue, Sep 29, 2009 at 4:44 PM, Naftoli Gugenheim <naftoli...@gmail.com>wrote:
> > Another option: Java has a way to dynamically implement an interface. I > forgot what the classes are called. You supply a delegate and you can > pattern match on which method is being invoked. In Java 5 the nonexistent > method will simply never be invoked, but it won't break code. > Dynamic proxy? > > ------------------------------------- > Viktor Klang<viktor.kl...@gmail.com> wrote: > > On Tue, Sep 29, 2009 at 3:47 PM, Derek Chen-Becker <dchenbec...@gmail.com > >wrote: > > > Can you elaborate on what you mean? I was actually going to look at how > > log4jdbc does it and see if I could replicate it. > > > > I haven't really tried this, but if you do: > > if you implement methods with the correct signatures in the LoggedStatement > and LoggedPreparedStatement, then wrap the invocations to the wrapped > instances in a try->catch, and if there's an NoSuchMethodException, return > some default value? > > > > > > > Derek > > > > On Tue, Sep 29, 2009 at 5:22 AM, Viktor Klang <viktor.kl...@gmail.com > >wrote: > > > >> Is it possible to have a bridge trait for the Statement interface? > >> > >> > >> On Tue, Sep 29, 2009 at 12:16 AM, Derek Chen-Becker < > >> dchenbec...@gmail.com> wrote: > >> > >>> No. I hadn't foreseen this issue, but I understand the importance of > have > >>> Java 5 support. I'm fine with writing and maintaining multiple versions > of > >>> the impls for the various versions, but I wonder if there's any clean > way to > >>> manage this with Maven. > >>> > >>> Derek > >>> > >>> > >>> On Mon, Sep 28, 2009 at 4:00 PM, David Pollak < > >>> feeder.of.the.be...@gmail.com> wrote: > >>> > >>>> Crud. This just isn't going to be easy, is it? > >>>> > >>>> > >>>> On Mon, Sep 28, 2009 at 2:04 PM, Derek Chen-Becker < > >>>> dchenbec...@gmail.com> wrote: > >>>> > >>>>> Another issue, which may be more problematic, is that in my case I'm > >>>>> compiling against the java.sql.Statement interface. If I remove the > >>>>> troublesome methods so that it compiles for 1.5, it no longer > compiles for > >>>>> 1.6 because of the missing methods: > >>>>> > >>>>> [WARNING] > >>>>> > /home/software/liftweb/lift-mapper/src/main/scala/net/liftweb/mapper/LoggingStatementWrappers.scala:70: > >>>>> error: class LoggedStatement needs to be abstract, since method > isPoolable > >>>>> in trait Statement of type ()Boolean is not defined > >>>>> [WARNING] class LoggedStatement(underlying : Statement) extends > >>>>> Statement with DBLog { > >>>>> [WARNING] ^ > >>>>> [WARNING] > >>>>> > /home/software/liftweb/lift-mapper/src/main/scala/net/liftweb/mapper/LoggingStatementWrappers.scala:267: > >>>>> error: class LoggedPreparedStatement needs to be abstract, since > method > >>>>> setNClob in trait PreparedStatement of type (Int,java.io.Reader)Unit > is not > >>>>> defined > >>>>> [WARNING] class LoggedPreparedStatement (stmt : String, underlying : > >>>>> PreparedStatement) extends LoggedStatement(underlying) with > >>>>> PreparedStatement { > >>>>> [WARNING] ^ > >>>>> > >>>>> > >>>>> Derek > >>>>> > >>>>> > >>>>> On Mon, Sep 28, 2009 at 2:29 PM, David Pollak < > >>>>> feeder.of.the.be...@gmail.com> wrote: > >>>>> > >>>>>> > >>>>>> > >>>>>> On Mon, Sep 28, 2009 at 1:19 PM, Derek Chen-Becker < > >>>>>> dchenbec...@gmail.com> wrote: > >>>>>> > >>>>>>> The issue (and I may be overthinking this) is that we need 1.5 > class > >>>>>>> libraries to compile against if we want to be able to verify that > the code > >>>>>>> compiles under 1.5. If I, say, delete my JDK 5 install and decide > to > >>>>>>> reinstall it down the road, it's not going to be available without > a > >>>>>>> purchased license. > >>>>>>> > >>>>>> > >>>>>> I can stash away a bunch of different copies of the JDK and give > them > >>>>>> to you when you need them. > >>>>>> > >>>>>> A 32 bit Linux JDK 1.5 should be enough to at least do smoke test > >>>>>> builds with. > >>>>>> > >>>>>> > >>>>>>> > >>>>>>> Derek > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On Mon, Sep 28, 2009 at 1:33 PM, David Pollak < > >>>>>>> feeder.of.the.be...@gmail.com> wrote: > >>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On Mon, Sep 28, 2009 at 11:51 AM, Derek Chen-Becker < > >>>>>>>> dchenbec...@gmail.com> wrote: > >>>>>>>> > >>>>>>>>> My main concern is that after October 30, Java 5 costs money (I'm > >>>>>>>>> guessing not a trivial amount, either). I can get the JDK right > now, but if > >>>>>>>>> some bug in the Java libraries pops up that would prevent things > from > >>>>>>>>> working, I don't know how we'll work around that. > >>>>>>>>> > >>>>>>>> > >>>>>>>> I don't see the condition under which that could happen. When we > >>>>>>>> compile against Java 1.5, we are simply defining the contract > between our > >>>>>>>> classes and the library classes. None of the library "seeps" into > our code > >>>>>>>> (this is not true of Scala traits). So, as long as the running > library has > >>>>>>>> the classes/methods that we are calling, we're fine. Compiling > against 1.5 > >>>>>>>> simply means that we have fewer calls that we can make. If there > is an > >>>>>>>> issue in 1.5 that a user is experiencing, that is the user's > issue, not > >>>>>>>> ours. If the code compiles (and runs tests) against 1.5 and does > not > >>>>>>>> generate the particular issue that the user is seeing under 1.6, > then that > >>>>>>>> use has to contact Sun, not us. > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> Derek > >>>>>>>>> > >>>>>>>>> On Mon, Sep 28, 2009 at 12:29 PM, David Pollak < > >>>>>>>>> feeder.of.the.be...@gmail.com> wrote: > >>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> On Mon, Sep 28, 2009 at 11:14 AM, Derek Chen-Becker < > >>>>>>>>>> dchenbec...@gmail.com> wrote: > >>>>>>>>>> > >>>>>>>>>>> I was just about to work on issue #67 (build breaks on Java 5), > >>>>>>>>>>> but when I went to get a Java 5 JDK to compile/test with, Sun > says that it's > >>>>>>>>>>> EOL as of October 30, 2009. I don't have a problem fixing > things to work > >>>>>>>>>>> with Java 5, but I don't want to do work that's going to be > tossed out in a > >>>>>>>>>>> month. > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> Lift will be JDK 1.5 compatible for at least 1 year (and > probably > >>>>>>>>>> longer). LinkedIn and SAP are both 1.5 shops. There are tons > of other Bay > >>>>>>>>>> Area companies (Wells Fargo, Kaiser, etc.) that are also 1.5 > shops. For the > >>>>>>>>>> next 2-3 years, OS X 10.5 will be common and 10.5 + old MacBooks > == 1.5. > >>>>>>>>>> > >>>>>>>>>> It will not be lost work. > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> Derek > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> Lift, the simply functional web framework http://liftweb.net > >>>>>>>>>> Beginning Scala http://www.apress.com/book/view/1430219890 > >>>>>>>>>> Follow me: http://twitter.com/dpp > >>>>>>>>>> Surf the harmonics > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> -- > >>>>>>>> Lift, the simply functional web framework http://liftweb.net > >>>>>>>> Beginning Scala http://www.apress.com/book/view/1430219890 > >>>>>>>> Follow me: http://twitter.com/dpp > >>>>>>>> Surf the harmonics > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>>> -- > >>>>>> Lift, the simply functional web framework http://liftweb.net > >>>>>> Beginning Scala http://www.apress.com/book/view/1430219890 > >>>>>> Follow me: http://twitter.com/dpp > >>>>>> Surf the harmonics > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>>> -- > >>>> Lift, the simply functional web framework http://liftweb.net > >>>> Beginning Scala http://www.apress.com/book/view/1430219890 > >>>> Follow me: http://twitter.com/dpp > >>>> Surf the harmonics > >>>> > >>>> > >>>> > >>> > >>> > >>> > >> > >> > >> -- > >> Viktor Klang > >> > >> Blog: klangism.blogspot.com > >> Twttr: viktorklang > >> > >> Lift Committer - liftweb.com > >> AKKA Committer - akkasource.org > >> Cassidy - github.com/viktorklang/Cassidy.git > >> SoftPub founder: http://groups.google.com/group/softpub > >> > >> > >> > >> > > > > > > > > > > -- > Viktor Klang > > Blog: klangism.blogspot.com > Twttr: viktorklang > > Lift Committer - liftweb.com > AKKA Committer - akkasource.org > Cassidy - github.com/viktorklang/Cassidy.git > SoftPub founder: http://groups.google.com/group/softpub > > > > > > -- Viktor Klang Blog: klangism.blogspot.com Twttr: viktorklang Lift Committer - liftweb.com AKKA Committer - akkasource.org Cassidy - github.com/viktorklang/Cassidy.git SoftPub founder: http://groups.google.com/group/softpub --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---