Index: src/main/java/org/apache/maven/continuum/management/DataManagementCli.java =================================================================== --- src/main/java/org/apache/maven/continuum/management/DataManagementCli.java (revision 578020) +++ src/main/java/org/apache/maven/continuum/management/DataManagementCli.java (working copy) @@ -128,6 +128,24 @@ Args.usage( command ); return; } + + if (SupportedDatabase.OTHER.equals( databaseType )) + { + if (command.driverClass == null + || command.artifactId == null + || command.groupId == null + || command.artifactVersion == null + || command.password == null + || command.username == null) { + System.err.println( "If OTHER databaseType is selected, -driverClass, -artifactId, -groupId, -artifactVersion, -username and -password must be provided together" ); + Args.usage( command ); + return; + } + databaseType.defaultParams = new DatabaseParams(command.driverClass, command.groupId, + command.artifactId, + command.artifactVersion, + command.username, command.password ); + } BasicConfigurator.configure(); if ( command.debug ) @@ -385,7 +404,27 @@ description = "The type of database to use. Currently supported values are DERBY_10_1. The default value is DERBY_10_1.", value = "databaseType") private String databaseType = SupportedDatabase.DERBY_10_1.toString(); + + @Argument(description = "JDBC driver class", value = "driverClass", required = false ) + private String driverClass; + @Argument(description = "JDBC driver groupId", value = "groupId", required = false ) + private String groupId; + + @Argument(description = "JDBC driver artifactId", value = "artifactId", required = false) + private String artifactId; + + @Argument(description = "Artifact version of the JDBC driver class", + value = "artifactVersion", + required = false) + private String artifactVersion; + + @Argument(description = "Username", value = "username", required = false) + private String username; + + @Argument(description = "Password", value = "password", required = false) + private String password; + @Argument( description = "Turn on debugging information. Default is off.", value = "debug") @@ -400,8 +439,10 @@ private enum SupportedDatabase { DERBY_10_1( new DatabaseParams( "org.apache.derby.jdbc.EmbeddedDriver", "org.apache.derby", "derby", "10.1.3.1", - "sa", "" ) ); + "sa", "" ) ), + OTHER( new DatabaseParams( null, null, null, null, null, null ) ); + private DatabaseParams defaultParams; SupportedDatabase( DatabaseParams defaultParams )