Verse Of The Day

Tuesday, December 12, 2006

DAO Gen Update 12/12

I got lots of cosmetic and functional work done on the GUI side of my persistence generator. Still need to work on the Velocity templates, implement custom query generation, clean up code/comments, pick a better name, open source it somewhere, and some more GUI features to add.

Progress this week:
  • Added a Browse button for the template directory to make it more consistant with the generated code destination field. Also improved the layout a little bit on the screen.
  • Switched to a tabbed interface. The main screen from last week is now the configuration tab. There will be a tab for writing the custom query methods, running queries against the current DB, the output window has been nixed in favor of an output tab, and a tab that visually shows the DB objects to some extent.
  • Add mnemonics to menu and toolbar controls.
  • Open and Save/Save As now fully work, and described database meta data gets saved with project.
  • Help "about" and "contents" actually launch screens, even if there is no real content yet.
Screenshots: Config Tab (default Java "Metal" look and feel)Output tab (used to be separate window)

DB Explorer tab:
Look And Feel is controlled by View menu, below are the Windows (native) and the crappy "Motif" look-a-like that comes with Java:

Outstanding task list:
  • ResourceManager - getConnection() for when Connection is not supplied: Currently it's guts are commented out. Should put a JNDI lookup for a data source in there. That's how we do it, most likely anyone doing server-side code also does this. They could always customize for using DBCP or some other mechanism.
  • DaoFactory - generated factory class is missing factory methods for stored procedure DAO's (easy fix, but have been busy with GUI)
  • Stored Proc DAO's - need a lot of work
  • CLOBS/BLOBS/BFILES - haven't accounted for those at all. they are a pain to write by hand so they should be done right in the generated code.
  • Generated DAO's and all classes need to be fully tested to make sure the templates are right.
  • Dist - need to come up with a distribution package mechanism, with shell and batch files to launch, special directory for templates, etc.
  • DB query tab - not implemented yet
  • Custom Queries - not implemented in generator or GUI yet.

No comments: