180 for (String name : options.getFormatterNamesToListProperties()) { |
181 for (String name : options.getFormatterNamesToListProperties()) { |
181 log.log(Level.SEVERE, "TODO: list formatter properties for {0}", name); |
182 log.log(Level.SEVERE, "TODO: list formatter properties for {0}", name); |
182 } |
183 } |
183 } |
184 } |
184 |
185 |
185 public void listTypes() throws FormatterException, ConfigurationException { |
186 private void listTypes() throws FormatterException, ConfigurationException { |
186 ColumnsHeader header = constructHeader(new HeaderField("name", SQLType.VARCHAR), new HeaderField("code", SQLType.INTEGER)); |
187 ColumnsHeader header = constructHeader(new HeaderField("name", SQLType.VARCHAR), new HeaderField("code", SQLType.INTEGER)); |
187 List<Object[]> data = new ArrayList<>(); |
188 List<Object[]> data = new ArrayList<>(); |
188 for (SQLType sqlType : SQLType.values()) { |
189 for (SQLType sqlType : SQLType.values()) { |
189 data.add(new Object[]{sqlType.name(), sqlType.getCode()}); |
190 data.add(new Object[]{sqlType.name(), sqlType.getCode()}); |
190 } |
191 } |
191 printTable(formatter, header, "-- data types", null, data); |
192 printTable(formatter, header, "-- data types", null, data); |
192 log.log(Level.INFO, "Type names in --types option are case insensitive"); |
193 log.log(Level.INFO, "Type names in --types option are case insensitive"); |
193 } |
194 } |
194 |
195 |
195 public void listDatabases() throws ConfigurationException, FormatterException { |
196 private void listDatabases() throws ConfigurationException, FormatterException { |
196 ColumnsHeader header = constructHeader( |
197 ColumnsHeader header = constructHeader( |
197 new HeaderField("database_name", SQLType.VARCHAR), |
198 new HeaderField("database_name", SQLType.VARCHAR), |
198 new HeaderField("user_name", SQLType.VARCHAR), |
199 new HeaderField("user_name", SQLType.VARCHAR), |
199 new HeaderField("database_url", SQLType.VARCHAR)); |
200 new HeaderField("database_url", SQLType.VARCHAR)); |
200 List<Object[]> data = new ArrayList<>(); |
201 List<Object[]> data = new ArrayList<>(); |
218 } |
219 } |
219 |
220 |
220 printTable(formatter, header, "-- configured databases", null, data); |
221 printTable(formatter, header, "-- configured databases", null, data); |
221 } |
222 } |
222 |
223 |
223 public void listJdbcDrivers() throws FormatterException, ConfigurationException { |
224 private void listJdbcDrivers() throws FormatterException, ConfigurationException { |
224 ColumnsHeader header = constructHeader( |
225 ColumnsHeader header = constructHeader( |
225 new HeaderField("class", SQLType.VARCHAR), |
226 new HeaderField("class", SQLType.VARCHAR), |
226 new HeaderField("version", SQLType.VARCHAR), |
227 new HeaderField("version", SQLType.VARCHAR), |
227 new HeaderField("major", SQLType.INTEGER), |
228 new HeaderField("major", SQLType.INTEGER), |
228 new HeaderField("minor", SQLType.INTEGER), |
229 new HeaderField("minor", SQLType.INTEGER), |
241 } |
242 } |
242 |
243 |
243 printTable(formatter, header, "-- discovered JDBC drivers (available on the CLASSPATH)", null, data); |
244 printTable(formatter, header, "-- discovered JDBC drivers (available on the CLASSPATH)", null, data); |
244 } |
245 } |
245 |
246 |
246 public void listJdbcProperties() throws FormatterException, ConfigurationException { |
247 private void listJdbcProperties() throws FormatterException, ConfigurationException { |
247 for (String dbName : options.getDatabaseNamesToListProperties()) { |
248 for (String dbName : options.getDatabaseNamesToListProperties()) { |
248 ColumnsHeader header = constructHeader( |
249 ColumnsHeader header = constructHeader( |
249 new HeaderField("property_name", SQLType.VARCHAR), |
250 new HeaderField("property_name", SQLType.VARCHAR), |
250 new HeaderField("required", SQLType.BOOLEAN), |
251 new HeaderField("required", SQLType.BOOLEAN), |
251 new HeaderField("choices", SQLType.ARRAY), |
252 new HeaderField("choices", SQLType.ARRAY), |
331 * much smaller. |
332 * much smaller. |
332 */ |
333 */ |
333 private static final long TESTING_AWAIT_LIMIT = 1; |
334 private static final long TESTING_AWAIT_LIMIT = 1; |
334 private static final TimeUnit TESTING_AWAIT_UNIT = TimeUnit.DAYS; |
335 private static final TimeUnit TESTING_AWAIT_UNIT = TimeUnit.DAYS; |
335 |
336 |
336 public void testConnections() throws FormatterException, ConfigurationException { |
337 private void testConnections() throws FormatterException, ConfigurationException { |
337 ColumnsHeader header = constructHeader( |
338 ColumnsHeader header = constructHeader( |
338 new HeaderField("database_name", SQLType.VARCHAR), |
339 new HeaderField("database_name", SQLType.VARCHAR), |
339 new HeaderField("configured", SQLType.BOOLEAN), |
340 new HeaderField("configured", SQLType.BOOLEAN), |
340 new HeaderField("connected", SQLType.BOOLEAN)); |
341 new HeaderField("connected", SQLType.BOOLEAN)); |
341 |
342 |
420 } |
421 } |
421 |
422 |
422 return new Object[]{dbName, succesfullyConfigured, succesfullyConnected}; |
423 return new Object[]{dbName, succesfullyConfigured, succesfullyConnected}; |
423 } |
424 } |
424 |
425 |
425 public void printResource(String fileName) { |
426 private void printResource(String fileName) { |
426 try (BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream(fileName)))) { |
427 try (BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream(fileName)))) { |
427 while (true) { |
428 while (true) { |
428 String line = reader.readLine(); |
429 String line = reader.readLine(); |
429 if (line == null) { |
430 if (line == null) { |
430 break; |
431 break; |