java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java
branchv_0
changeset 166 5488c2dcf680
parent 159 9632b23df30c
child 200 2e351d7c26c4
--- a/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java	Thu Jan 16 12:28:08 2014 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java	Fri Jan 17 23:24:07 2014 +0100
@@ -17,8 +17,11 @@
  */
 package info.globalcode.sql.dk;
 
+import static info.globalcode.sql.dk.Functions.readString;
 import info.globalcode.sql.dk.InfoLister.InfoType;
 import info.globalcode.sql.dk.configuration.Property;
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -35,7 +38,7 @@
 
 	public static final String TYPE_NAME_SEPARATOR = ":";
 
-	public CLIOptions parseOptions(String[] args) throws CLIParserException {
+	public CLIOptions parseOptions(String[] args, InputStream in) throws CLIParserException {
 		CLIOptions options = new CLIOptions();
 
 		List<SQLType> numberedTypes = new ArrayList<>();
@@ -70,6 +73,13 @@
 				case Tokens.SQL:
 					options.setSql(fetchNext(args, ++i));
 					break;
+				case Tokens.SQL_IN:
+					try {
+						options.setSql(readString(in));
+					} catch (IOException e) {
+						throw new CLIParserException("Unable to read SQL from the input stream", e);
+					}
+					break;
 				case Tokens.BATCH:
 					options.setBatch(true);
 					break;
@@ -160,6 +170,7 @@
 		public static final String DB = "--db"; // bash-completion:option // help: database name
 		public static final String DB_PROPERTY = "--db-property"; // bash-completion:option // help: name and value
 		public static final String SQL = "--sql"; // bash-completion:option // help: SQL query/command
+		public static final String SQL_IN = "--sql-in"; // bash-completion:option // help: SQL query/command
 		public static final String BATCH = "--batch"; // bash-completion:option // help: batch mode (no argument)
 		public static final String DATA = "--data"; // bash-completion:option // help: list of ordinal parameters
 		public static final String DATA_NAMED = "--data-named"; // bash-completion:option // help: list of named parameters