franta-hg@1: package info.globalcode.sql.dk; franta-hg@1: franta-hg@1: /** franta-hg@1: * franta-hg@1: * @author Ing. František Kučera (frantovo.cz) franta-hg@1: */ franta-hg@1: public class CLIStarter { franta-hg@1: franta-hg@1: public static void main(String[] args) { franta-hg@2: franta-hg@1: args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"}; franta-hg@2: franta-hg@1: CLIOptions options = parseOptions(args); franta-hg@1: } franta-hg@1: franta-hg@1: private static CLIOptions parseOptions(String[] args) { franta-hg@1: CLIOptions options = new CLIOptions(); franta-hg@1: franta-hg@2: String typesString = null; franta-hg@2: franta-hg@1: for (int i = 0; i < args.length; i++) { franta-hg@1: String arg = args[i]; franta-hg@2: switch (arg) { franta-hg@2: case Tokens.TYPES: franta-hg@2: typesString = args[++i]; franta-hg@2: break; franta-hg@2: case Tokens.NAME_PREFIX: franta-hg@3: options.setNamePrefix(args[++i]); franta-hg@2: break; franta-hg@2: } franta-hg@2: } franta-hg@1: franta-hg@2: franta-hg@2: for (int i = 0; i < args.length; i++) { franta-hg@2: String arg = args[i]; franta-hg@1: switch (arg) { franta-hg@2: case Tokens.TYPES: franta-hg@2: case Tokens.NAME_PREFIX: franta-hg@2: i++; franta-hg@2: break; franta-hg@1: case Tokens.DB: franta-hg@2: options.setDatabaseName(args[++i]); franta-hg@1: break; franta-hg@1: case Tokens.SQL: franta-hg@2: options.setSql(args[++i]); franta-hg@2: options.setCommandType(CLIOptions.COMMAND_TYPE.QUERY); franta-hg@1: break; franta-hg@1: case Tokens.SQL_UPDATE: franta-hg@2: case Tokens.SQL_INSERT: franta-hg@2: options.setSql(args[++i]); franta-hg@2: options.setCommandType(CLIOptions.COMMAND_TYPE.UPDATE); franta-hg@1: break; franta-hg@1: case Tokens.BATCH: franta-hg@2: options.setBatch(true); franta-hg@1: break; franta-hg@1: case Tokens.DATA: franta-hg@1: break; franta-hg@1: } franta-hg@1: } franta-hg@1: franta-hg@1: return options; franta-hg@1: franta-hg@1: } franta-hg@1: franta-hg@1: public static class Tokens { franta-hg@1: franta-hg@1: public static final String DB = "--db"; franta-hg@1: public static final String SQL = "--sql"; franta-hg@1: public static final String SQL_UPDATE = "--sql-update"; franta-hg@2: public static final String SQL_INSERT = "--sql-insert"; franta-hg@1: public static final String BATCH = "--batch"; franta-hg@1: public static final String DATA = "--data"; franta-hg@2: public static final String NAME_PREFIX = "--name-prefix"; franta-hg@1: public static final String TYPES = "--types"; franta-hg@1: franta-hg@1: private Tokens() { franta-hg@1: } franta-hg@1: } franta-hg@1: }