Hey, I'm glad you love it so much, that way I don't have to write it. :-) Don't get me wrong, Java DOM code generally sucks too... but I'll choose my evil, and it isn't XSLT.
Clinton On Tue, Aug 18, 2009 at 11:02 PM, Trenton D. Adams <tre...@athabascau.ca>wrote: > Hi Clinton, > > ----- "Clinton Begin" <clinton.be...@gmail.com> wrote: > > > From: "Clinton Begin" <clinton.be...@gmail.com> > > To: user-java@ibatis.apache.org, "Trenton D. Adams" < > tre...@athabascau.ca> > > Sent: Tuesday, August 18, 2009 6:13:01 PM GMT -07:00 US/Canada Mountain > > Subject: Re: Request for input on porting iBatis XML from 2.x to 3.0 > > > > Thanks Trenton... That's exactly how iBATIS 1 > 2 worked. But then I > > swore I'd never write XSLT again. :-) That said, if you have it, > > that is awesome. > > > > The approach we're looking at would be a ConfigurationWriter that > > took > > an instance of Configuration and wrote out the XML files. That way > > you could more easily handle the edge cases that require logic that's > > difficult to implement in XSLT... like some of the dynamic SQL > > changes, and the type aliases that need to be rolled up into the > > configuration file, etc. > > XSLT has functionality that allows you to call methods from the language > you are using (Java in our case *grin*). In the case where there is data > inside of an XML element, that is not XML itself, you can just pass that to > the Java code. That's one of the benefits of XSL. It allows a mix of Java > (or other languages you run it from) and XSL. The XSL would then control > the flow of conversion, but some Java code could run that does other stuff. > Presumably (not knowing the internals of iBatis), you could pass the > element contents to existing methods that iBatis has for dealing with that > data, to strip it out into iBatis data structures, POJOs, or whatever iBatis > does internally. From there, you could then have the new iBatis 3.0 code > spit out whatever it wants, into a string, and give it back to the XSL. > > So, I would think the easiest way (again, without knowing iBatis internals) > would be to write this "ConfigurationWriter" as you say, partly with XSLT. > I'm assuming this is some sort of iBatis abstraction/interface, or > something like that, that, well, writes configuration files, hehe? Or is > this a new concept that you came up with on the fly? > > I haven't had time to follow here, as I'm trying to wrap up some work > before I go on 6 months research and study leave, of which iBatis is > designated as part of my research. So, when is this 3.0 expected to be > ready do you think? > > Also, XSL isn't that bad (though I understand your initial pain, lol), > unless you don't have a good reference. ;) It's a bit annoying at the > beginning, because the syntax learning curve is a bit of a pain. But, once > you're into it, you're into it for good. I recently did a huge amount of > work with XSL at my workplace. I fell in love, to say the least. And, as > you know, a lot of times it's easier to learn something when you have a > starting point, with a working project for example. So, if this XSL > ConfigurationWriter was written, you would probably not have a problem > understanding it. As I said, it's really the syntax that gets you. > > One last thing about XSLT, is it makes your DOMs pain go away, muhahahahaha > (http://en.wikipedia.org/wiki/Delayed_onset_muscle_soreness). Seriously > though, all that DOM code you have to work with, just disappears, and > believe me, you are probably having a lot more pain with that, but just > don't realize it. ;) I started to write straight DOM code with my last > project, and switched to XSLT within minutes of messing around, though I did > have some XSLT experience previously. > > Okay, the rant is complete. Gotta hit the sack, I have a lot of work to do > before September, when my leave starts. > > > > > Any and all ideas and implementations are welcome here though. I'm > > not sure I'll have time to write the ConfigurationWriter any time > > soon. > > > > Clinton > > > > On Tue, Aug 18, 2009 at 4:10 PM, Trenton D. > > Adams<tre...@athabascau.ca> wrote: > > > Why not just use an XSL to convert it? > > > > > > I've attached one that I use now and then, to spit out full SQL from > > a bunch > > > of fragments, as well as output bean code. > > > > > > Trenton D. Adams > > > Systems Analyst/Web Software Engineer > > > Navy Penguins at your service! > > > Athabasca University > > > (780) 675-6195 > > > :wq! > > > > > > ----- "Nathan Maves" <nathan.ma...@gmail.com> wrote: > > >> From: "Nathan Maves" <nathan.ma...@gmail.com> > > >> To: user-java@ibatis.apache.org, "larry meadors" > > <larry.mead...@gmail.com> > > >> Sent: Tuesday, August 18, 2009 4:04:46 PM GMT -07:00 US/Canada > > Mountain > > >> Subject: Re: Request for input on porting iBatis XML from 2.x to > > 3.0 > > >> > > >> We actually already started the talks on how to automate this. We > > did > > >> this for the last major upgrade and it was a huge help. > > >> > > > Thanks again for your notes. > > >> > > >> > > >> On Tue, Aug 18, 2009 at 3:49 PM, Larry Meadors > > <larry.mead...@gmail.com> > > >> wrote: > > >> > > >> > > >> Thanks for sharing! > > >> > > > >> > You rock. > > >> > > > >> > Larry > > >> > > > >> > > > >> > > > >> > On Tue, Aug 18, 2009 at 3:20 PM, Joel > > >> > Barciauskas<jbarciaus...@nexaweb.com> wrote: > > >> > > Hey everyone, > > >> > > > > >> > > > > >> > > > > >> > > I just posted the notes that I took as I worked on porting my > > 2.x XML > > >> > > mapping and configuration files to the wiki: > > >> > > > > >> > > > > > http://opensource.atlassian.com/confluence/oss/display/IBATIS/Porting+sqlMapConfig+and+sqlMap+XML+from+2.x+to+3.0 > > >> > > > > >> > > > > >> > > > > >> > > I canceled the port part-way through since I didn’t think I’d > > be able > > >> > > to > > >> > > finish and test it in a reasonable amount of time for my > > current > > >> > > project, > > >> > > but I thought the notes that I took might be useful for > > bootstrapping > > >> > > some > > >> > > documentation, so I went ahead and created this page. If you > > are > > >> > > familiar > > >> > > with the 3.0 schema, please review it, as I am sure there are > > items > > >> > > that are > > >> > > incorrect. > > >> > > > > >> > > > > >> > > > > >> > > Hope someone finds this of value! > > >> > > > > >> > > > > >> > > > > >> > > __________________________________________________________ > > >> > > Joel Barciauskas | Technical Consultant > > >> > > Nexaweb Technologies | www.nexaweb.com > > >> > > 781.345.5428 o | 617.899.8273 m > > >> > > Skype™: jbarciauskas > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > > >> > > --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > >> > For additional commands, e-mail: > > user-java-h...@ibatis.apache.org > > >> > > > >> > > > > > > >> > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > > For additional commands, e-mail: user-java-h...@ibatis.apache.org > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > For additional commands, e-mail: user-java-h...@ibatis.apache.org > > __ > This communication is intended for the use of the recipient to whom it > is addressed, and may contain confidential, personal, and or privileged > information. Please contact us immediately if you are not the intended > recipient of this communication, and do not copy, distribute, or take > action relying on it. Any communications received in error, or > subsequent reply, should be deleted or destroyed. > --- > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > For additional commands, e-mail: user-java-h...@ibatis.apache.org > >