From 1345ac0dfae9a555abb7b74ed48452d9bc92b8c3 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 22 Jul 2014 13:44:30 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1206 : Create a new ReplicationBackend/ChangelogBackend to support cn=changelog
---
opends/src/server/org/opends/server/backends/NullBackend.java | 236 +++++++++++++++++++---------------------------------------
1 files changed, 78 insertions(+), 158 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/NullBackend.java b/opends/src/server/org/opends/server/backends/NullBackend.java
index 7233a58..032e758 100644
--- a/opends/src/server/org/opends/server/backends/NullBackend.java
+++ b/opends/src/server/org/opends/server/backends/NullBackend.java
@@ -22,19 +22,20 @@
*
*
* Copyright 2008 Sun Microsystems, Inc.
+ * Portions Copyright 2014 ForgeRock AS
*/
package org.opends.server.backends;
-
-
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
-
import java.util.Map;
+import java.util.Set;
+
import org.opends.messages.Category;
import org.opends.messages.Message;
import org.opends.messages.Severity;
-import org.opends.server.admin.Configuration;
import org.opends.server.admin.std.server.BackendCfg;
import org.opends.server.api.Backend;
import org.opends.server.config.ConfigException;
@@ -65,15 +66,12 @@
import org.opends.server.util.LDIFException;
import org.opends.server.util.LDIFReader;
import org.opends.server.util.LDIFWriter;
-import org.opends.server.util.Validator;
import static org.opends.messages.BackendMessages.*;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-
-
/**
* This class implements /dev/null like backend for development and
* testing. The following behaviors of this backend implementation
@@ -102,7 +100,7 @@
* not represent a complete and stable API, should be considered private
* and subject to change without notice.
*/
-public class NullBackend extends Backend
+public class NullBackend extends Backend<BackendCfg>
{
/**
* The tracer object for the debug logger.
@@ -111,19 +109,21 @@
- // The base DNs for this backend.
+ /** The base DNs for this backend. */
private DN[] baseDNs;
- // The base DNs for this backend, in a hash set.
+ /** The base DNs for this backend, in a hash set. */
private HashSet<DN> baseDNSet;
- // The set of supported controls for this backend.
- private HashSet<String> supportedControls;
+ /** The set of supported controls for this backend. */
+ private final Set<String> supportedControls = new HashSet<String>(Arrays.asList(
+ OID_SUBTREE_DELETE_CONTROL,
+ OID_PAGED_RESULTS_CONTROL,
+ OID_MANAGE_DSAIT_CONTROL,
+ OID_SERVER_SIDE_SORT_REQUEST_CONTROL,
+ OID_VLV_REQUEST_CONTROL));
- // The set of supported features for this backend.
- private HashSet<String> supportedFeatures;
-
- // The map of null entry object classes.
+ /** The map of null entry object classes. */
private Map<ObjectClass,String> objectClasses;
@@ -151,27 +151,21 @@
this.baseDNs = baseDNs;
}
- /**
- * {@inheritDoc}
- */
- @Override()
- public void configureBackend(Configuration config)
- throws ConfigException
+ /** {@inheritDoc} */
+ @Override
+ public void configureBackend(BackendCfg config) throws ConfigException
{
if (config != null)
{
- Validator.ensureTrue(config instanceof BackendCfg);
- BackendCfg cfg = (BackendCfg)config;
+ BackendCfg cfg = config;
DN[] cfgBaseDNs = new DN[cfg.getBaseDN().size()];
cfg.getBaseDN().toArray(cfgBaseDNs);
setBaseDNs(cfgBaseDNs);
}
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public synchronized void initializeBackend()
throws ConfigException, InitializationException
{
@@ -181,17 +175,6 @@
baseDNSet.add(dn);
}
- // Add supported controls.
- supportedControls = new HashSet<String>();
- supportedControls.add(OID_SUBTREE_DELETE_CONTROL);
- supportedControls.add(OID_PAGED_RESULTS_CONTROL);
- supportedControls.add(OID_MANAGE_DSAIT_CONTROL);
- supportedControls.add(OID_SERVER_SIDE_SORT_REQUEST_CONTROL);
- supportedControls.add(OID_VLV_REQUEST_CONTROL);
-
- // Add supported features.
- supportedFeatures = new HashSet<String>();
-
// Register base DNs.
for (DN dn : baseDNs)
{
@@ -249,10 +232,8 @@
objectClasses.put(extOC, extOCName);
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public synchronized void finalizeBackend()
{
for (DN dn : baseDNs)
@@ -271,47 +252,37 @@
}
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public DN[] getBaseDNs()
{
return baseDNs;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public long getEntryCount()
{
return -1;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean isLocal()
{
// For the purposes of this method, this is a local backend.
return true;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean isIndexed(AttributeType attributeType, IndexType indexType)
{
// All searches in this backend will always be considered indexed.
return true;
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public ConditionResult hasSubordinates(DN entryDN)
throws DirectoryException
@@ -319,68 +290,54 @@
return ConditionResult.UNDEFINED;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public long numSubordinates(DN entryDN, boolean subtree)
throws DirectoryException
{
return -1;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public Entry getEntry(DN entryDN)
{
return new Entry(null, objectClasses, null, null);
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean entryExists(DN entryDN)
{
return false;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void addEntry(Entry entry, AddOperation addOperation)
throws DirectoryException
{
return;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void deleteEntry(DN entryDN, DeleteOperation deleteOperation)
throws DirectoryException
{
return;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void replaceEntry(Entry oldEntry, Entry newEntry,
ModifyOperation modifyOperation) throws DirectoryException
{
return;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void renameEntry(DN currentDN, Entry entry,
ModifyDNOperation modifyDNOperation)
throws DirectoryException
@@ -388,10 +345,8 @@
return;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void search(SearchOperation searchOperation)
throws DirectoryException
{
@@ -409,37 +364,29 @@
return;
}
- /**
- * {@inheritDoc}
- */
- @Override()
- public HashSet<String> getSupportedControls()
+ /** {@inheritDoc} */
+ @Override
+ public Set<String> getSupportedControls()
{
return supportedControls;
}
- /**
- * {@inheritDoc}
- */
- @Override()
- public HashSet<String> getSupportedFeatures()
+ /** {@inheritDoc} */
+ @Override
+ public Set<String> getSupportedFeatures()
{
- return supportedFeatures;
+ return Collections.emptySet();
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean supportsLDIFExport()
{
return true;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void exportLDIF(LDIFExportConfig exportConfig)
throws DirectoryException
{
@@ -458,28 +405,18 @@
message);
}
- try {
- ldifWriter.close();
- } catch (Exception e) {
- if (debugEnabled()) {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- }
+ close(ldifWriter);
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean supportsLDIFImport()
{
return true;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public LDIFImportResult importLDIF(LDIFImportConfig importConfig)
throws DirectoryException
{
@@ -555,31 +492,23 @@
}
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean supportsBackup()
{
- // This backend does not provide a backup/restore mechanism.
return false;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean supportsBackup(BackupConfig backupConfig,
StringBuilder unsupportedReason)
{
- // This backend does not provide a backup/restore mechanism.
return false;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void createBackup(BackupConfig backupConfig)
throws DirectoryException
{
@@ -589,10 +518,8 @@
throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void removeBackup(BackupDirectory backupDirectory,
String backupID)
throws DirectoryException
@@ -603,20 +530,15 @@
throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public boolean supportsRestore()
{
- // This backend does not provide a backup/restore mechanism.
return false;
}
- /**
- * {@inheritDoc}
- */
- @Override()
+ /** {@inheritDoc} */
+ @Override
public void restoreBackup(RestoreConfig restoreConfig)
throws DirectoryException
{
@@ -626,9 +548,7 @@
throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public void preloadEntryCache() throws UnsupportedOperationException {
throw new UnsupportedOperationException("Operation not supported.");
--
Gitblit v1.10.0