From: William G. <ww...@ts...> - 2000-11-29 07:00:22
|
My thoughts on tasks; these need to be prioritized and pared down, as not all of these should be "immediates". Please comment, add, object, give thoughts on priorities, etc. My priority list is at the bottom. MAIN ARCHITECTURAL STEP: 1) separate "engine" and presentation layers, perhaps using Model-View-Controller architecture; the goal is to have presentation totally decoupled from the core code, so that "pluggable" presentations are easy. CORE CODE TASKS: 2) add stored procedure (CallableStatement) support. 3) Expand the metadata queries: right now the DatabaseMetaData queries don`t accept any parameters, so you can only invoke those methods which do not take args; enhance the code so that methods taking args can be invoked. 4) switchable connections to multiple db`s. This was Jukka`s idea, and is in code he sent me: Jukka, is it in cvs yet? 5) get rid of the hard-coded Class.forName(drivername) stuff at the begining; I`m leaning toward putting the driver classnames into a properties file so they can be read in and loaded. The version of code that was checked in to cvs has this, but it`s not been tested at all (compiles ... ;-) 6) look at exception handling: right now, the tool crashes if there`s a SQLException. it should just print a warning and continue on, especially if it`s because of something like a typo in a query ... 7) Jukka and Peter: multi-db queries, two phase commits for premier release, or is this further in the future? 8) decide on a package name; I still haven't heard from Sourceforge on using "net.sourceforge.ijsql". 9) XML support, as Jukka and Peter have been discussing. 10) OQL and/or JDO integration: I think these can wait until a bit later on. 11) Glen's idea on tab-completion for column and tablenames. I'm thinking the base functionality for this goes in core ... for the console, it would get implemented via tab completion, for the gui, via tab, and optionally via a popup once you hit a period after a recognized tablename? VIEW-ORIENTED TASKS: 12) Console view: a. decouple it from the core code b. add config settings from the command line (similar to Oracle SQL*Plus): 1. column display lengths 2. spooling output to a file 3. spooling output tothe printer 4. shell to an editor to edit complex sql, which will execute upon exiting the editor 13) Swing gui view: adapt the Swing code in the CVS src/gui subdirectory to use the iJSQL core code 14) Servlet and/or JSP view: do we want a defined, standard servlet or jsp view, or do we just want the core code as pluggable as possible? Or both? ;-) ---------------------------------------------- My thoughts on priority, not in any certain order: Top Priority: #1 Core Code Priorities: 3 (easy), 4(already done?), 5(already done?), 6, 7, 8(easy), 9 View Code Priorities: 12a, 12b1 (easy), 12b2 (easy), 13 Ok -- that's my list. As you can see most if it is just reorganizing of emails that have appeared on the list before. If I've left out anyone's ideas, I'm sorry: let me know, and we'll examine them and fit them in the priorities for the premier or for a later release. Once we've hashed this out, I'll put these in as tasks. Also, be thinking about what areas you would like to work on, so we can begin assigning tasks. Thanks!! Bill Graham |