private void deleteObjectclass() { ArrayList<LocalizableMessage> errors = new ArrayList<>(); ProgressDialog dlg = new ProgressDialog( Utilities.createFrame(), Utilities.getParentDialog(this), INFO_CTRL_PANEL_DELETE_OBJECTCLASS_TITLE.get(), getInfo()); LinkedHashSet<ObjectClass> ocsToDelete = new LinkedHashSet<>(); ocsToDelete.add(objectClass); LinkedHashSet<AttributeType> attrsToDelete = new LinkedHashSet<>(0); DeleteSchemaElementsTask newTask = new DeleteSchemaElementsTask(getInfo(), dlg, ocsToDelete, attrsToDelete); for (Task task : getInfo().getTasks()) { task.canLaunch(newTask, errors); } Schema schema = getInfo().getServerDescriptor().getSchema(); ArrayList<String> childClasses = new ArrayList<>(); if (schema != null) { for (ObjectClass o : schema.getObjectClasses().values()) { for (ObjectClass superior : o.getSuperiorClasses()) { if (objectClass.equals(superior)) { childClasses.add(o.getNameOrOID()); } } } } else { errors.add(ERR_CTRL_PANEL_SCHEMA_NOT_FOUND_DETAILS.get()); } if (errors.isEmpty()) { LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); if (!childClasses.isEmpty()) { mb.append( INFO_OBJECTCLASS_IS_SUPERIOR.get( ocName, Utilities.getStringFromCollection(childClasses, ", "))); mb.append("<br>"); } LocalizableMessage confirmationMessage = INFO_CTRL_PANEL_CONFIRMATION_DELETE_OBJECTCLASS_DETAILS.get(ocName); mb.append(confirmationMessage); if (displayConfirmationDialog( INFO_CTRL_PANEL_CONFIRMATION_REQUIRED_SUMMARY.get(), confirmationMessage)) { launchOperation( newTask, INFO_CTRL_PANEL_DELETING_OBJECTCLASS_SUMMARY.get(ocName), INFO_CTRL_PANEL_DELETING_OBJECTCLASS_COMPLETE.get(), INFO_CTRL_PANEL_DELETING_OBJECTCLASS_SUCCESSFUL.get(ocName), ERR_CTRL_PANEL_DELETING_OBJECTCLASS_ERROR_SUMMARY.get(), ERR_CTRL_PANEL_DELETING_OBJECTCLASS_ERROR_DETAILS.get(ocName), null, dlg); dlg.setVisible(true); } } else { displayErrorDialog(errors); } }
private void deleteClicked() { ArrayList<Message> errors = new ArrayList<Message>(); TreePath[] paths = treePane.getTree().getSelectionPaths(); ArrayList<AbstractIndexDescriptor> indexesToDelete = new ArrayList<AbstractIndexDescriptor>(); ArrayList<String> indexesNames = new ArrayList<String>(); if (paths != null) { for (TreePath path : paths) { Object node = path.getLastPathComponent(); if (node instanceof IndexTreeNode) { indexesToDelete.add(((IndexTreeNode) node).getIndex()); } else if (node instanceof VLVIndexTreeNode) { indexesToDelete.add(((VLVIndexTreeNode) node).getIndex()); } } } else { errors.add(ERR_CTRL_PANEL_NO_INDEX_SELECTED.get()); } for (AbstractIndexDescriptor index : indexesToDelete) { indexesNames.add(index.getName()); } String nameLabel = Utilities.getStringFromCollection(indexesNames, ", "); String backendName = indexesToDelete.get(0).getBackend().getBackendID(); if (errors.isEmpty()) { ProgressDialog dlg = new ProgressDialog( Utilities.createFrame(), Utilities.getParentDialog(this), INFO_CTRL_PANEL_DELETE_INDEXES_TITLE.get(), getInfo()); DeleteIndexTask newTask = new DeleteIndexTask(getInfo(), dlg, indexesToDelete); for (Task task : getInfo().getTasks()) { task.canLaunch(newTask, errors); } if (errors.isEmpty()) { if (displayConfirmationDialog( INFO_CTRL_PANEL_CONFIRMATION_REQUIRED_SUMMARY.get(), INFO_CTRL_PANEL_CONFIRMATION_INDEXES_DELETE_DETAILS.get(nameLabel, backendName))) { launchOperation( newTask, INFO_CTRL_PANEL_DELETING_INDEXES_SUMMARY.get(), INFO_CTRL_PANEL_DELETING_INDEXES_COMPLETE.get(), INFO_CTRL_PANEL_DELETING_INDEXES_SUCCESSFUL.get(nameLabel, backendName), ERR_CTRL_PANEL_DELETING_INDEXES_ERROR_SUMMARY.get(), ERR_CTRL_PANEL_DELETING_INDEXES_ERROR_DETAILS.get(nameLabel), null, dlg); dlg.setVisible(true); } } } if (!errors.isEmpty()) { displayErrorDialog(errors); } }
private void deleteIndex() { List<LocalizableMessage> errors = new ArrayList<>(); ProgressDialog dlg = new ProgressDialog( Utilities.createFrame(), Utilities.getParentDialog(this), INFO_CTRL_PANEL_DELETE_INDEX_TITLE.get(), getInfo()); ArrayList<AbstractIndexDescriptor> indexesToDelete = new ArrayList<>(); indexesToDelete.add(index); DeleteIndexTask newTask = new DeleteIndexTask(getInfo(), dlg, indexesToDelete); for (Task task : getInfo().getTasks()) { task.canLaunch(newTask, errors); } if (errors.isEmpty()) { String indexName = index.getName(); String backendName = index.getBackend().getBackendID(); if (displayConfirmationDialog( INFO_CTRL_PANEL_CONFIRMATION_REQUIRED_SUMMARY.get(), INFO_CTRL_PANEL_CONFIRMATION_INDEX_DELETE_DETAILS.get(indexName, backendName))) { launchOperation( newTask, INFO_CTRL_PANEL_DELETING_INDEX_SUMMARY.get(), INFO_CTRL_PANEL_DELETING_INDEX_COMPLETE.get(), INFO_CTRL_PANEL_DELETING_INDEX_SUCCESSFUL.get(indexName, backendName), ERR_CTRL_PANEL_DELETING_INDEX_ERROR_SUMMARY.get(), ERR_CTRL_PANEL_DELETING_INDEX_ERROR_DETAILS.get(indexName), null, dlg); dlg.setVisible(true); } } else { displayErrorDialog(errors); } }
/** {@inheritDoc} */ public void okClicked() { setPrimaryValid(lBaseDN); setSecondaryValid(addRemove.getSelectedLabel()); final LinkedHashSet<Message> errors = new LinkedHashSet<Message>(); String baseDN = getSelectedBaseDN(); if (baseDN == null) { setPrimaryInvalid(lBaseDN); if (baseDNs.getItemCount() == 0) { errors.add(ERR_CTRL_PANEL_NO_BASE_DNS_DEFINED_LABEL.get()); } else { errors.add(ERR_CTRL_PANEL_MUST_SELECT_BASE_DN.get()); } } SortableListModel<AbstractIndexDescriptor> model = addRemove.getSelectedListModel(); if (model.getSize() == 0) { setSecondaryInvalid(addRemove.getSelectedLabel()); errors.add(ERR_CTRL_PANEL_MUST_SELECT_INDEX_TO_REBUILD.get()); } if (errors.isEmpty()) { ProgressDialog progressDialog = new ProgressDialog( Utilities.createFrame(), Utilities.getParentDialog(this), getTitle(), getInfo()); HashSet<String> baseDNs = new HashSet<String>(); baseDNs.add(getSelectedBaseDN()); RebuildIndexTask newTask = new RebuildIndexTask( getInfo(), progressDialog, baseDNs, addRemove.getSelectedListModel().getData()); for (Task task : getInfo().getTasks()) { task.canLaunch(newTask, errors); } boolean confirmed = true; if ((errors.isEmpty()) && isServerRunning()) { String backendName = newTask.getBackends().iterator().next(); confirmed = displayConfirmationDialog( INFO_CTRL_PANEL_CONFIRMATION_REQUIRED_SUMMARY.get(), INFO_CTRL_PANEL_CONFIRM_REBUILD_INDEX_DETAILS.get(backendName)); } if ((errors.isEmpty()) && confirmed) { launchOperation( newTask, INFO_CTRL_PANEL_REBUILDING_INDEXES_SUMMARY.get(baseDN), INFO_CTRL_PANEL_REBUILDING_INDEXES_SUCCESSFUL_SUMMARY.get(), INFO_CTRL_PANEL_REBUILDING_INDEXES_SUCCESSFUL_DETAILS.get(), ERR_CTRL_PANEL_REBUILDING_INDEXES_ERROR_SUMMARY.get(), null, ERR_CTRL_PANEL_REBUILDING_INDEXES_ERROR_DETAILS, progressDialog); progressDialog.setVisible(true); Utilities.getParentDialog(this).setVisible(false); } } if (errors.size() > 0) { displayErrorDialog(errors); } }