| | |
| | | /** |
| | | * The pane that is displayed when the user clicks on 'Browse Entries...'. |
| | | * It contains its own menu bar with all the actions to edit the entries. |
| | | * |
| | | */ |
| | | public class BrowseEntriesPanel extends AbstractBrowseEntriesPanel |
| | | { |
| | |
| | | } |
| | | ignoreTreeSelectionEvents = false; |
| | | } |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | path = paths[0]; |
| | | } |
| | | |
| | | // Update menu items |
| | | boolean enableDelete = false; |
| | | if ((paths != null) && (paths.length > 0)) |
| | | { |
| | | enableDelete = true; |
| | | for (TreePath p : paths) |
| | | { |
| | | BasicNode n = (BasicNode)p.getLastPathComponent(); |
| | | enableDelete = entryPane.canDelete(n.getDN()); |
| | | if (!enableDelete) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | boolean enableDelete = enableDelete(paths); |
| | | popupDeleteMenuItem.setEnabled(enableDelete); |
| | | menuBar.deleteMenuItem.setEnabled(enableDelete); |
| | | |
| | |
| | | menuBar.resetPasswordMenuItem.setEnabled(enableResetPassword); |
| | | |
| | | // Assume that if we cannot delete, we cannot create a new path |
| | | boolean enableNewEntry = (path != null) && enableDelete; |
| | | boolean enableNewEntry = path != null && enableDelete; |
| | | popupNewUserMenuItem.setEnabled(enableNewEntry); |
| | | menuBar.newUserMenuItem.setEnabled(enableNewEntry); |
| | | |
| | |
| | | |
| | | updateRightPane(paths); |
| | | } |
| | | |
| | | private boolean enableDelete(TreePath[] paths) |
| | | { |
| | | if (paths != null && paths.length > 0) |
| | | { |
| | | for (TreePath p : paths) |
| | | { |
| | | BasicNode n = (BasicNode)p.getLastPathComponent(); |
| | | if (!entryPane.canDelete(n.getDN())) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | }; |
| | | tree.getSelectionModel().addTreeSelectionListener(treeSelectionListener); |
| | | } |
| | |
| | | private void updateRightPane(TreePath[] paths) |
| | | { |
| | | TreePath path = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | path = paths[0]; |
| | | } |
| | |
| | | else |
| | | { |
| | | stopCurrentReader(); |
| | | if ((paths != null) && (paths.length > 1)) |
| | | if (paths != null && paths.length > 1) |
| | | { |
| | | entryPane.multipleEntriesSelected(); |
| | | } |
| | |
| | | private void startReader(LDAPEntryReader reader) |
| | | { |
| | | entryReader = reader; |
| | | if ((entryReaderThread == null) || !entryReaderThread.isAlive()) |
| | | if (entryReaderThread == null || !entryReaderThread.isAlive()) |
| | | { |
| | | entryReaderThread = new Thread(new Runnable() |
| | | { |
| | |
| | | Utilities.getParentDialog(this)); |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | BasicNode node = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode parentNode = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | parentNode = (BasicNode)path.getLastPathComponent(); |
| | |
| | | } |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | BasicNode node = null; |
| | | if ((paths != null) && (paths.length == 1)) |
| | | if (paths != null && paths.length == 1) |
| | | { |
| | | TreePath path = paths[0]; |
| | | node = (BasicNode)path.getLastPathComponent(); |
| | |
| | | ArrayList<LocalizableMessage> errors = new ArrayList<>(); |
| | | TreePath[] paths = treePane.getTree().getSelectionPaths(); |
| | | |
| | | if ((paths != null) && (paths.length > 0)) |
| | | if (paths != null && paths.length > 0) |
| | | { |
| | | ProgressDialog dlg = new ProgressDialog( |
| | | Utilities.createFrame(), |
| | |
| | | boolean isInterruptedException = false; |
| | | isInterruptedException = t instanceof java.io.InterruptedIOException || |
| | | t instanceof InterruptedNamingException; |
| | | while ((t != null) && !isInterruptedException) |
| | | while (t != null && !isInterruptedException) |
| | | { |
| | | t = t.getCause(); |
| | | isInterruptedException = t instanceof java.io.InterruptedIOException || |