private JButton createRemoveButton(final Datastore datastore) { final String name = datastore.getName(); final JButton removeButton = WidgetFactory.createSmallButton(IconUtils.ACTION_REMOVE); removeButton.setToolTipText("Remove datastore"); removeButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int result = JOptionPane.showConfirmDialog( DatastorePanel.this, "Are you sure you wish to remove the datastore '" + name + "'?", "Confirm remove", JOptionPane.YES_NO_OPTION); if (result == JOptionPane.YES_OPTION) { _datastoreCatalog.removeDatastore(datastore); } } }); if (!_datastoreCatalog.isDatastoreMutable(name)) { removeButton.setEnabled(false); } return removeButton; }
private JButton createEditButton(final Datastore datastore) { final JButton editButton = WidgetFactory.createSmallButton("images/actions/edit.png"); editButton.setToolTipText("Edit datastore"); if (datastore instanceof JdbcDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injectorWithDatastore = _injectorBuilder.with(JdbcDatastore.class, datastore).createInjector(); JdbcDatastoreDialog dialog = injectorWithDatastore.getInstance(JdbcDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof CsvDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(CsvDatastore.class, datastore).createInjector(); CsvDatastoreDialog dialog = injector.getInstance(CsvDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof AccessDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(AccessDatastore.class, datastore).createInjector(); AccessDatastoreDialog dialog = injector.getInstance(AccessDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof ExcelDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(ExcelDatastore.class, datastore).createInjector(); ExcelDatastoreDialog dialog = injector.getInstance(ExcelDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof SasDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(SasDatastore.class, datastore).createInjector(); SasDatastoreDialog dialog = injector.getInstance(SasDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof XmlDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(XmlDatastore.class, datastore).createInjector(); XmlDatastoreDialog dialog = injector.getInstance(XmlDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof OdbDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(OdbDatastore.class, datastore).createInjector(); OdbDatastoreDialog dialog = injector.getInstance(OdbDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof FixedWidthDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(FixedWidthDatastore.class, datastore).createInjector(); FixedWidthDatastoreDialog dialog = injector.getInstance(FixedWidthDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof DbaseDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(DbaseDatastore.class, datastore).createInjector(); DbaseDatastoreDialog dialog = injector.getInstance(DbaseDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof CouchDbDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(CouchDbDatastore.class, datastore).createInjector(); CouchDbDatastoreDialog dialog = injector.getInstance(CouchDbDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof MongoDbDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(MongoDbDatastore.class, datastore).createInjector(); MongoDbDatastoreDialog dialog = injector.getInstance(MongoDbDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof SalesforceDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(SalesforceDatastore.class, datastore).createInjector(); SalesforceDatastoreDialog dialog = injector.getInstance(SalesforceDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof SugarCrmDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Injector injector = _injectorBuilder.with(SugarCrmDatastore.class, datastore).createInjector(); SugarCrmDatastoreDialog dialog = injector.getInstance(SugarCrmDatastoreDialog.class); dialog.open(); } }); } else if (datastore instanceof CompositeDatastore) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { CompositeDatastoreDialog dialog = new CompositeDatastoreDialog( (CompositeDatastore) datastore, _datastoreCatalog, _windowContext); dialog.open(); } }); } else { editButton.setEnabled(false); } if (!_datastoreCatalog.isDatastoreMutable(datastore.getName())) { editButton.setEnabled(false); } return editButton; }