On Tue, Sep 29, 2009 at 3:46 PM, Viktor Klang <viktor.kl...@gmail.com> wrote: > > > 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? >
Sounds like it to me :) >> >> ------------------------------------- >> 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 -~----------~----~----~----~------~----~------~--~---