From 777ee9c8d7a8c4771df4d78da198a00dc8816f50 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Thu, 21 Aug 2014 13:07:07 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1206 : Create a new ReplicationBackend/ChangelogBackend   to support cn=changelog CR-4083

---
 opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
index e275020..8970417 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
@@ -25,6 +25,8 @@
  */
 package org.opends.server.replication.server.changelog.api;
 
+import java.util.Set;
+
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.common.MultiDomainServerState;
 import org.opends.server.replication.common.ServerState;
@@ -115,6 +117,32 @@
   public MultiDomainDBCursor getCursorFrom(MultiDomainServerState startState, PositionStrategy positionStrategy)
       throws ChangelogException;
 
+  /**
+   * Generates a {@link DBCursor} across all the domains starting at or after
+   * the provided {@link MultiDomainServerState} for each domain, excluding a
+   * provided set of domain DNs.
+   * <p>
+   * When the cursor is not used anymore, client code MUST call the
+   * {@link DBCursor#close()} method to free the resources and locks used by the
+   * cursor.
+   *
+   * @param startState
+   *          Starting point for each domain cursor. If any {@link ServerState}
+   *          for a domain is null, then start from the oldest CSN for each
+   *          replicaDBs
+   * @param positionStrategy
+   *          Cursor position strategy, which allow to indicates at which exact
+   *          position the cursor must start
+   * @param excludedDomainDns
+   *          Every domain appearing in this set is excluded from the cursor
+   * @return a non null {@link DBCursor}
+   * @throws ChangelogException
+   *           If a database problem happened
+   * @see #getCursorFrom(DN, ServerState, PositionStrategy)
+   */
+  public MultiDomainDBCursor getCursorFrom(MultiDomainServerState startState, PositionStrategy positionStrategy,
+      Set<DN> excludedDomainDns) throws ChangelogException;
+
   // serverId methods
 
   /**

--
Gitblit v1.10.0