java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java
branchv_0
changeset 2 72da10f632b5
parent 1 f32dac78d13a
child 3 efdf2b886feb
equal deleted inserted replaced
1:f32dac78d13a 2:72da10f632b5
     4  *
     4  *
     5  * @author Ing. František Kučera (frantovo.cz)
     5  * @author Ing. František Kučera (frantovo.cz)
     6  */
     6  */
     7 public class CLIStarter {
     7 public class CLIStarter {
     8 
     8 
       
     9 	public static final String DEFAULT_NAME_PREFIX = ":";
       
    10 
     9 	public static void main(String[] args) {
    11 	public static void main(String[] args) {
    10 		
    12 
    11 		args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"};
    13 		args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"};
    12 		
    14 
    13 		CLIOptions options = parseOptions(args);
    15 		CLIOptions options = parseOptions(args);
    14 	}
    16 	}
    15 
    17 
    16 	private static CLIOptions parseOptions(String[] args) {
    18 	private static CLIOptions parseOptions(String[] args) {
    17 		CLIOptions options = new CLIOptions();
    19 		CLIOptions options = new CLIOptions();
    18 
    20 
       
    21 		String typesString = null;
       
    22 		String namePrefix = DEFAULT_NAME_PREFIX;
       
    23 
       
    24 
    19 		for (int i = 0; i < args.length; i++) {
    25 		for (int i = 0; i < args.length; i++) {
    20 			String arg = args[i];
    26 			String arg = args[i];
       
    27 			switch (arg) {
       
    28 				case Tokens.TYPES:
       
    29 					typesString = args[++i];
       
    30 					break;
       
    31 				case Tokens.NAME_PREFIX:
       
    32 					namePrefix = args[++i];
       
    33 					break;
       
    34 			}
       
    35 		}
    21 
    36 
       
    37 
       
    38 		for (int i = 0; i < args.length; i++) {
       
    39 			String arg = args[i];
    22 			switch (arg) {
    40 			switch (arg) {
       
    41 				case Tokens.TYPES:
       
    42 				case Tokens.NAME_PREFIX:
       
    43 					i++;
       
    44 					break;
    23 				case Tokens.DB:
    45 				case Tokens.DB:
    24 					String db = args[++i];
    46 					options.setDatabaseName(args[++i]);
    25 					System.out.println("DB: " + db);
       
    26 					break;
    47 					break;
    27 				case Tokens.SQL:
    48 				case Tokens.SQL:
    28 					String sql = args[++i];
    49 					options.setSql(args[++i]);
    29 					System.out.println("SQL: " + sql);
    50 					options.setCommandType(CLIOptions.COMMAND_TYPE.QUERY);
    30 					break;
    51 					break;
    31 				case Tokens.SQL_UPDATE:
    52 				case Tokens.SQL_UPDATE:
       
    53 				case Tokens.SQL_INSERT:
       
    54 					options.setSql(args[++i]);
       
    55 					options.setCommandType(CLIOptions.COMMAND_TYPE.UPDATE);
    32 					break;
    56 					break;
    33 				case Tokens.BATCH:
    57 				case Tokens.BATCH:
       
    58 					options.setBatch(true);
    34 					break;
    59 					break;
    35 				case Tokens.DATA:
    60 				case Tokens.DATA:
    36 					break;
       
    37 				case Tokens.TYPES:
       
    38 					break;
    61 					break;
    39 			}
    62 			}
    40 		}
    63 		}
    41 
    64 
    42 		return options;
    65 		return options;
    46 	public static class Tokens {
    69 	public static class Tokens {
    47 
    70 
    48 		public static final String DB = "--db";
    71 		public static final String DB = "--db";
    49 		public static final String SQL = "--sql";
    72 		public static final String SQL = "--sql";
    50 		public static final String SQL_UPDATE = "--sql-update";
    73 		public static final String SQL_UPDATE = "--sql-update";
       
    74 		public static final String SQL_INSERT = "--sql-insert";
    51 		public static final String BATCH = "--batch";
    75 		public static final String BATCH = "--batch";
    52 		public static final String DATA = "--data";
    76 		public static final String DATA = "--data";
       
    77 		public static final String NAME_PREFIX = "--name-prefix";
    53 		public static final String TYPES = "--types";
    78 		public static final String TYPES = "--types";
    54 
    79 
    55 		private Tokens() {
    80 		private Tokens() {
    56 		}
    81 		}
    57 	}
    82 	}