From 627a66edb6791bdab5d6e0ef0caf0f56b5b7a35e Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 11 Jan 2016 08:48:07 +0000
Subject: [PATCH] OPENDJ-2536 Add and use JCIP annotations jar

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/Importer.java                                 |   11 +-
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDBCursor.java           |    7 +
 opendj-server-legacy/src/main/java/org/opends/server/replication/common/DSInfo.java                                       |   15 ++-
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java               |    5 
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/Log.java                           |   35 ++++----
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDB.java                 |   16 +--
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/MultiDomainDBCursor.java           |   11 +-
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/ReplicationEnvironment.java        |   14 +--
 opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java                           |    9 +
 pom.xml                                                                                                                   |    6 
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServerDomain.java                      |    6 +
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/ChangelogState.java                               |    7 +
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/CompositeDBCursor.java             |    6 +
 opendj-server-legacy/pom.xml                                                                                              |    8 +
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/DomainDBCursor.java                |   11 +-
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangeNumberIndexDBCursor.java |   12 +-
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/api/DBCursor.java                       |    6 +
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/MsgQueue.java                                     |   10 +-
 opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java                           |   23 ++++-
 19 files changed, 122 insertions(+), 96 deletions(-)

diff --git a/opendj-server-legacy/pom.xml b/opendj-server-legacy/pom.xml
index 7dd4a51..be3d86f 100644
--- a/opendj-server-legacy/pom.xml
+++ b/opendj-server-legacy/pom.xml
@@ -21,7 +21,7 @@
   !
   ! CDDL HEADER END
   !
-  !      Copyright 2011-2015 ForgeRock AS.
+  !      Copyright 2011-2016 ForgeRock AS.
   !
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -227,6 +227,12 @@
       <artifactId>forgerock-persistit-core</artifactId>
       <version>4.3.1</version>
     </dependency>
+
+    <dependency>
+      <groupId>com.github.stephenc.jcip</groupId>
+      <artifactId>jcip-annotations</artifactId>
+      <version>1.0-1</version>
+  </dependency>
   </dependencies>
 
   <build>
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/Importer.java
index bb45035..70aa1e0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/Importer.java
@@ -21,12 +21,14 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014-2015 ForgeRock AS
+ *      Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.server.backends.pluggable.spi;
 
 import java.io.Closeable;
 
+import net.jcip.annotations.ThreadSafe;
+
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 
@@ -34,10 +36,8 @@
  * Allows to run an import. For performance reasons, imports are run without transactions.
  * <p>
  * Since import is multi threaded, implementations must be thread-safe.
- * <p>
- *
- * @ThreadSafe
  */
