opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
@@ -287,13 +287,7 @@ */ public String getLDAPURL() { int port = getPort(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT); if (port != -1) { String host = getHostName(); return getLDAPUrl(host, port, false); } return null; return getLDAPUrl0(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT, false); } /** @@ -304,31 +298,25 @@ */ public String getLDAPsURL() { int port = getPort(ServerProperty.LDAPS_ENABLED, ServerProperty.LDAPS_PORT); return getLDAPUrl0(ServerProperty.LDAPS_ENABLED, ServerProperty.LDAPS_PORT, true); } private String getLDAPUrl0(ServerProperty enabledProp, ServerProperty portProp, boolean useSSL) { int port = getPort(enabledProp, portProp); if (port != -1) { String host = getHostName(); return getLDAPUrl(host, port, true); return getLDAPUrl(host, port, useSSL); } return null; } private int getPort(ServerProperty enabled, ServerProperty port) private int getPort(ServerProperty enabledProp, ServerProperty portProp) { if (!serverProperties.isEmpty()) { List<?> s = (List<?>) serverProperties.get(enabled); List<?> p = (List<?>) serverProperties.get(port); if (s != null) { for (int i=0; i<s.size(); i++) { if (Boolean.TRUE.equals(s.get(i))) { return (Integer) p.get(i); } } } return getPort(enabledProp, portProp, -1); } return -1; } @@ -341,13 +329,7 @@ */ public String getAdminConnectorURL() { String host = getHostName(); int port = getPort(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT); if (port != -1) { return getLDAPUrl(host, port, true); } return null; return getLDAPUrl0(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT, true); } /** @@ -386,10 +368,10 @@ if (!serverProperties.isEmpty()) { port = getPort(port, ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT); port = getPort(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT, port); if (securePreferred) { port = getPort(port, ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT); port = getPort(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT, port); } } else @@ -462,12 +444,12 @@ } } private int getPort(int port, ServerProperty adminEnabled, ServerProperty adminPort) private int getPort(ServerProperty enabledProp, ServerProperty portProp, int defaultValue) { List<?> s = (List<?>) serverProperties.get(adminEnabled); List<?> p = (List<?>) serverProperties.get(adminPort); List<?> s = (List<?>) serverProperties.get(enabledProp); if (s != null) { List<?> p = (List<?>) serverProperties.get(portProp); for (int i=0; i<s.size(); i++) { if (Boolean.TRUE.equals(s.get(i))) @@ -476,7 +458,7 @@ } } } return port; return defaultValue; } /** opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyEntryTask.java
@@ -24,7 +24,6 @@ * Copyright 2008-2010 Sun Microsystems, Inc. * Portions Copyright 2014-2015 ForgeRock AS */ package org.opends.guitools.controlpanel.task; import static org.opends.messages.AdminToolMessages.*; @@ -65,9 +64,7 @@ import org.opends.server.core.DirectoryServer; import org.opends.server.types.*; /** * The task that is called when we must modify an entry. */ /** The task that is called when we must modify an entry. */ public class ModifyEntryTask extends Task { private Set<String> backendSet; @@ -170,7 +167,6 @@ return INFO_CTRL_PANEL_MODIFY_ENTRY_TASK_DESCRIPTION.get(oldEntry.getDN()); } /** {@inheritDoc} */ protected String getCommandLinePath() { @@ -466,7 +462,7 @@ for (int i = 0; i < rdn.getNumValues(); i++) { List<Object> values = entry.getAttributeValues(rdn.getAttributeName(i)); if (!!values.isEmpty()) if (values.isEmpty()) { return false; } @@ -547,7 +543,7 @@ if (oldRDN.getAttributeName(i).equalsIgnoreCase(attrName)) { ByteString value = oldRDN.getAttributeValue(i); if (containsValue(attr, value)) if (attr.contains(value)) { if (rdnValue == null || !rdnValue.equals(value)) { @@ -655,18 +651,6 @@ return false; } private static boolean containsValue(org.opends.server.types.Attribute attr, Object value) { for (Iterator<ByteString> it = attr.iterator(); it.hasNext();) { if (value.equals(it.next())) { return true; } } return false; } /** * Creates a JNDI attribute using an attribute name and a set of values. * @param attrName the attribute name. opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewEntryTask.java
@@ -24,7 +24,6 @@ * Copyright 2008-2009 Sun Microsystems, Inc. * Portions Copyright 2014-2015 ForgeRock AS */ package org.opends.guitools.controlpanel.task; import static org.opends.messages.AdminToolMessages.*; @@ -43,6 +42,8 @@ import javax.swing.SwingUtilities; import javax.swing.tree.TreePath; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.opendj.ldap.ByteString; import org.opends.guitools.controlpanel.browser.BrowserController; import org.opends.guitools.controlpanel.datamodel.BackendDescriptor; import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor; @@ -52,16 +53,11 @@ import org.opends.guitools.controlpanel.ui.nodes.BasicNode; import org.opends.guitools.controlpanel.ui.nodes.BrowserNodeInfo; import org.opends.guitools.controlpanel.util.Utilities; import org.forgerock.i18n.LocalizableMessage; import org.opends.server.config.ConfigConstants; import org.forgerock.opendj.ldap.ByteString; import org.opends.server.types.DN; import org.opends.server.types.Entry; /** * The task launched when we must create an entry. * */ /** The task launched when we must create an entry. */ public class NewEntryTask extends Task { private Entry newEntry; @@ -377,24 +373,16 @@ private boolean isBaseDN(DN dn) { boolean isBaseDN = false; for (BackendDescriptor backend : getInfo().getServerDescriptor().getBackends()) for (BackendDescriptor backend : getInfo().getServerDescriptor().getBackends()) { for (BaseDNDescriptor baseDN : backend.getBaseDns()) { if (baseDN.getDn().equals(dn)) { isBaseDN = true; break; return true; } } if (isBaseDN) { break; } } return isBaseDN; return false; } } opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java
@@ -136,7 +136,6 @@ private CommonSchemaElements lastCreatedElement; private final CategoryTreeNode attributes = new CategoryTreeNode(INFO_CTRL_PANEL_ATTRIBUTES_CATEGORY_NODE.get()); private final CategoryTreeNode objectClasses = new CategoryTreeNode(INFO_CTRL_PANEL_OBJECTCLASSES_CATEGORY_NODE.get()); @@ -1172,18 +1171,15 @@ return mustAdd(ocName, oc.getOID(), oc.getPrimaryName(), oc.getNormalizedNames()); } private boolean mustAdd(String name, String oid, String primaryName, Iterable<String> names) private boolean mustAdd(String name, String oid, String primaryName, Set<String> names) { List<String> values = new ArrayList<>(); List<String> values = new ArrayList<>(names.size() + 2); values.add(oid); if (primaryName != null) { values.add(primaryName); } for (String v : names) { values.add(v); } values.addAll(names); return matchFilter(values, name, false); } opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java
@@ -24,7 +24,6 @@ * Copyright 2008-2009 Sun Microsystems, Inc. * Portions Copyright 2014-2015 ForgeRock AS */ package org.opends.guitools.controlpanel.ui; import static org.opends.messages.AdminToolMessages.*; @@ -55,6 +54,8 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.guitools.controlpanel.datamodel.BackendDescriptor; import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor; import org.opends.guitools.controlpanel.datamodel.ServerDescriptor; @@ -63,38 +64,24 @@ import org.opends.guitools.controlpanel.task.Task; import org.opends.guitools.controlpanel.ui.renderer.CustomListCellRenderer; import org.opends.guitools.controlpanel.util.Utilities; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.server.types.DN; /** * The panel displayed when the user clicks on 'Delete Base DN...' in the * browse entries dialog. * */ public class DeleteBaseDNPanel extends StatusGenericPanel { private static final long serialVersionUID = 2182662824496761087L; /** * The list containing the base DNs. */ /** The list containing the base DNs. */ protected JList list; /** * Label indicating that no element was found. */ /** Label indicating that no element was found. */ protected JLabel lNoElementsFound; /** * The main panel. */ /** The main panel. */ protected JPanel mainPanel; /** * Default constructor. * */ /** Default constructor. */ public DeleteBaseDNPanel() { super(); @@ -213,9 +200,7 @@ lNoElementsFound.setVisible(list.getModel().getSize() == 0); } /** * Creates the layout of the panel (but the contents are not populated here). */ /** Creates the layout of the panel (but the contents are not populated here). */ private void createLayout() { GridBagConstraints gbc = new GridBagConstraints(); @@ -364,23 +349,10 @@ for (Object o : dns) { DN dn = (DN)o; boolean found = false; for (BackendDescriptor backend : getInfo().getServerDescriptor().getBackends()) BaseDNDescriptor baseDN = findBaseDN(dn); if (baseDN != null) { for (BaseDNDescriptor baseDN : backend.getBaseDns()) { if (baseDN.getDn().equals(dn)) { baseDNsToDelete.add(baseDN); found = true; break; } } if (found) { break; } baseDNsToDelete.add(baseDN); } } DeleteBaseDNAndBackendTask newTask = new DeleteBaseDNAndBackendTask( @@ -415,6 +387,21 @@ } } private BaseDNDescriptor findBaseDN(DN dn) { for (BackendDescriptor backend : getInfo().getServerDescriptor().getBackends()) { for (BaseDNDescriptor baseDN : backend.getBaseDns()) { if (baseDN.getDn().equals(dn)) { return baseDN; } } } return null; } private LocalizableMessage getConfirmationMessage( Collection<BaseDNDescriptor> baseDNsToDelete) { opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LDAPEntryPanel.java
@@ -35,6 +35,8 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.swing.JButton; import javax.swing.JPanel; @@ -43,6 +45,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.tree.TreePath; import org.forgerock.i18n.LocalizableMessage; import org.opends.guitools.controlpanel.browser.BasicNodeError; import org.opends.guitools.controlpanel.browser.BrowserController; import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo; @@ -58,17 +61,13 @@ import org.opends.guitools.controlpanel.task.ModifyEntryTask; import org.opends.guitools.controlpanel.task.Task; import org.opends.guitools.controlpanel.util.Utilities; import org.forgerock.i18n.LocalizableMessage; import org.opends.server.config.ConfigConstants; import org.opends.server.types.DN; import org.opends.server.types.Entry; import org.opends.server.types.OpenDsException; import org.opends.server.util.ServerConstants; /** * This is the panel that contains all the different views to display an entry. * */ /** This is the panel that contains all the different views to display an entry. */ public class LDAPEntryPanel extends StatusGenericPanel implements EntryReadListener { @@ -100,40 +99,25 @@ private View view = View.SIMPLIFIED_VIEW; /** * The different views that we have to display an LDAP entry. * */ /** The different views that we have to display an LDAP entry. */ public enum View { /** * Simplified view. */ /** Simplified view. */ SIMPLIFIED_VIEW, /** * Attribute view (contained in a table). */ /** Attribute view (contained in a table). */ ATTRIBUTE_VIEW, /** * LDIF view (text based). */ /** LDIF view (text based). */ LDIF_VIEW } /** * Default constructor. * */ /** Default constructor. */ public LDAPEntryPanel() { super(); createLayout(); } /** * Creates the layout of the panel (but the contents are not populated here). * */ /** Creates the layout of the panel (but the contents are not populated here). */ private void createLayout() { GridBagConstraints gbc = new GridBagConstraints(); @@ -358,10 +342,7 @@ displayedEntryPanel = null; } /** * Displays a panel informing that nothing is selected. * */ /** Displays a panel informing that nothing is selected. */ public void noEntrySelected() { searchResult = null; @@ -374,10 +355,7 @@ displayedEntryPanel = null; } /** * Displays a panel informing that multiple entries are selected. * */ /** Displays a panel informing that multiple entries are selected. */ public void multipleEntriesSelected() { searchResult = null; @@ -431,7 +409,6 @@ }); } /** {@inheritDoc} */ public void setInfo(ControlPanelInfo info) { @@ -442,22 +419,22 @@ errorSearchingPanel.setInfo(info); } private DN[] parentReadOnly; private DN[] nonDeletable; private List<DN> parentReadOnly; private List<DN> nonDeletable; { try { parentReadOnly = new DN[] { parentReadOnly = Arrays.asList( DN.valueOf(ConfigConstants.DN_TASK_ROOT), DN.valueOf(ConfigConstants.DN_MONITOR_ROOT), DN.valueOf(ConfigConstants.DN_BACKUP_ROOT), DN.valueOf(ServerConstants.DN_EXTERNAL_CHANGELOG_ROOT) }; nonDeletable = new DN[] { ); nonDeletable = Arrays.asList( DN.valueOf(ConfigConstants.DN_CONFIG_ROOT), DN.valueOf(ConfigConstants.DN_DEFAULT_SCHEMA_ROOT), DN.valueOf(ConfigConstants.DN_TRUST_STORE_ROOT) }; ); } catch (Throwable t) { @@ -507,39 +484,29 @@ */ public boolean canDelete(String sDn) { boolean canDelete = true; try { DN dn = DN.valueOf(sDn); for (DN parentDN : parentReadOnly) { if (dn.isDescendantOf(parentDN)) { canDelete = false; break; } } if (canDelete) { for (DN cannotDelete : nonDeletable) { if (cannotDelete.equals(dn)) { canDelete = false; break; } } } if (canDelete) { canDelete = !dn.equals(DN.NULL_DN); } return !dn.equals(DN.NULL_DN) && !nonDeletable.contains(dn) && isDescendantOfAny(dn, parentReadOnly); } catch (Throwable t) { throw new RuntimeException("Error decoding DNs: "+t, t); } return canDelete; } private boolean isDescendantOfAny(DN dn, List<DN> parentDNs) { for (DN parentDN : parentDNs) { if (dn.isDescendantOf(parentDN)) { return false; } } return true; } /** opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/NumSubordinateHacker.java
@@ -24,7 +24,6 @@ * Copyright 2008-2010 Sun Microsystems, Inc. * Portions Copyright 2014-2015 ForgeRock AS */ package org.opends.guitools.controlpanel.util; import java.util.ArrayList; @@ -36,10 +35,10 @@ /** Class used to handle the case where numsubordinates does not work between databases. */ public class NumSubordinateHacker { String serverHost = "not-initialized"; int serverPort = -1; final ArrayList<DN> unreliableEntryList = new ArrayList<>(); boolean isUnreliableEntryListEmpty; private String serverHost = "not-initialized"; private int serverPort = -1; private final ArrayList<DN> unreliableEntryList = new ArrayList<>(); private boolean isUnreliableEntryListEmpty; /** * Tells whether the list of unreliable contains children of @@ -48,33 +47,13 @@ * @return <CODE>true</CODE> if the list of unreliable entries contains a * children of the parentUrl. Returns <CODE>false</CODE> otherwise. */ public boolean containsChildrenOf(LDAPURL parentUrl) { if (!isUnreliableEntryListEmpty) { boolean isInServer = serverHost.equalsIgnoreCase(String.valueOf(parentUrl.getHost())) && serverPort == parentUrl.getPort(); if (isInServer) { try { for (DN dn : unreliableEntryList) { if (dn.equals(DN.valueOf(parentUrl.getRawBaseDN()))) { return true; } } } catch (OpenDsException oe) { throw new RuntimeException("Error decoding DN of url: "+ parentUrl); } } } return false; public boolean containsChildrenOf(LDAPURL parentUrl) { return contains(parentUrl); } /** * Tells whether the list of unreliable contains the entry with LDAPURL * url. * Tells whether the list of unreliable contains the entry with LDAPURL url. * It assumes that we previously called containsChildrenOf (there's no check * of the host/port). * @param url the LDAPURL of the parent. @@ -83,24 +62,15 @@ */ public boolean contains(LDAPURL url) { if (!isUnreliableEntryListEmpty) { boolean isInServer = serverHost.equalsIgnoreCase(String.valueOf(url.getHost())) && serverPort == url.getPort(); boolean isInServer = serverHost.equalsIgnoreCase(url.getHost()) && serverPort == url.getPort(); if (isInServer) { for (DN dn : unreliableEntryList) try { try { if (dn.equals(DN.valueOf(url.getRawBaseDN()))) { return true; } } catch (OpenDsException oe) { throw new RuntimeException("Error decoding DN of url: "+ url); } return unreliableEntryList.contains(DN.valueOf(url.getRawBaseDN())); } catch (OpenDsException oe) { throw new RuntimeException("Error decoding DN of url: " + url); } } } opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
@@ -113,103 +113,50 @@ public class SchemaBackend extends Backend<SchemaBackendCfg> implements ConfigurationChangeListener<SchemaBackendCfg>, AlertGenerator, Backupable { private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass(); /** * The fully-qualified name of this class. */ /** The fully-qualified name of this class. */ private static final String CLASS_NAME = "org.opends.server.backends.SchemaBackend"; private static final String CONFIG_SCHEMA_ELEMENTS_FILE = "02-config.ldif"; private static final String CORE_SCHEMA_ELEMENTS_FILE = "00-core.ldif"; /** * The set of user-defined attributes that will be included in the schema * entry. */ /** The set of user-defined attributes that will be included in the schema entry. */ private ArrayList<Attribute> userDefinedAttributes; /** * The attribute type that will be used to include the defined attribute * types. */ /** The attribute type that will be used to include the defined attribute types. */ private AttributeType attributeTypesType; /** * The attribute type that will be used to hold the schema creation timestamp. */ /** The attribute type that will be used to hold the schema creation timestamp. */ private AttributeType createTimestampType; /** The attribute type that will be used to hold the schema creator's name. */ private AttributeType creatorsNameType; /** * The attribute type that will be used to include the defined DIT content * rules. */ /** The attribute type that will be used to include the defined DIT content rules. */ private AttributeType ditContentRulesType; /** * The attribute type that will be used to include the defined DIT structure * rules. */ /** The attribute type that will be used to include the defined DIT structure rules. */ private AttributeType ditStructureRulesType; /** * The attribute type that will be used to include the defined attribute * syntaxes. */ /** The attribute type that will be used to include the defined attribute syntaxes. */ private AttributeType ldapSyntaxesType; /** * The attribute type that will be used to include the defined matching rules. */ /** The attribute type that will be used to include the defined matching rules. */ private AttributeType matchingRulesType; /** * The attribute type that will be used to include the defined matching rule * uses. */ /** The attribute type that will be used to include the defined matching rule uses. */ private AttributeType matchingRuleUsesType; /** The attribute that will be used to hold the schema modifier's name. */ private AttributeType modifiersNameType; /** * The attribute type that will be used to hold the schema modification * timestamp. */ /** The attribute type that will be used to hold the schema modification timestamp. */ private AttributeType modifyTimestampType; /** * The attribute type that will be used to include the defined object classes. */ /** The attribute type that will be used to include the defined object classes. */ private AttributeType objectClassesType; /** The attribute type that will be used to include the defined name forms. */ private AttributeType nameFormsType; /** * The value containing DN of the user we'll say created the configuration. */ /** The value containing DN of the user we'll say created the configuration. */ private ByteString creatorsName; /** * The value containing the DN of the last user to modify the configuration. */ /** The value containing the DN of the last user to modify the configuration. */ private ByteString modifiersName; /** The timestamp that will be used for the schema creation time. */ private ByteString createTimestamp; /** * The timestamp that will be used for the latest schema modification time. */ /** The timestamp that will be used for the latest schema modification time. */ private ByteString modifyTimestamp; /** @@ -253,7 +200,6 @@ // Perform all initialization in initializeBackend. } /** {@inheritDoc} */ @Override public void configureBackend(SchemaBackendCfg cfg, ServerContext serverContext) throws ConfigException { @@ -343,7 +289,6 @@ } } /** {@inheritDoc} */ @Override public void openBackend() throws ConfigException, InitializationException { @@ -467,7 +412,6 @@ currentConfig.addSchemaChangeListener(this); } /** {@inheritDoc} */ @Override public void closeBackend() { @@ -515,14 +459,12 @@ } /** {@inheritDoc} */ @Override public DN[] getBaseDNs() { return baseDNs; } /** {@inheritDoc} */ @Override public long getEntryCount() { @@ -530,7 +472,6 @@ return 1; } /** {@inheritDoc} */ @Override public boolean isIndexed(AttributeType attributeType, IndexType indexType) { @@ -538,7 +479,6 @@ return true; } /** {@inheritDoc} */ @Override public ConditionResult hasSubordinates(DN entryDN) throws DirectoryException @@ -546,7 +486,6 @@ return ConditionResult.FALSE; } /** {@inheritDoc} */ @Override public long getNumberOfEntriesInBaseDN(DN baseDN) throws DirectoryException { @@ -554,7 +493,6 @@ return 1L; } /** {@inheritDoc} */ @Override public long getNumberOfChildren(DN parentDN) throws DirectoryException { @@ -562,23 +500,15 @@ return 0L; } /** {@inheritDoc} */ @Override public Entry getEntry(DN entryDN) throws DirectoryException public Entry getEntry(DN entryDN) throws DirectoryException { // If the requested entry was one of the schema entries, then create and // return it. DN[] dnArray = baseDNs; for (DN baseDN : dnArray) // If the requested entry was one of the schema entries, then create and return it. if (entryExists(entryDN)) { if (entryDN.equals(baseDN)) { return getSchemaEntry(entryDN, false, true); } return getSchemaEntry(entryDN, false, true); } // There is never anything below the schema entries, so we will return null. return null; } @@ -772,10 +702,8 @@ } } /** {@inheritDoc} */ @Override public boolean entryExists(DN entryDN) throws DirectoryException public boolean entryExists(DN entryDN) throws DirectoryException { // The specified DN must be one of the specified schema DNs. DN[] baseArray = baseDNs; @@ -789,7 +717,6 @@ return false; } /** {@inheritDoc} */ @Override public void addEntry(Entry entry, AddOperation addOperation) throws DirectoryException @@ -798,7 +725,6 @@ ERR_BACKEND_ADD_NOT_SUPPORTED.get(entry.getName(), getBackendID())); } /** {@inheritDoc} */ @Override public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) throws DirectoryException @@ -807,7 +733,6 @@ ERR_BACKEND_DELETE_NOT_SUPPORTED.get(entryDN, getBackendID())); } /** {@inheritDoc} */ @Override public void replaceEntry(Entry oldEntry, Entry newEntry, ModifyOperation modifyOperation) throws DirectoryException @@ -3445,8 +3370,7 @@ * * @throws IOException If a problem occurs. */ private void copyFile(File from, File to) throws IOException private void copyFile(File from, File to) throws IOException { byte[] buffer = new byte[4096]; FileInputStream inputStream = null; @@ -3483,7 +3407,6 @@ deleteFiles(tempSchemaFiles.values()); } /** {@inheritDoc} */ @Override public void renameEntry(DN currentDN, Entry entry, ModifyDNOperation modifyDNOperation) @@ -3493,7 +3416,6 @@ ERR_BACKEND_MODIFY_DN_NOT_SUPPORTED.get(currentDN, getBackendID())); } /** {@inheritDoc} */ @Override public void search(SearchOperation searchOperation) throws DirectoryException @@ -3545,21 +3467,18 @@ } } /** {@inheritDoc} */ @Override public Set<String> getSupportedControls() { return Collections.emptySet(); } /** {@inheritDoc} */ @Override public Set<String> getSupportedFeatures() { return Collections.emptySet(); } /** {@inheritDoc} */ @Override public void exportLDIF(LDIFExportConfig exportConfig) throws DirectoryException @@ -3602,7 +3521,6 @@ } } /** {@inheritDoc} */ @Override public boolean supports(BackendOperation backendOperation) { @@ -3621,7 +3539,6 @@ } } /** {@inheritDoc} */ @Override public LDIFImportResult importLDIF(LDIFImportConfig importConfig, ServerContext serverContext) throws DirectoryException @@ -3900,28 +3817,24 @@ } } /** {@inheritDoc} */ @Override public void createBackup(BackupConfig backupConfig) throws DirectoryException { new BackupManager(getBackendID()).createBackup(this, backupConfig); } /** {@inheritDoc} */ @Override public void removeBackup(BackupDirectory backupDirectory, String backupID) throws DirectoryException { new BackupManager(getBackendID()).removeBackup(backupDirectory, backupID); } /** {@inheritDoc} */ @Override public void restoreBackup(RestoreConfig restoreConfig) throws DirectoryException { new BackupManager(getBackendID()).restoreBackup(this, restoreConfig); } /** {@inheritDoc} */ @Override public boolean isConfigurationChangeAcceptable( SchemaBackendCfg configEntry, @@ -3930,10 +3843,8 @@ return true; } /** {@inheritDoc} */ @Override public ConfigChangeResult applyConfigurationChange( SchemaBackendCfg backendCfg) public ConfigChangeResult applyConfigurationChange(SchemaBackendCfg backendCfg) { final ConfigChangeResult ccr = new ConfigChangeResult(); @@ -4098,21 +4009,18 @@ this.showAllAttributes = showAllAttributes; } /** {@inheritDoc} */ @Override public DN getComponentEntryDN() { return configEntryDN; } /** {@inheritDoc} */ @Override public String getClassName() { return CLASS_NAME; } /** {@inheritDoc} */ @Override public Map<String, String> getAlerts() { @@ -4126,7 +4034,6 @@ return alerts; } /** {@inheritDoc} */ @Override public File getDirectory() { @@ -4142,21 +4049,18 @@ } }; /** {@inheritDoc} */ @Override public ListIterator<Path> getFilesToBackup() throws DirectoryException { return BackupManager.getFiles(getDirectory(), BACKUP_FILES_FILTER, getBackendID()).listIterator(); } /** {@inheritDoc} */ @Override public boolean isDirectRestore() { return true; } /** {@inheritDoc} */ @Override public Path beforeRestore() throws DirectoryException { @@ -4164,13 +4068,10 @@ return BackupManager.saveCurrentFilesToDirectory(this, getBackendID()); } /** {@inheritDoc} */ @Override public void afterRestore(Path restoreDirectory, Path saveDirectory) throws DirectoryException { // restore was successful, delete save directory StaticUtils.recursiveDelete(saveDirectory.toFile()); } } opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
@@ -733,46 +733,39 @@ */ private boolean isReplaceEntryAcceptable(ModifyOperation modifyOperation) { boolean acceptable = true; for (Modification m : modifyOperation.getModifications()) { if (m.isInternal()) { continue; } if (m.getModificationType() != ModificationType.REPLACE) { acceptable = false; break; return false; } Attribute a = m.getAttribute(); AttributeType at = a.getAttributeType(); if (!at.hasName(ATTR_TASK_STATE)) { acceptable = false; break; return false; } Iterator<ByteString> iterator = a.iterator(); if (!iterator.hasNext()) { acceptable = false; break; return false; } ByteString v = iterator.next(); if (iterator.hasNext()) { return false; } String valueString = toLowerCase(v.toString()); if (!valueString.startsWith("cancel") && !valueString.startsWith("stop")) { acceptable = false; break; } if (iterator.hasNext()) { acceptable = false; break; return false; } } return acceptable; return true; } @@ -1069,10 +1062,7 @@ LocalizableMessage message = ERR_TASKS_CANNOT_EXPORT_TO_FILE.get(e); throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), message, le); } else { continue; } continue; } ldifWriter.writeEntry(e); }