# HG changeset patch # User František Kučera # Date 1387826123 -3600 # Node ID 67581ec4396e4a2297f9c52cb5c6044b9b3b0ecb # Parent 2813d3409afdd388cf9a2bf8b793bab5ca347d22 named parameters: suffix (default is empty) diff -r 2813d3409afd -r 67581ec4396e java/sql-dk/src/info/globalcode/sql/dk/CLIOptions.java --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIOptions.java Mon Dec 23 18:27:57 2013 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIOptions.java Mon Dec 23 20:15:23 2013 +0100 @@ -33,10 +33,12 @@ public class CLIOptions { public static final String DEFAULT_NAME_PREFIX = ":"; + public static final String DEFAULT_NAME_SUFFIX = ":"; private String sql; private String databaseName; private String databaseNameToTest; private String namePrefix = DEFAULT_NAME_PREFIX; + private String nameSuffix = DEFAULT_NAME_SUFFIX; private String formatterName; private boolean batch; @@ -90,6 +92,9 @@ if (!equalz(namePrefix, DEFAULT_NAME_PREFIX)) { e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name prefix if just showing info.")); } + if (!equalz(nameSuffix, DEFAULT_NAME_SUFFIX)) { + e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name suffix if just showing info.")); + } if (showInfo.contains(INFO_TYPE.CONNECTION) && isEmpty(databaseNameToTest, false)) { e.addProblem(new InvalidOptionsException.OptionProblem("Please specify which database should be tested.")); } @@ -175,6 +180,14 @@ this.namePrefix = namePrefix; } + public String getNameSuffix() { + return nameSuffix; + } + + public void setNameSuffix(String nameSuffix) { + this.nameSuffix = nameSuffix; + } + public String getFormatterName() { return formatterName; } diff -r 2813d3409afd -r 67581ec4396e java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Mon Dec 23 18:27:57 2013 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Mon Dec 23 20:15:23 2013 +0100 @@ -70,6 +70,9 @@ case Tokens.NAME_PREFIX: options.setNamePrefix(fetchNext(args, ++i)); break; + case Tokens.NAME_SUFFIX: + options.setNameSuffix(fetchNext(args, ++i)); + break; case Tokens.DB: options.setDatabaseName(fetchNext(args, ++i)); break; @@ -83,7 +86,7 @@ for (i++; i < args.length; i++) { arg = args[i]; - if (arg.startsWith(options.getNamePrefix())) { // Named parameters: + if (arg.startsWith(options.getNamePrefix()) && arg.endsWith(options.getNameSuffix())) { // Named parameters: String paramName = arg.substring(options.getNamePrefix().length()); String paramValue = fetchNext(args, ++i); options.addNamedParameter(new NamedParameter(paramName, paramValue, namedTypes.get(paramName))); @@ -154,6 +157,7 @@ public static final String BATCH = "--batch"; public static final String DATA = "--data"; public static final String NAME_PREFIX = "--name-prefix"; + public static final String NAME_SUFFIX = "--name-suffix"; public static final String TYPES = "--types"; public static final String FORMATTER = "--formatter"; public static final String INFO_HELP = "--help";