equal
deleted
inserted
replaced
18 package info.globalcode.sql.dk; |
18 package info.globalcode.sql.dk; |
19 |
19 |
20 import static info.globalcode.sql.dk.Functions.isNotEmpty; |
20 import static info.globalcode.sql.dk.Functions.isNotEmpty; |
21 import static info.globalcode.sql.dk.Functions.isEmpty; |
21 import static info.globalcode.sql.dk.Functions.isEmpty; |
22 import static info.globalcode.sql.dk.Functions.equalz; |
22 import static info.globalcode.sql.dk.Functions.equalz; |
|
23 import info.globalcode.sql.dk.InfoLister.InfoType; |
23 import java.io.OutputStream; |
24 import java.io.OutputStream; |
24 import java.util.ArrayList; |
25 import java.util.ArrayList; |
25 import java.util.Collection; |
26 import java.util.Collection; |
26 import java.util.EnumSet; |
27 import java.util.EnumSet; |
27 import java.util.List; |
28 import java.util.List; |
49 QUERY_NOW, |
50 QUERY_NOW, |
50 PREPARE_BATCH, |
51 PREPARE_BATCH, |
51 EXECUTE_BATCH, |
52 EXECUTE_BATCH, |
52 JUST_SHOW_INFO |
53 JUST_SHOW_INFO |
53 } |
54 } |
54 |
|
55 public enum INFO_TYPE { |
|
56 |
|
57 HELP, |
|
58 VERSION, |
|
59 LICENSE, |
|
60 FORMATTERS, |
|
61 TYPES, |
|
62 DATABASES, |
|
63 CONNECTION |
|
64 } |
|
65 private final List<NamedParameter> namedParameters = new ArrayList<>(); |
55 private final List<NamedParameter> namedParameters = new ArrayList<>(); |
66 private final List<Parameter> numberedParameters = new ArrayList<>(); |
56 private final List<Parameter> numberedParameters = new ArrayList<>(); |
67 private final EnumSet<INFO_TYPE> showInfo = EnumSet.noneOf(INFO_TYPE.class); |
57 private final EnumSet<InfoType> showInfo = EnumSet.noneOf(InfoType.class); |
68 |
58 |
69 public void validate() throws InvalidOptionsException { |
59 public void validate() throws InvalidOptionsException { |
70 InvalidOptionsException e = new InvalidOptionsException(); |
60 InvalidOptionsException e = new InvalidOptionsException(); |
71 |
61 |
72 MODE mode = getMode(); |
62 MODE mode = getMode(); |
95 e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name prefix if just showing info.")); |
85 e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name prefix if just showing info.")); |
96 } |
86 } |
97 if (!equalz(nameSuffix, DEFAULT_NAME_SUFFIX)) { |
87 if (!equalz(nameSuffix, DEFAULT_NAME_SUFFIX)) { |
98 e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name suffix if just showing info.")); |
88 e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name suffix if just showing info.")); |
99 } |
89 } |
100 if (showInfo.contains(INFO_TYPE.CONNECTION) && isEmpty(databaseNameToTest, false)) { |
90 if (showInfo.contains(InfoType.CONNECTION) && isEmpty(databaseNameToTest, false)) { |
101 e.addProblem(new InvalidOptionsException.OptionProblem("Please specify which database should be tested.")); |
91 e.addProblem(new InvalidOptionsException.OptionProblem("Please specify which database should be tested.")); |
102 } |
92 } |
103 } |
93 } |
104 |
94 |
105 if (!namedParameters.isEmpty() && !numberedParameters.isEmpty()) { |
95 if (!namedParameters.isEmpty() && !numberedParameters.isEmpty()) { |
213 |
203 |
214 public void setFormatterName(String formatterName) { |
204 public void setFormatterName(String formatterName) { |
215 this.formatterName = formatterName; |
205 this.formatterName = formatterName; |
216 } |
206 } |
217 |
207 |
218 public void addShowInfo(INFO_TYPE info) { |
208 public void addShowInfo(InfoType info) { |
219 showInfo.add(info); |
209 showInfo.add(info); |
220 } |
210 } |
221 |
211 |
222 public EnumSet<INFO_TYPE> getShowInfo() { |
212 public EnumSet<InfoType> getShowInfo() { |
223 return showInfo; |
213 return showInfo; |
224 } |
214 } |
225 |
215 |
226 public String getDatabaseNameToTest() { |
216 public String getDatabaseNameToTest() { |
227 return databaseNameToTest; |
217 return databaseNameToTest; |