This issue tracks the creation of an API for the Database Explorer module.
Created attachment 23303 [details]
Work on the API has already begun. It can be find in the /cvs/db directory on
the db_promo_f branch.
Created attachment 23304 [details]
The HTML version of the arch document
The reviewers for this issue are jtulach, pbuzek, rkubacki and rnajman. I would
like to ask for the review.
The inception review will take place on Wed 3 Aug at 16:00 CET.
> A typical example is a J2EE application server which bundles a database server.
This may be missleading for people not familiar with the fact that many
application servers include a bundled database server for improved out of the
box experience. This is why a j2ee server plugin may want to provide jdbc driver
and perhaps register sample databases.
Even more typical example would be a module providing integration of database
server (e.g. Derby).
minor wording comment:
> Only official API and SPI packages are exported.
delete "official", official is a netbeans API stability category and may be
missleading in this context
PB03: Is it necessary to expose the provider.impl in API? The factories return
ModelProvider and the providers do not have any additional methods so it seems
that the providers can be private. Maybe even the factories could be identified
by their name (something like: ModelProvider
getModelProviderFactory("[Generic|PosgreSQL]")) and the classes also hidden from
Created attachment 23958 [details]
Created attachment 23959 [details]
Arch document (impl and final answers)
The following TCRs have been addressed:
- Documentation improvements (see above)
Hopefully adressed in the new arch document (attached). One thing that is not
addressed is the documentation of the registration format of the connections and
drivers. I plan to document it after the integration to the trunk.
- Storage of connections and other settings (see above)
The connections are drivers are now stored as XML files in the SFS in the
Databases/Connections, and respectively Databases/JDBCDrivers folders. Database
runtimes are registered in the Databases/DatabaseRuntimes folder.
- Move all UI methods to (showConnectiondialog) DatabaseManager
All UI methods moved to ConnectionManager or JDBCDriverManager.
- Do not depend on core (showInExplorer), you can iterate over all TopComponents
if you want, or have own ServerNavigator component
Dependency on core removed, I'm now iterating over all TopComponents.
- Friend API from dbschema, if you cannot remove it
Dbschema now exposes a friend API for org.netbeans.modules.j2ee.ejbjarproject
The API is not fully tested yet. There are tests for reading and writing the XML
registration format though, and I plan to add more tests after the integration.
I would like to integrated as soon as possible. If there are no objections, I
would like to have the final review as fast track.
I have no objections. Integrate to trunk to get some testing going...
No objections from my side.
I've added two TCRs about documentation, imho they can be resolved later after
I guess this means approved with TCRs, I'll update the opinion later today.
I've updated the opinion
but I have not closed it yet, as I've seen no update on the dbmodel API. Will
there be any? Will it happen in issue 61441?
Yes. The db model API development will continue under issue #61441. The model
will not be integrated into trunk in promo-F.
Ok, in such case, I closed the review:
for database model hold new separate one in next promotion please.
The API was integrated into the trunk yesterday.