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.
Summary: | Need for API for DB creation | ||
---|---|---|---|
Product: | db | Reporter: | Tomasz Slota <tslota> |
Component: | Derby | Assignee: | Libor Fischmeistr <lfischmeistr> |
Status: | NEW --- | ||
Severity: | blocker | ||
Priority: | P2 | ||
Version: | 5.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | ENHANCEMENT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 76543 |
Description
Tomasz Slota
2006-06-28 14:55:18 UTC
The functionality can be first exposed as a friend API to 'j2ee/samples' and 'j2ee/blueprints' but very likely it should be made a public one day as we want to apply it for every sample that is using database, not necessarily within the 'j2ee' cluster. It could be useful for plugin developers too. Working on it. Have most of it implemented already (but see desc3 in issue 76543). Don't have time to commit it today, so hopefully tomorrow. Implemented methods: public static boolean isDerbyRegistered(); public static boolean databaseExists(String databaseName); public static int getFirstIllegalCharacter(String databaseName); public static DatabaseConnection createDatabase(String databaseName, String user, String password) throws DatabaseException, IOException, IllegalStateException; public static DatabaseConnection createSampleDatabase() throws DatabaseException, IOException, IllegalStateException; // needed for appserver plugin public static DatabaseConnection createSampleDatabase(String databaseName) throws DatabaseException, IOException; I also plan a method like public static String getFirstFreeDatabaseName(String databaseName); Comments? Looks good to me. I think it is more logical to let the user choose user name and password when creating the database. At very least he/she should aware of the arbitrary values of these parameters ('APP'/'APP'), so I cold implement a transitional solution where they are presented as read-only fields. Done. The API is in the org.netbeans.modules.db.derby.api.DerbyDatabases class. Should write some unit tests, so not closing yet. Checking in db/derby/manifest.mf; /cvs/db/derby/manifest.mf,v <-- manifest.mf new revision: 1.1.4.2.2.5; previous revision: 1.1.4.2.2.4 done Checking in db/derby/nbproject/project.xml; /cvs/db/derby/nbproject/project.xml,v <-- project.xml new revision: 1.4.2.2.2.3; previous revision: 1.4.2.2.2.2 done Checking in db/derby/src/org/netbeans/modules/derby/CreateDatabaseAction.java; /cvs/db/derby/src/org/netbeans/modules/derby/CreateDatabaseAction.java,v <-- CreateDatabaseAction.java new revision: 1.5.2.2.2.2; previous revision: 1.5.2.2.2.1 done Checking in db/derby/src/org/netbeans/modules/derby/DerbyOptions.java; /cvs/db/derby/src/org/netbeans/modules/derby/DerbyOptions.java,v <-- DerbyOptions.java new revision: 1.5.2.2.2.6; previous revision: 1.5.2.2.2.5 done Checking in db/derby/src/org/netbeans/modules/derby/RegisterDerby.java; /cvs/db/derby/src/org/netbeans/modules/derby/RegisterDerby.java,v <-- RegisterDerby.java new revision: 1.8.2.4.2.3; previous revision: 1.8.2.4.2.2 done Checking in db/derby/src/org/netbeans/modules/derby/StartAction.java; /cvs/db/derby/src/org/netbeans/modules/derby/StartAction.java,v <-- StartAction.java new revision: 1.2.2.1.2.2; previous revision: 1.2.2.1.2.1 done RCS file: /cvs/db/derby/src/org/netbeans/modules/derby/Attic/Util.java,v done Checking in db/derby/src/org/netbeans/modules/derby/Util.java; /cvs/db/derby/src/org/netbeans/modules/derby/Attic/Util.java,v <-- Util.java new revision: 1.1.2.1; previous revision: 1.1 done RCS file: /cvs/db/derby/src/org/netbeans/modules/derby/api/Attic/DerbyDatabases.java,v done Checking in db/derby/src/org/netbeans/modules/derby/api/DerbyDatabases.java; /cvs/db/derby/src/org/netbeans/modules/derby/api/Attic/DerbyDatabases.java,v <-- DerbyDatabases.java new revision: 1.1.2.1; previous revision: 1.1 done Checking in db/derby/src/org/netbeans/modules/derby/spi/support/DerbySupport.java; /cvs/db/derby/src/org/netbeans/modules/derby/spi/support/DerbySupport.java,v <-- DerbySupport.java new revision: 1.5.2.2.2.8; previous revision: 1.5.2.2.2.7 done Checking in db/derby/src/org/netbeans/modules/derby/ui/Bundle.properties; /cvs/db/derby/src/org/netbeans/modules/derby/ui/Bundle.properties,v <-- Bundle.properties new revision: 1.5.2.2.2.5; previous revision: 1.5.2.2.2.4 done Checking in db/derby/src/org/netbeans/modules/derby/ui/CreateDatabasePanel.java; /cvs/db/derby/src/org/netbeans/modules/derby/ui/CreateDatabasePanel.java,v <-- CreateDatabasePanel.java new revision: 1.4.2.2.2.2; previous revision: 1.4.2.2.2.1 done Checking in db/external/derbysampledb.zip; /cvs/db/external/derbysampledb.zip,v <-- derbysampledb.zip new revision: 1.3.8.1.2.1; previous revision: 1.3.8.1 done Checking in serverplugins/sun/appsrv81/nbproject/project.xml; /cvs/serverplugins/sun/appsrv81/nbproject/project.xml,v <-- project.xml new revision: 1.7.4.6.2.5; previous revision: 1.7.4.6.2.4 done Checking in serverplugins/sun/appsrv81/src/org/netbeans/modules/j2ee/sun/ide/j2ee/db/RegisterPointbase.java; /cvs/serverplugins/sun/appsrv81/src/org/netbeans/modules/j2ee/sun/ide/j2ee/db/RegisterPointbase.java,v <-- RegisterPointbase.java new revision: 1.4.6.5.2.9; previous revision: 1.4.6.5.2.8 done Checking in ide/golden/friend-packages.txt; /cvs/ide/golden/friend-packages.txt,v <-- friend-packages.txt new revision: 1.15.4.1.2.104; previous revision: 1.15.4.1.2.103 done Reassigned to new owner. |