From c64a67b3d0b51743d9f2a2bf110cb365b8b104af Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 26 Aug 2013 08:41:18 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java | 40 ++++++++++++++--------------------------
1 files changed, 14 insertions(+), 26 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java b/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
index 279ae22..ad8bd0a 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
@@ -31,6 +31,7 @@
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.replication.common.ChangeNumber;
import org.opends.server.replication.server.changelog.api.ChangelogException;
+import org.opends.server.replication.server.changelog.api.ChangelogDBIterator;
import org.opends.server.replication.server.changelog.je.DraftCNDB
.DraftCNDBCursor;
import org.opends.server.types.DebugLogLevel;
@@ -41,7 +42,7 @@
* This class allows to iterate through the changes received from a given
* LDAP Server Identifier.
*/
-public class DraftCNDbIterator
+public class DraftCNDbIterator implements ChangelogDBIterator
{
private static final DebugTracer TRACER = getTracer();
private DraftCNDBCursor draftCNDbCursor;
@@ -66,11 +67,8 @@
}
}
- /**
- * Getter for the baseDN field.
- *
- * @return The service ID.
- */
+ /** {@inheritDoc} */
+ @Override
public String getBaseDN()
{
try
@@ -84,10 +82,8 @@
}
}
- /**
- * Getter for the replication change number field.
- * @return The replication change number field.
- */
+ /** {@inheritDoc} */
+ @Override
public ChangeNumber getChangeNumber()
{
try
@@ -101,10 +97,8 @@
}
}
- /**
- * Getter for the draftCN field.
- * @return The draft CN field.
- */
+ /** {@inheritDoc} */
+ @Override
public int getDraftCN()
{
ReplicationDraftCNKey sk = (ReplicationDraftCNKey) draftCNDbCursor.getKey();
@@ -112,11 +106,8 @@
return currentSeqnum;
}
- /**
- * Skip to the next record of the database.
- * @return true if has next, false elsewhere
- * @throws ChangelogException When database exception raised.
- */
+ /** {@inheritDoc} */
+ @Override
public boolean next() throws ChangelogException
{
if (draftCNDbCursor != null)
@@ -126,12 +117,9 @@
return false;
}
- /**
- * Release the resources and locks used by this Iterator.
- * This method must be called when the iterator is no longer used.
- * Failure to do it could cause DB deadlock.
- */
- public void releaseCursor()
+ /** {@inheritDoc} */
+ @Override
+ public void close()
{
synchronized (this)
{
@@ -151,6 +139,6 @@
@Override
protected void finalize()
{
- releaseCursor();
+ close();
}
}
--
Gitblit v1.10.0