Diggin' San Francisco
I'm sitting in a place called Ritual Roasters right now, enjoying an excellent mocha and hacking on Modello.
Just like thousands of others, I'm here in town for JavaOne - or, more precisely, to meet with other people who are here for JavaOne. :) Sonatype (my company) is offering some training for would-be Maven users and interested manager-types today, and I'm going to be helping out with Q&A later on.
For now, though, I'm looking at other ways that developers might introduce Modello into their project, aside from the traditional:
- Starting with Modello and writing the model first. This is a little like playing Edgar Cayce in that you have to guess what the ideal model will be, without having the benefit of growing that model along with the rest of the code - organically.
- Retrofitting Modello into an existing model. This means taking a model you wrote in java, and replicating it in Modello's XML format just so you can have the benefit of generated XSD, JPOX, etc. layers. All I can say is Ugh...I mean, friggin UGH.
So, what I'd like to do is hack in QDox support, so I can annotate my java sources (which evolved as I was growing the design of the overall app) and have Modello consume that. It seems like it should be a relatively simple matter of changing DefaultModelloCore to be oriented around the concept of ModelSource instances, rather than Reader instances. Of course, the old loadModel(Reader) method will be left in place for backward compat...
Some of you might be slapping your head and saying, "Why the f*** doesn't he use Java5 annos?" Well, the [painful] answer is that Maven still uses JDK 1.4 as its minimum platform, because some in the community cannot upgrade yet...so, for now, qdox is a pretty decent substitute.
More later, I want to finish up my scone now. :)
