@Validate public void validate() { // The first time this method is invoked, the datastoreCatalog and // userPreferences fields haven't been populated yet, therefore we just // skip the check, because it is called a little bit later again, and // then these fields are populated. if (datastoreCatalog != null) { // Validate that the datastoreName doesn't conflict with one of the // datastores in the datastoreCatalog. final Datastore datastore = datastoreCatalog.getDatastore(datastoreName); if (datastore != null) { if (datastore instanceof JdbcDatastore && ((JdbcDatastore) datastore).getDriverClass() .equals(H2_DRIVER_CLASS_NAME)) { if (!((JdbcDatastore) datastore).getJdbcUrl().startsWith( H2_DATABASE_CONNECTION_PROTOCOL + userPreferences.getSaveDatastoreDirectory().getPath())) { throw new IllegalStateException("Datastore \"" + datastoreName + "\" is not located in \"Written datastores\" directory \"" + userPreferences .getSaveDatastoreDirectory().getPath() + "\"."); } } else { throw new IllegalStateException("Datastore \"" + datastoreName + "\" is not an H2 database, so it can't be used as a staging database."); } } } } }
@Inject protected DatabaseDriversPanel(final DataCleanerConfiguration configuration, final WindowContext windowContext, final UserPreferences userPreferences, final DatabaseDriverCatalog databaseDriverCatalog, final CloseableHttpClient httpClient) { super(WidgetUtils.COLOR_DEFAULT_BACKGROUND); _windowContext = windowContext; _userPreferences = userPreferences; _databaseDriverCatalog = databaseDriverCatalog; _httpClient = httpClient; setLayout(new BorderLayout()); final DatastoreCatalog datastoreCatalog = configuration.getDatastoreCatalog(); final String[] datastoreNames = datastoreCatalog.getDatastoreNames(); for (final String name : datastoreNames) { final Datastore datastore = datastoreCatalog.getDatastore(name); if (datastore instanceof JdbcDatastore) { final String driverClass = ((JdbcDatastore) datastore).getDriverClass(); if (driverClass != null) { _usedDriverClassNames.add(driverClass); } } } for (final UserDatabaseDriver driver : _userPreferences.getDatabaseDrivers()) { _usedDriverClassNames.add(driver.getDriverClassName()); } updateComponents(); }
imagePath = "images/datastore-types/orderdb.png"; } else { final String driverClass = jdbcDatastore.getDriverClass(); if (!StringUtils.isNullOrEmpty(driverClass)) { final DatabaseDriverDescriptor driver =
if (Strings.isNullOrEmpty(jndiUrl)) { appendElement(ds, "url", datastore.getJdbcUrl()); appendElement(ds, "driver", datastore.getDriverClass()); appendElement(ds, "username", datastore.getUsername()); appendElement(ds, "password", encodePassword(datastore.getPassword()));
DatabaseDriverCatalog.getDatabaseDriverByDriverClassName(originalDatastore.getDriverClass()); _databaseDriverComboBox.setSelectedItem(databaseDriver); _driverClassNameTextField.setText(originalDatastore.getDriverClass());