java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java
branchv_0
changeset 209 8dfe037b3274
parent 203 504c4ba56d1c
child 210 f8aa3686d512
equal deleted inserted replaced
208:1a511d321ade 209:8dfe037b3274
   174 			log.log(Level.SEVERE, "Unable to create an instance of formatter: " + fd.getName(), e);
   174 			log.log(Level.SEVERE, "Unable to create an instance of formatter: " + fd.getName(), e);
   175 			return false;
   175 			return false;
   176 		}
   176 		}
   177 	}
   177 	}
   178 
   178 
       
   179 	private void listFormatterProperties() {
       
   180 		for (String name : options.getFormatterNamesToListProperties()) {
       
   181 			log.log(Level.SEVERE, "TODO: list formatter properties for {0}", name);
       
   182 		}
       
   183 	}
       
   184 
   179 	public void listTypes() throws FormatterException, ConfigurationException {
   185 	public void listTypes() throws FormatterException, ConfigurationException {
   180 		ColumnsHeader header = constructHeader(new HeaderField("name", SQLType.VARCHAR), new HeaderField("code", SQLType.INTEGER));
   186 		ColumnsHeader header = constructHeader(new HeaderField("name", SQLType.VARCHAR), new HeaderField("code", SQLType.INTEGER));
   181 		List<Object[]> data = new ArrayList<>();
   187 		List<Object[]> data = new ArrayList<>();
   182 		for (SQLType sqlType : SQLType.values()) {
   188 		for (SQLType sqlType : SQLType.values()) {
   183 			data.add(new Object[]{sqlType.name(), sqlType.getCode()});
   189 			data.add(new Object[]{sqlType.name(), sqlType.getCode()});
   344 		for (final String dbName : options.getDatabaseNamesToTest()) {
   350 		for (final String dbName : options.getDatabaseNamesToTest()) {
   345 			preloadDriver(dbName);
   351 			preloadDriver(dbName);
   346 		}
   352 		}
   347 
   353 
   348 		for (final String dbName : options.getDatabaseNamesToTest()) {
   354 		for (final String dbName : options.getDatabaseNamesToTest()) {
   349 			es.submit(new Runnable() {
   355 			es.submit(() -> {
   350 				// TODO: Java 8 – lambda
   356 				final Object[] row = testConnection(dbName);
   351 				@Override
   357 				synchronized (currentFormatter) {
   352 				public void run() {
   358 					printRow(currentFormatter, row);
   353 					final Object[] row = testConnection(dbName);
       
   354 					synchronized (currentFormatter) {
       
   355 						printRow(currentFormatter, row);
       
   356 					}
       
   357 				}
   359 				}
   358 			});
   360 			}
       
   361 			);
   359 		}
   362 		}
   360 
   363 
   361 		es.shutdown();
   364 		es.shutdown();
   362 
   365 
   363 		try {
   366 		try {
   563 					@Override
   566 					@Override
   564 					public void showInfo(InfoLister infoLister) throws FormatterException, ConfigurationException {
   567 					public void showInfo(InfoLister infoLister) throws FormatterException, ConfigurationException {
   565 						infoLister.listFormatters();
   568 						infoLister.listFormatters();
   566 					}
   569 					}
   567 				},
   570 				},
       
   571 		FORMATTER_PROPERTIES {
       
   572 					@Override
       
   573 					public void showInfo(InfoLister infoLister) throws FormatterException, ConfigurationException {
       
   574 						infoLister.listFormatterProperties();
       
   575 					}
       
   576 				},
   568 		TYPES {
   577 		TYPES {
   569 					@Override
   578 					@Override
   570 					public void showInfo(InfoLister infoLister) throws FormatterException, ConfigurationException {
   579 					public void showInfo(InfoLister infoLister) throws FormatterException, ConfigurationException {
   571 						infoLister.listTypes();
   580 						infoLister.listTypes();
   572 					}
   581 					}