java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java
branchv_0
changeset 2 72da10f632b5
parent 1 f32dac78d13a
child 3 efdf2b886feb
     1.1 --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java	Sun Dec 15 19:20:50 2013 +0100
     1.2 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java	Sun Dec 15 20:16:27 2013 +0100
     1.3 @@ -6,36 +6,59 @@
     1.4   */
     1.5  public class CLIStarter {
     1.6  
     1.7 +	public static final String DEFAULT_NAME_PREFIX = ":";
     1.8 +
     1.9  	public static void main(String[] args) {
    1.10 -		
    1.11 +
    1.12  		args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"};
    1.13 -		
    1.14 +
    1.15  		CLIOptions options = parseOptions(args);
    1.16  	}
    1.17  
    1.18  	private static CLIOptions parseOptions(String[] args) {
    1.19  		CLIOptions options = new CLIOptions();
    1.20  
    1.21 +		String typesString = null;
    1.22 +		String namePrefix = DEFAULT_NAME_PREFIX;
    1.23 +
    1.24 +
    1.25  		for (int i = 0; i < args.length; i++) {
    1.26  			String arg = args[i];
    1.27 +			switch (arg) {
    1.28 +				case Tokens.TYPES:
    1.29 +					typesString = args[++i];
    1.30 +					break;
    1.31 +				case Tokens.NAME_PREFIX:
    1.32 +					namePrefix = args[++i];
    1.33 +					break;
    1.34 +			}
    1.35 +		}
    1.36  
    1.37 +
    1.38 +		for (int i = 0; i < args.length; i++) {
    1.39 +			String arg = args[i];
    1.40  			switch (arg) {
    1.41 +				case Tokens.TYPES:
    1.42 +				case Tokens.NAME_PREFIX:
    1.43 +					i++;
    1.44 +					break;
    1.45  				case Tokens.DB:
    1.46 -					String db = args[++i];
    1.47 -					System.out.println("DB: " + db);
    1.48 +					options.setDatabaseName(args[++i]);
    1.49  					break;
    1.50  				case Tokens.SQL:
    1.51 -					String sql = args[++i];
    1.52 -					System.out.println("SQL: " + sql);
    1.53 +					options.setSql(args[++i]);
    1.54 +					options.setCommandType(CLIOptions.COMMAND_TYPE.QUERY);
    1.55  					break;
    1.56  				case Tokens.SQL_UPDATE:
    1.57 +				case Tokens.SQL_INSERT:
    1.58 +					options.setSql(args[++i]);
    1.59 +					options.setCommandType(CLIOptions.COMMAND_TYPE.UPDATE);
    1.60  					break;
    1.61  				case Tokens.BATCH:
    1.62 +					options.setBatch(true);
    1.63  					break;
    1.64  				case Tokens.DATA:
    1.65  					break;
    1.66 -				case Tokens.TYPES:
    1.67 -					break;
    1.68  			}
    1.69  		}
    1.70  
    1.71 @@ -48,8 +71,10 @@
    1.72  		public static final String DB = "--db";
    1.73  		public static final String SQL = "--sql";
    1.74  		public static final String SQL_UPDATE = "--sql-update";
    1.75 +		public static final String SQL_INSERT = "--sql-insert";
    1.76  		public static final String BATCH = "--batch";
    1.77  		public static final String DATA = "--data";
    1.78 +		public static final String NAME_PREFIX = "--name-prefix";
    1.79  		public static final String TYPES = "--types";
    1.80  
    1.81  		private Tokens() {