From 6879d04bd633e99ef7013bffafce2ef04adc3006 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 19 Sep 2014 14:55:35 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1206 : Create a new ReplicationBackend/ChangelogBackend to support cn=changelog
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java | 105 +++++++++++++++++++++-------------------------------
1 files changed, 43 insertions(+), 62 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 4f4e137..462beb6 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -40,9 +40,10 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.ldap.ConditionResult;
+import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.util.Reject;
-import org.opends.server.admin.Configuration;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.meta.LocalDBIndexCfgDefn;
import org.opends.server.admin.std.server.LocalDBBackendCfg;
@@ -51,11 +52,9 @@
import org.opends.server.api.DiskSpaceMonitorHandler;
import org.opends.server.api.MonitorProvider;
import org.opends.server.backends.jeb.importLDIF.Importer;
-import org.forgerock.opendj.config.server.ConfigException;
import org.opends.server.core.*;
import org.opends.server.extensions.DiskSpaceMonitor;
import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.util.RuntimeInformation;
import com.sleepycat.je.DatabaseException;
@@ -74,8 +73,7 @@
* This is an implementation of a Directory Server Backend which stores entries
* locally in a Berkeley DB JE database.
*/
-public class BackendImpl
- extends Backend
+public class BackendImpl extends Backend<LocalDBBackendCfg>
implements ConfigurationChangeListener<LocalDBBackendCfg>, AlertGenerator,
DiskSpaceMonitorHandler
{
@@ -120,23 +118,12 @@
/**
* The controls supported by this backend.
*/
- private static HashSet<String> supportedControls;
-
- static
- {
- // Set our 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);
- }
-
- /**
- * The features supported by this backend.
- */
- private static HashSet<String> supportedFeatures = new HashSet<String>();
+ private static 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));
/**
* Begin a Backend API method that reads the database.
@@ -247,21 +234,16 @@
/** {@inheritDoc} */
@Override
- public void configureBackend(Configuration cfg)
- throws ConfigException
+ public void configureBackend(LocalDBBackendCfg cfg) throws ConfigException
{
Reject.ifNull(cfg);
- Reject.ifFalse(cfg instanceof LocalDBBackendCfg);
- this.cfg = (LocalDBBackendCfg)cfg;
-
- Set<DN> dnSet = this.cfg.getBaseDN();
- baseDNs = new DN[dnSet.size()];
- dnSet.toArray(baseDNs);
+ this.cfg = cfg;
+ baseDNs = this.cfg.getBaseDN().toArray(new DN[0]);
}
/** {@inheritDoc} */
- @Override()
+ @Override
public void initializeBackend()
throws ConfigException, InitializationException
{
@@ -327,7 +309,7 @@
}
/** {@inheritDoc} */
- @Override()
+ @Override
public void finalizeBackend()
{
// Deregister as a change listener.
@@ -382,7 +364,7 @@
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean isLocal()
{
return true;
@@ -391,7 +373,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean isIndexed(AttributeType attributeType, IndexType indexType)
{
try
@@ -439,28 +421,28 @@
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean supportsLDIFExport()
{
return true;
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean supportsLDIFImport()
{
return true;
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean supportsBackup()
{
return true;
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean supportsBackup(BackupConfig backupConfig,
StringBuilder unsupportedReason)
{
@@ -468,35 +450,35 @@
}
/** {@inheritDoc} */
- @Override()
+ @Override
public boolean supportsRestore()
{
return true;
}
/** {@inheritDoc} */
- @Override()
- public HashSet<String> getSupportedFeatures()
+ @Override
+ public Set<String> getSupportedFeatures()
{
- return supportedFeatures;
+ return Collections.emptySet();
}
/** {@inheritDoc} */
- @Override()
- public HashSet<String> getSupportedControls()
+ @Override
+ public Set<String> getSupportedControls()
{
return supportedControls;
}
/** {@inheritDoc} */
- @Override()
+ @Override
public DN[] getBaseDNs()
{
return baseDNs;
}
/** {@inheritDoc} */
- @Override()
+ @Override
public long getEntryCount()
{
if (rootContainer != null)
@@ -517,7 +499,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public ConditionResult hasSubordinates(DN entryDN)
throws DirectoryException
{
@@ -532,7 +514,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public long numSubordinates(DN entryDN, boolean subtree)
throws DirectoryException
{
@@ -580,7 +562,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public Entry getEntry(DN entryDN) throws DirectoryException
{
readerBegin();
@@ -620,7 +602,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void addEntry(Entry entry, AddOperation addOperation)
throws DirectoryException, CanceledOperationException
{
@@ -660,7 +642,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void deleteEntry(DN entryDN, DeleteOperation deleteOperation)
throws DirectoryException, CanceledOperationException
{
@@ -699,7 +681,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void replaceEntry(Entry oldEntry, Entry newEntry,
ModifyOperation modifyOperation) throws DirectoryException,
CanceledOperationException
@@ -741,7 +723,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void renameEntry(DN currentDN, Entry entry,
ModifyDNOperation modifyDNOperation)
throws DirectoryException, CanceledOperationException
@@ -791,7 +773,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void search(SearchOperation searchOperation)
throws DirectoryException, CanceledOperationException
{
@@ -829,7 +811,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void exportLDIF(LDIFExportConfig exportConfig)
throws DirectoryException
{
@@ -881,7 +863,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public LDIFImportResult importLDIF(LDIFImportConfig importConfig)
throws DirectoryException
{
@@ -1161,7 +1143,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void createBackup(BackupConfig backupConfig)
throws DirectoryException
{
@@ -1175,7 +1157,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void removeBackup(BackupDirectory backupDirectory, String backupID)
throws DirectoryException
{
@@ -1187,7 +1169,7 @@
/** {@inheritDoc} */
- @Override()
+ @Override
public void restoreBackup(RestoreConfig restoreConfig)
throws DirectoryException
{
@@ -1201,11 +1183,10 @@
/** {@inheritDoc} */
- @Override()
- public boolean isConfigurationAcceptable(Configuration configuration,
+ @Override
+ public boolean isConfigurationAcceptable(LocalDBBackendCfg config,
List<LocalizableMessage> unacceptableReasons)
{
- LocalDBBackendCfg config = (LocalDBBackendCfg) configuration;
return isConfigurationChangeAcceptable(config, unacceptableReasons);
}
--
Gitblit v1.10.0