+@ThreadSafe
 public interface Importer extends Closeable
 {
   /**
@@ -86,4 +86,5 @@
 
   @Override
   void close();
-}
\ No newline at end of file
+}
+
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/common/DSInfo.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/common/DSInfo.java
index d252172..e8b705e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/common/DSInfo.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/common/DSInfo.java
@@ -22,20 +22,27 @@
  *
  *
  *      Copyright 2008-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011-2015 ForgeRock AS
+ *      Portions copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.replication.common;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+import net.jcip.annotations.Immutable;
 
 /**
  * This class holds information about a DS connected to the topology. This
  * information is to be exchanged through the replication protocol in topology
  * messages, to keep every member (RS or DS) of the topology aware of the DS
  * topology.
- * <p>
- * @Immutable
  */
+@Immutable
 public final class DSInfo
 {
   /** DS server id. */
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ChangelogState.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ChangelogState.java
index e7ec990..af1e575 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ChangelogState.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ChangelogState.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2013-2015 ForgeRock AS
+ *      Copyright 2013-2016 ForgeRock AS
  */
 package org.opends.server.replication.server;
 
@@ -30,6 +30,8 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentSkipListMap;
 
+import net.jcip.annotations.ThreadSafe;
+
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.common.MultiDomainServerState;
 import org.opends.server.types.DN;
@@ -44,9 +46,8 @@
  * <p>
  * This class is used during replication initialization to decouple the code
  * that reads the changelogStateDB from the code that makes use of its data.
- *
- * @ThreadSafe
  */
+@ThreadSafe
 public class ChangelogState
 {
   private final ConcurrentSkipListMap<DN, Long> domainToGenerationId = new ConcurrentSkipListMap<>();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MsgQueue.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MsgQueue.java
index fb8b3f8..f5c423c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MsgQueue.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MsgQueue.java
@@ -22,23 +22,25 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2012-2015 ForgeRock AS.
+ *      Portions Copyright 2012-2016 ForgeRock AS.
  */
 package org.opends.server.replication.server;
 
+import static org.opends.messages.ReplicationMessages.*;
+
 import java.util.TreeMap;
 
+import net.jcip.annotations.ThreadSafe;
+
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.protocol.UpdateMsg;
 
-import static org.opends.messages.ReplicationMessages.*;
-
 /**
  * This class is used to build ordered lists of UpdateMsg.
  * The order is defined by the order of the CSN of the UpdateMsg.
- * @ThreadSafe
  */
+@ThreadSafe
 public class MsgQueue
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServerDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServerDomain.java
index b94472f..14cbf90 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2015 ForgeRock AS
+ *      Portions Copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.replication.server;
 
@@ -41,6 +41,8 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantLock;
 
+import net.jcip.annotations.GuardedBy;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.LocalizableMessageBuilder;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -272,7 +274,7 @@
 
   private final Object pendingStatusMessagesLock = new Object();
 
-  /** @GuardedBy("pendingStatusMessagesLock") */
+  @GuardedBy("pendingStatusMessagesLock")
   private PendingStatusMessages pendingStatusMessages = new PendingStatusMessages();
 
   /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/api/DBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/api/DBCursor.java
index 5f403d5..af6afa1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/api/DBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/api/DBCursor.java
@@ -21,13 +21,15 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2013-2015 ForgeRock AS
+ *      Copyright 2013-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.api;
 
 import java.io.Closeable;
 import java.util.Objects;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.common.CSN;
 
 /**
@@ -88,8 +90,8 @@
  *
  * @param <T>
  *          type of the record being returned
- * \@NotThreadSafe
  */
+@NotThreadSafe
 public interface DBCursor<T> extends Closeable
 {
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/CompositeDBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/CompositeDBCursor.java
index a5b6321..73932cf 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/CompositeDBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/CompositeDBCursor.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2013-2015 ForgeRock AS
+ *      Copyright 2013-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -32,6 +32,8 @@
 import java.util.Map.Entry;
 import java.util.TreeMap;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
@@ -45,8 +47,8 @@
  *
  * @param <T>
  *          The type of data associated with each cursor
- * \@NotThreadSafe
  */
+@NotThreadSafe
 abstract class CompositeDBCursor<T> implements DBCursor<UpdateMsg>
 {
   private static final byte UNINITIALIZED = 0;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/DomainDBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/DomainDBCursor.java
index 55eca5c..5cff6bd 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/DomainDBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/DomainDBCursor.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014-2015 ForgeRock AS
+ *      Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -28,6 +28,8 @@
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentSkipListMap;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
@@ -35,11 +37,8 @@
 import org.opends.server.replication.server.changelog.api.ReplicationDomainDB;
 import org.opends.server.types.DN;
 
-/**
- * Cursor iterating over a replication domain's replica DBs.
- *
- * \@NotThreadSafe
- */
+/** Cursor iterating over a replication domain's replica DBs. */
+@NotThreadSafe
 public class DomainDBCursor extends CompositeDBCursor<Void>
 {
   /** Replaces null CSNs in ConcurrentSkipListMap that does not support null values. */
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangeNumberIndexDBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangeNumberIndexDBCursor.java
index d492576..a079704 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangeNumberIndexDBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangeNumberIndexDBCursor.java
@@ -21,22 +21,20 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014 ForgeRock AS.
+ *      Copyright 2014-2016 ForgeRock AS.
  */
 package org.opends.server.replication.server.changelog.file;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.server.changelog.api.ChangeNumberIndexRecord;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
 import org.opends.server.replication.server.changelog.api.DBCursor;
 
-/**
- * A cursor on ChangeNumberIndexDB.
- *
- * \@NotThreadSafe
- */
+/** A cursor on ChangeNumberIndexDB. */
+@NotThreadSafe
 class FileChangeNumberIndexDBCursor implements DBCursor<ChangeNumberIndexRecord>
 {
-
   /** The underlying cursor. */
   private final DBCursor<Record<Long, ChangeNumberIndexRecord>> cursor;
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
index 3c4f843..1e0c41d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
@@ -42,6 +42,8 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
+import net.jcip.annotations.GuardedBy;
+
 import org.forgerock.i18n.LocalizableMessageBuilder;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.config.DurationUnit;
@@ -101,9 +103,8 @@
   /**
    * The handler of the changelog database, the database stores the relation
    * between a change number and the associated cookie.
-   * <p>
-   * @GuardedBy("cnIndexDBLock")
    */
+  @GuardedBy("cnIndexDBLock")
   private FileChangeNumberIndexDB cnIndexDB;
   private final AtomicReference<ChangeNumberIndexer> cnIndexer = new AtomicReference<>();
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDB.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDB.java
index f646713..708ee6b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDB.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDB.java
@@ -21,15 +21,19 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014-2015 ForgeRock AS
+ *      Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.file;
 
+import static org.opends.messages.ReplicationMessages.*;
+
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import net.jcip.annotations.Immutable;
+
 import org.forgerock.opendj.config.server.ConfigException;
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.admin.std.server.MonitorProviderCfg;
@@ -50,8 +54,6 @@
 import org.opends.server.types.DN;
 import org.opends.server.types.InitializationException;
 
-import static org.opends.messages.ReplicationMessages.*;
-
 /**
  * Represents a replication server database for one server in the topology.
  * <p>
@@ -69,12 +71,8 @@
   /** The parser of records stored in Replica DB. */
   static final RecordParser<CSN, UpdateMsg> RECORD_PARSER = new ReplicaDBParser();
 
-  /**
-   * Class that allows atomically setting oldest and newest CSNs without
-   * synchronization.
-   *
-   * @Immutable
-   */
+  /** Class that allows atomically setting oldest and newest CSNs without synchronization. */
+  @Immutable
   private static final class CSNLimits
   {
     private final CSN oldestCSN;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDBCursor.java
index d48b18e..f609f80 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/FileReplicaDBCursor.java
@@ -21,13 +21,15 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014 ForgeRock AS.
+ *      Copyright 2014-2016 ForgeRock AS.
  */
 package org.opends.server.replication.server.changelog.file;
 
 import static org.opends.server.replication.server.changelog.api.DBCursor.KeyMatchingStrategy.*;
 import static org.opends.server.replication.server.changelog.api.DBCursor.PositionStrategy.*;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
@@ -56,9 +58,8 @@
  * record is newly available, a subsequent call to the {@code next()} method will
  * return {@code true} and the record will be available by calling {@code getRecord()}
  * method.
- *
- * \@NotThreadSafe
  */
+@NotThreadSafe
 class FileReplicaDBCursor implements DBCursor<UpdateMsg>
 {
   /** The underlying cursor. */
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/Log.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/Log.java
index 061b658..3bcd0e5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/Log.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/Log.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014-2015 ForgeRock AS.
+ *      Copyright 2014-2016 ForgeRock AS.
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -46,6 +46,8 @@
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+import net.jcip.annotations.GuardedBy;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.util.Pair;
@@ -777,11 +779,8 @@
     }
   }
 
-  /**
-   * Abort all cursors opened on the provided log file.
-   * <p>
-   * @GuardedBy("exclusiveLock")
-   */
+  /** Abort all cursors opened on the provided log file. */
+  @GuardedBy("exclusiveLock")
   private void abortCursorsOpenOnLogFile(LogFile<K, V> logFile)
   {
     for (AbortableLogCursor<K, V> cursor : openCursors)
@@ -985,8 +984,8 @@
    * <p>
    * All cursors opened on this log are temporarily disabled (closing underlying resources)
    * and then re-open with their previous state.
-   * @GuardedBy("exclusiveLock")
    */
+  @GuardedBy("exclusiveLock")
   private void rotateHeadLogFile() throws ChangelogException
   {
     // Temporarily disable cursors opened on head, saving their state
@@ -1064,10 +1063,8 @@
        + recordParser.encodeKeyToString(highestKey) + LOG_FILE_SUFFIX;
   }
 
-  /**
-   * Update the cursors that were pointing to head after a rotation of the head log file.
-   * @GuardedBy("exclusiveLock")
-   */
+  /** Update the cursors that were pointing to head after a rotation of the head log file. */
+  @GuardedBy("exclusiveLock")
   private void updateOpenedCursorsOnHeadAfterRotation(List<Pair<AbortableLogCursor<K, V>, CursorState<K, V>>> cursors)
       throws ChangelogException
   {
@@ -1086,7 +1083,7 @@
     }
   }
 
-  /** @GuardedBy("exclusiveLock") */
+  @GuardedBy("exclusiveLock")
   private void abortAllOpenCursors() throws ChangelogException
   {
     for (AbortableLogCursor<K, V> cursor : openCursors)
@@ -1098,12 +1095,12 @@
   /**
    * Disable the cursors opened on the head log file log, by closing their underlying cursor.
    * Returns the state of each cursor just before the close operation.
-   * @GuardedBy("exclusiveLock")
    *
    * @return the pairs (cursor, cursor state) for each cursor pointing to head log file.
    * @throws ChangelogException
    *           If an error occurs.
    */
+  @GuardedBy("exclusiveLock")
   private List<Pair<AbortableLogCursor<K, V>, CursorState<K, V>>> disableOpenedCursorsOnHead()
       throws ChangelogException
   {
@@ -1173,7 +1170,7 @@
     return Log.HEAD_LOG_FILE_NAME.equals(logFile.getFile().getName());
   }
 
-  /** @GuardedBy("sharedLock") */
+  @GuardedBy("sharedLock")
   private LogFile<K, V> findLogFileFor(final K key, KeyMatchingStrategy keyMatchingStrategy) throws ChangelogException
   {
     if (key == null || logFiles.lowerKey(key) == null)
@@ -1577,35 +1574,35 @@
     /**
      * Aborts this cursor. Once aborted, a cursor throws an
      * AbortedChangelogCursorException if it is used.
-     * @GuardedBy("exclusiveLock")
      */
+    @GuardedBy("exclusiveLock")
     void abort()
     {
       mustAbort = true;
     }
 
-    /** @GuardedBy("exclusiveLock") */
+    @GuardedBy("exclusiveLock")
     @Override
     CursorState<K, V> getState() throws ChangelogException
     {
       return delegate.getState();
     }
 
-    /** @GuardedBy("exclusiveLock") */
+    @GuardedBy("exclusiveLock")
     @Override
     void closeUnderlyingCursor()
     {
       delegate.closeUnderlyingCursor();
     }
 
-    /** @GuardedBy("exclusiveLock") */
+    @GuardedBy("exclusiveLock")
     @Override
     void reinitializeTo(final CursorState<K, V> cursorState) throws ChangelogException
     {
       delegate.reinitializeTo(cursorState);
     }
 
-    /** @GuardedBy("exclusiveLock") */
+    @GuardedBy("exclusiveLock")
     @Override
     boolean isAccessingLogFile(LogFile<K, V> logFile)
     {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/MultiDomainDBCursor.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/MultiDomainDBCursor.java
index 86e42c3..42ea134 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/MultiDomainDBCursor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/MultiDomainDBCursor.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014-2015 ForgeRock AS
+ *      Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -28,6 +28,8 @@
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentSkipListMap;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import org.opends.server.replication.common.ServerState;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
@@ -35,11 +37,8 @@
 import org.opends.server.replication.server.changelog.api.ReplicationDomainDB;
 import org.opends.server.types.DN;
 
-/**
- * Cursor iterating over a all the replication domain known to the changelog DB.
- *
- * \@NotThreadSafe
- */
+/** Cursor iterating over a all the replication domain known to the changelog DB. */
+@NotThreadSafe
 public class MultiDomainDBCursor extends CompositeDBCursor<DN>
 {
   private final ReplicationDomainDB domainDB;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/ReplicationEnvironment.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/ReplicationEnvironment.java
index a21bf54..ffea885 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/ReplicationEnvironment.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/ReplicationEnvironment.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014-2015 ForgeRock AS
+ *      Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -50,6 +50,8 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import net.jcip.annotations.GuardedBy;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.util.time.TimeService;
@@ -207,9 +209,8 @@
    * The current changelogState. This is in-memory version of what is inside the
    * on-disk changelogStateDB. It improves performances in case the
    * changelogState is read often.
-   *
-   * @GuardedBy("domainsLock")
    */
+  @GuardedBy("domainsLock")
   private final ChangelogState changelogState;
 
   /** The list of logs that are in use for Replica DBs. */
@@ -222,11 +223,8 @@
    */
   private List<Log<Long, ChangeNumberIndexRecord>> logsCNIndexDB = new CopyOnWriteArrayList<>();
 
-  /**
-   * Maps each domain DN to a domain id that is used to name directory in file system.
-   *
-   * @GuardedBy("domainsLock")
-   */
+  /** Maps each domain DN to a domain id that is used to name directory in file system. */
+  @GuardedBy("domainsLock")
   private final Map<DN, String> domains = new HashMap<>();
 
   /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
index c4b00f6..8ab4bbc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2015 ForgeRock AS
+ *      Portions Copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.replication.service;
 
@@ -39,6 +39,9 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
+import net.jcip.annotations.GuardedBy;
+import net.jcip.annotations.Immutable;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.util.Utils;
@@ -65,7 +68,7 @@
    * Immutable class containing information about whether the broker is
    * connected to an RS and data associated to this connected RS.
    */
-  // @Immutable
+  @Immutable
   private static final class ConnectedRS
   {
 
@@ -205,7 +208,7 @@
    */
   /** Contains the last known state of the replication topology. */
   private final AtomicReference<Topology> topology = new AtomicReference<>(new Topology());
-  /** <pre>@GuardedBy("this")</pre>. */
+  @GuardedBy("this")
   private volatile int updateDoneCount;
   private volatile boolean connectRequiresRecovery;
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
index 91537b4..f86d173 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2008-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2015 ForgeRock AS
+ *      Portions Copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.replication.service;
 
@@ -36,12 +36,24 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.SocketTimeoutException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
+import net.jcip.annotations.Immutable;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.config.server.ConfigException;
@@ -106,13 +118,10 @@
 public abstract class ReplicationDomain
 {
 
-  /**
-   * Contains all the attributes included for the ECL (External Changelog).
-   */
-  // @Immutable
+  /** Contains all the attributes included for the ECL (External Changelog). */
+  @Immutable
   private static final class ECLIncludes
   {
-
     final Map<Integer, Set<String>> includedAttrsByServer;
     final Set<String> includedAttrsAllServers;
 
diff --git a/pom.xml b/pom.xml
index 425a0f8..fdb0653 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
   !
   ! CDDL HEADER END
   !
-  !      Copyright 2011-2015 ForgeRock AS.
+  !      Copyright 2011-2016 ForgeRock AS.
   !
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -57,8 +57,8 @@
         <url>https://stash.forgerock.org/projects/OPENDJ/repos/opendj/browse</url>
         <connection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj.git</connection>
         <developerConnection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj.git</developerConnection>
-      <tag>HEAD</tag>
-  </scm>
+        <tag>HEAD</tag>
+    </scm>
 
     <ciManagement>
         <system>jenkins</system>

--
Gitblit v1.10.0