Skip to content

Commit

Permalink
0001064: Add interactive command line sql tool. dbsql
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Apr 29, 2013
1 parent 3df1011 commit 6f968e8
Showing 1 changed file with 24 additions and 2 deletions.
Expand Up @@ -21,18 +21,34 @@
package org.jumpmind.symmetric;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
import org.apache.commons.dbcp.BasicDataSource;
import org.h2.tools.Shell;

public class DbSqlCommand extends AbstractCommandLauncher {

private static final String OPTION_SQL = "sql";

public DbSqlCommand() {
super("dbsql", "", "DbSqlShell.Option.");
super("dbsql", "", "DbSql.Option.");
}

public static void main(String[] args) {
new DbSqlCommand().execute(args);
}

@Override
protected void printHelp(CommandLine cmd, Options options) {
System.out.println(app + " version " + Version.version());
System.out.println("Provides a sql shell for database interaction from the command line.\n");
super.printHelp(cmd, options);
}

@Override
protected void buildOptions(Options options) {
super.buildOptions(options);
addOption(options, null, OPTION_SQL, true);
}

@Override
protected boolean printHelpIfNoOptionsAreProvided() {
Expand All @@ -52,7 +68,13 @@ protected boolean executeWithOptions(CommandLine line) throws Exception {
String password = basicDataSource.getPassword();
String driver = basicDataSource.getDriverClassName();
Shell shell = new Shell();
shell.runTool("-url", url, "-user", user, "-password", password, "-driver", driver);

if (line.hasOption(OPTION_SQL)) {
String sql = line.getOptionValue(OPTION_SQL);
shell.runTool("-url", url, "-user", user, "-password", password, "-driver", driver, "-sql", sql);
} else {
shell.runTool("-url", url, "-user", user, "-password", password, "-driver", driver);
}
return true;
}

Expand Down

0 comments on commit 6f968e8

Please sign in to comment.