private void newVLVIndexClicked() { if (newVLVIndexPanel == null) { newVLVIndexPanel = new NewVLVIndexPanel( (String) backends.getSelectedItem(), Utilities.getParentDialog(this)); newVLVIndexPanel.setInfo(getInfo()); newVLVIndexDialog = new GenericDialog(null, newVLVIndexPanel); Utilities.centerGoldenMean(newVLVIndexDialog, Utilities.getParentDialog(this)); newVLVIndexPanel.addConfigurationElementCreatedListener( new ConfigurationElementCreatedListener() { /** {@inheritDoc} */ public void elementCreated(ConfigurationElementCreatedEvent ev) { Object o = ev.getConfigurationObject(); if (o instanceof AbstractIndexDescriptor) { lastCreatedIndex = (AbstractIndexDescriptor) o; } } }); } else if (!newVLVIndexDialog.isVisible()) { String backendID = (String) backends.getSelectedItem(); for (BackendDescriptor backend : getInfo().getServerDescriptor().getBackends()) { if (backend.getBackendID().equalsIgnoreCase(backendID)) { newVLVIndexPanel.update(backend); break; } } } newVLVIndexDialog.setVisible(true); }
/** * Constructor of the task. * * @param info the control panel information. * @param dlg the progress dialog where the task progress will be displayed. * @param tasks the tasks to be canceled. */ public CancelTaskTask(ControlPanelInfo info, ProgressDialog dlg, List<TaskEntry> tasks) { super(info, dlg); backendSet = new HashSet<String>(); for (BackendDescriptor backend : info.getServerDescriptor().getBackends()) { backendSet.add(backend.getBackendID()); } this.tasks = new ArrayList<TaskEntry>(tasks); }
/** * Repopulates the contents of the tree. * * @param tree the tree to be repopulated. */ private void repopulateTree(JTree tree) { ignoreSelectionEvents = true; final Point currentPosition = treeScroll.getViewport().getViewPosition(); DefaultMutableTreeNode root = getRoot(tree); TreePath path = tree.getSelectionPath(); DefaultMutableTreeNode lastSelectedNode = null; if (path != null) { lastSelectedNode = (DefaultMutableTreeNode) path.getLastPathComponent(); } TreePath newSelectionPath = null; BackendDescriptor backend = null; String backendName = (String) backends.getSelectedItem(); if (backendName != null) { for (BackendDescriptor b : getInfo().getServerDescriptor().getBackends()) { if (b.getBackendID().equalsIgnoreCase(backendName)) { backend = b; break; } } } ArrayList<ArrayList<? extends AbstractIndexTreeNode>> nodes = new ArrayList<ArrayList<? extends AbstractIndexTreeNode>>(); ArrayList<IndexTreeNode> standardIndexNodes = new ArrayList<IndexTreeNode>(); ArrayList<VLVIndexTreeNode> vlvIndexNodes = new ArrayList<VLVIndexTreeNode>(); nodes.add(standardIndexNodes); nodes.add(vlvIndexNodes); if (backend != null) { for (IndexDescriptor index : backend.getIndexes()) { standardIndexNodes.add(new IndexTreeNode(index.getName(), index)); } for (VLVIndexDescriptor index : backend.getVLVIndexes()) { vlvIndexNodes.add(new VLVIndexTreeNode(index.getName(), index)); } } DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); int i = 0; int positionUnderRoot = 0; for (DefaultMutableTreeNode parent : categoryNodes) { if (nodes.get(i).size() == 0) { if (root.getIndex(parent) != -1) { model.removeNodeFromParent(parent); parent.removeAllChildren(); } } else { boolean expand = true; if (root.getIndex(parent) == -1) { model.insertNodeInto(parent, root, positionUnderRoot); } else { expand = tree.isExpanded(new TreePath(parent)) || (parent.getChildCount() == 0); parent.removeAllChildren(); } for (AbstractIndexTreeNode node : nodes.get(i)) { parent.add(node); if ((newSelectionPath == null) && ((lastSelectedNode != null) || (lastCreatedIndex != null))) { if (lastCreatedIndex != null) { if ((node instanceof IndexTreeNode) && (lastCreatedIndex instanceof IndexDescriptor)) { if (node.getName().equals(lastCreatedIndex.getName())) { newSelectionPath = new TreePath(node.getPath()); lastCreatedIndex = null; } } else if ((node instanceof VLVIndexTreeNode) && (lastCreatedIndex instanceof VLVIndexDescriptor)) { if (node.getName().equals(lastCreatedIndex.getName())) { newSelectionPath = new TreePath(node.getPath()); lastCreatedIndex = null; } } } else if (node.getName().equals(lastSelectedNode.getUserObject())) { newSelectionPath = new TreePath(node.getPath()); } } } model.nodeStructureChanged(parent); if (expand) { tree.expandPath(new TreePath(parent.getPath())); } positionUnderRoot++; } i++; } if (newSelectionPath == null) { if (firstTreeRepopulate) { newSelectionPath = new TreePath(standardIndexes.getPath()); } } if (newSelectionPath != null) { tree.setSelectionPath(newSelectionPath); tree.scrollPathToVisible(newSelectionPath); } updateEntryPane(); SwingUtilities.invokeLater( new Runnable() { public void run() { if (firstTreeRepopulate) { treeScroll.getViewport().setViewPosition(new Point(0, 0)); } else { treeScroll.getViewport().setViewPosition(currentPosition); } } }); firstTreeRepopulate = false; ignoreSelectionEvents = false; }