This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
This issue tracks the creation of an API for the Database Explorer module.
Created attachment 23303 [details] Arch document
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.
PB01: > 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 API.
Created attachment 23958 [details] Zipped Javadoc
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 and org.netbeans.modules.j2ee.sun.ddui 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 the merge. I guess this means approved with TCRs, I'll update the opinion later today.
I've updated the opinion http://www.netbeans.org/source/browse/openide/www/tutorial/reviews/opinions_61439.html?r1=1.1&r2=1.2 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: http://www.netbeans.org/source/browse/openide/www/tutorial/reviews/opinions_61439.html?r1=1.2&r2=1.3 for database model hold new separate one in next promotion please.
The API was integrated into the trunk yesterday.
verified