From 82e4786ad97bb818f5cb4ca2a0f77ad4ea22be7e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 18 Sep 2013 15:30:01 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB

---
 opends/src/server/org/opends/server/replication/server/ReplicationServer.java |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index b41939a..51fcde8 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -181,9 +181,6 @@
   private final Object connectThreadLock = new Object();
   private long domainTicket = 0L;
 
-  /** BaseDNs excluded for ECL. */
-  private Set<String> excludedBaseDNs = new HashSet<String>();
-
   /**
    * The weight affected to the replication server.
    * Each replication server of the topology has a weight. When combined
@@ -1459,21 +1456,14 @@
   }
 
   /**
-   * Excluded a list of domain from eligibility computation.
-   * @param excludedBaseDNs the provided list of baseDNs excluded from
-   *                          the computation of eligibleCSN.
-   */
-  public void disableEligibility(Set<String> excludedBaseDNs)
-  {
-    this.excludedBaseDNs = excludedBaseDNs;
-  }
-
-  /**
    * Returns the eligible CSN cross domains - relies on the eligible CSN from
    * each domain.
+   *
+   * @param excludedBaseDNs
+   *          the list of baseDNs excluded from the computation of eligibleCSN
    * @return the cross domain eligible CSN.
    */
-  public CSN getEligibleCSN()
+  public CSN getEligibleCSN(Set<String> excludedBaseDNs)
   {
     String debugLog = "";
 
@@ -1710,8 +1700,6 @@
    */
   public MultiDomainServerState getLastECLCookie(Set<String> excludedBaseDNs)
   {
-    disableEligibility(excludedBaseDNs);
-
     // Initialize start state for all running domains with empty state
     MultiDomainServerState result = new MultiDomainServerState();
     for (ReplicationServerDomain rsd : getReplicationServerDomains())
@@ -1720,7 +1708,8 @@
           || rsd.getDbServerState().isEmpty())
         continue;
 
-      result.update(rsd.getBaseDN(), rsd.getEligibleState(getEligibleCSN()));
+      final CSN eligibleCSN = getEligibleCSN(excludedBaseDNs);
+      result.update(rsd.getBaseDN(), rsd.getEligibleState(eligibleCSN));
     }
     return result;
   }

--
Gitblit v1.10.0