From aae049d2b08a07020cb12139b56dbd8f25c01500 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 20 Aug 2014 13:26:09 +0000
Subject: [PATCH] Aligned (JE|File)ReplicaDB and their tests for easier comparison with each other.

---
 opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java |   80 +++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 41 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java
index bb9a22f..24c5049 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/JEReplicaDB.java
@@ -51,18 +51,17 @@
 import static org.opends.messages.ReplicationMessages.*;
 
 /**
- * This class is used for managing the replicationServer database for each
- * server in the topology.
+ * Represents a replication server database for one server in the topology.
  * <p>
  * It is responsible for efficiently saving the updates that is received from
  * each master server into stable storage.
  * <p>
- * This class is also able to generate a {@link DBCursor} that can be used to
+ * It is also able to generate a {@link DBCursor} that can be used to
  * read all changes from a given {@link CSN}.
  * <p>
- * This class publish some monitoring information below cn=monitor.
+ * It publishes some monitoring information below cn=monitor.
  */
-public class JEReplicaDB
+class JEReplicaDB
 {
 
   /**
@@ -81,41 +80,44 @@
       this.oldestCSN = oldestCSN;
       this.newestCSN = newestCSN;
     }
-
   }
 
   private final AtomicBoolean shutdown = new AtomicBoolean(false);
-  private ReplicationDB db;
   /**
    * Holds the oldest and newest CSNs for this replicaDB for fast retrieval.
    *
    * @NonNull
    */
   private volatile CSNLimits csnLimits;
-  private int serverId;
-  private DN baseDN;
-  private DbMonitorProvider dbMonitor = new DbMonitorProvider();
-  private ReplicationServer replicationServer;
+  private final int serverId;
+  private final DN baseDN;
+  private final DbMonitorProvider dbMonitor = new DbMonitorProvider();
+  private final ReplicationServer replicationServer;
+  private final ReplicationDB db;
 
   /**
    * Creates a new ReplicaDB associated to a given LDAP server.
    *
-   * @param serverId The serverId for which changes will be stored in the DB.
-   * @param baseDN the baseDN for which this DB was created.
-   * @param replicationServer The ReplicationServer that creates this ReplicaDB.
-   * @param dbenv the Database Env to use to create the ReplicationServer DB.
-   * server for this domain.
-   * @throws ChangelogException If a database problem happened
+   * @param serverId
+   *          Id of this server.
+   * @param baseDN
+   *          the replication domain baseDN.
+   * @param replicationServer
+   *          The ReplicationServer that creates this ReplicaDB.
+   * @param replicationEnv
+   *          the Database Env to use to create the ReplicationServer DB. server
+   *          for this domain.
+   * @throws ChangelogException
+   *           If a database problem happened
    */
-  public JEReplicaDB(int serverId, DN baseDN,
-      ReplicationServer replicationServer, ReplicationDbEnv dbenv)
-      throws ChangelogException
+  JEReplicaDB(final int serverId, final DN baseDN, final ReplicationServer replicationServer,
+      final ReplicationDbEnv replicationEnv) throws ChangelogException
   {
-    this.replicationServer = replicationServer;
     this.serverId = serverId;
     this.baseDN = baseDN;
-    db = new ReplicationDB(serverId, baseDN, replicationServer, dbenv);
-    csnLimits = new CSNLimits(db.readOldestCSN(), db.readNewestCSN());
+    this.replicationServer = replicationServer;
+    this.db = new ReplicationDB(serverId, baseDN, replicationServer, replicationEnv);
+    this.csnLimits = new CSNLimits(db.readOldestCSN(), db.readNewestCSN());
 
     DirectoryServer.deregisterMonitorProvider(dbMonitor);
     DirectoryServer.registerMonitorProvider(dbMonitor);
@@ -144,8 +146,7 @@
     db.addEntry(updateMsg);
 
     final CSNLimits limits = csnLimits;
-    final boolean updateNew = limits.newestCSN == null
-        || limits.newestCSN.isOlderThan(updateMsg.getCSN());
+    final boolean updateNew = limits.newestCSN == null || limits.newestCSN.isOlderThan(updateMsg.getCSN());
     final boolean updateOld = limits.oldestCSN == null;
     if (updateOld || updateNew)
     {
@@ -160,7 +161,7 @@
    *
    * @return the oldest CSN that has not been purged yet.
    */
-  public CSN getOldestCSN()
+  CSN getOldestCSN()
   {
     return csnLimits.oldestCSN;
   }
@@ -170,7 +171,7 @@
    *
    * @return the newest CSN that has not been purged yet.
    */
-  public CSN getNewestCSN()
+  CSN getNewestCSN()
   {
     return csnLimits.newestCSN;
   }
@@ -189,7 +190,7 @@
    * @throws ChangelogException
    *           if a database problem happened
    */
-  public DBCursor<UpdateMsg> generateCursorFrom(CSN startCSN, PositionStrategy positionStrategy)
+  DBCursor<UpdateMsg> generateCursorFrom(final CSN startCSN, final PositionStrategy positionStrategy)
       throws ChangelogException
   {
     return new JEReplicaDBCursor(db, startCSN, positionStrategy, this);
@@ -198,7 +199,7 @@
   /**
    * Shutdown this ReplicaDB.
    */
-  public void shutdown()
+  void shutdown()
   {
     if (shutdown.compareAndSet(false, true))
     {
@@ -212,7 +213,7 @@
    *
    * @param purgeCSN
    *          The CSN up to which changes can be purged. No purging happens when
-   *          it is null.
+   *          it is {@code null}.
    * @throws ChangelogException
    *           In case of database problem.
    */
@@ -280,8 +281,7 @@
   }
 
   /**
-   * This internal class is used to implement the Monitoring capabilities of the
-   * ReplicaDB.
+   * Implements monitoring capabilities of the ReplicaDB.
    */
   private class DbMonitorProvider extends MonitorProvider<MonitorProviderCfg>
   {
@@ -289,7 +289,7 @@
     @Override
     public List<Attribute> getMonitorData()
     {
-      List<Attribute> attributes = new ArrayList<Attribute>();
+      final List<Attribute> attributes = new ArrayList<Attribute>();
       create(attributes, "replicationServer-database",String.valueOf(serverId));
       create(attributes, "domain-name", baseDN.toNormalizedString());
       final CSNLimits limits = csnLimits;
@@ -304,12 +304,12 @@
       return attributes;
     }
 
-    private void create(List<Attribute> attributes, String name, String value)
+    private void create(final List<Attribute> attributes, final String name, final String value)
     {
       attributes.add(Attributes.create(name, value));
     }
 
-    private String encode(CSN csn)
+    private String encode(final CSN csn)
     {
       return csn + " " + new Date(csn.getTime());
     }
@@ -318,16 +318,14 @@
     @Override
     public String getMonitorInstanceName()
     {
-      ReplicationServerDomain domain = replicationServer
-          .getReplicationServerDomain(baseDN);
-      return "Changelog for DS(" + serverId + "),cn="
-          + domain.getMonitorInstanceName();
+      ReplicationServerDomain domain = replicationServer.getReplicationServerDomain(baseDN);
+      return "Changelog for DS(" + serverId + "),cn=" + domain.getMonitorInstanceName();
     }
 
     /** {@inheritDoc} */
     @Override
     public void initializeMonitorProvider(MonitorProviderCfg configuration)
-                            throws ConfigException,InitializationException
+        throws ConfigException,InitializationException
     {
       // Nothing to do for now
     }
@@ -347,7 +345,7 @@
    * @throws ChangelogException When an exception occurs while removing the
    * changes from the DB.
    */
-  public void clear() throws ChangelogException
+  void clear() throws ChangelogException
   {
     db.clear();
     csnLimits = new CSNLimits(null, null);

--
Gitblit v1.10.0