diff -r 5f90decd3b59 -r 4f4f515df807 java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java Wed Jan 08 14:50:26 2014 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java Wed Jan 08 19:18:52 2014 +0100 @@ -19,6 +19,8 @@ import info.globalcode.sql.dk.configuration.ConfigurationProvider; import info.globalcode.sql.dk.CLIOptions.MODE; +import info.globalcode.sql.dk.batch.Batch; +import info.globalcode.sql.dk.batch.BatchDecoder; import info.globalcode.sql.dk.batch.BatchException; import info.globalcode.sql.dk.batch.BatchEncoder; import info.globalcode.sql.dk.configuration.Configuration; @@ -158,7 +160,18 @@ log.log(Level.FINE, "Prepared batch size: {0} bytes", length); } - private void processExecuteBatch() { + private void processExecuteBatch() throws ConfigurationException, SQLException, FormatterException, BatchException { + BatchDecoder dec = new BatchDecoder(); + Batch b = dec.decode(options.getInputStream()); + + DatabaseDefinition dd = getConfiguration().getDatabase(options.getDatabaseName()); + FormatterDefinition fd = configuration.getFormatter(options.getFormatterName()); + try (DatabaseConnection c = dd.connect(options.getDatabaseProperties())) { + log.log(Level.FINE, "Database connected"); + try (Formatter f = fd.getInstance(new FormatterContext(options.getOutputStream(), options.getFormatterProperties()))) { + c.executeBatch(b, f); + } + } } @Override