/** * Listener method. * * @param event The property change event. */ @Override public void propertyChange(PropertyChangeEvent event) { if (CreateDatabaseWorker.COMPLETE.equals(event.getPropertyName())) { CreateDatabaseWorker worker = (CreateDatabaseWorker) event.getSource(); try { Boolean databasesCreated = worker.get(); if (databasesCreated) { JOptionPane.showMessageDialog( CreateDatabaseDialog.this, Messages.getMessage("database.created.message"), Messages.getMessage("database.created.title"), JOptionPane.INFORMATION_MESSAGE); } else { showExceptionDialog( worker.getCreationException(), "database.create.fail.title", "database.create.fail.message"); } } catch (CancellationException e) { // Do nothing - the user knows they cancelled it. } catch (ExecutionException e) { logger.warn("ExecutionException getting result from create database worker:", e); } catch (InterruptedException e) { // Just leave. } } }
/** * Called to start database creation. * * @param event The action event. */ @Override public void actionPerformed(ActionEvent event) { Properties props = new Properties(); setProperties(props); CreateDatabaseWorker worker = new CreateDatabaseWorker(CreateDatabaseDialog.this, props); worker.addPropertyChangeListener(new CreateDatabaseListener()); worker.execute(); }