OPENDJ-1116 Introduce abstraction for the changelog DB
Introduced interfaces ChangelogDB and ChangelogDBIterator to remove direct dependencies to org.opends.server.replication.server.changelog.je .
The interfaces remain similar to the old classes DraftCNDbHandler and DraftCNDbIterator, but:
- I plan to introduce more changes to rework a bit these interfaces
- They reduce the number of accessible methods for client code
ChangelogDB.java: ADDED
Renamed getValue() to getPreviousCookie().
ChangelogDBIterator.java: ADDED
Renamed releaseCursor() to close().
*.java:
Consequence of the use of the new interfaces.
Renamed instance variables, local variables and method parameters to accommodate the new classes.
Also renamed variables and methods to better explicit their role.
Also reworked javadocs and comments.
ReplicationServer.java:
Extracted method contains().
In getEligibleCN(), reworked the code to avoid computing debug information if debug is off.
Renamed local variables.
Removed useless comments.
DraftCNDB.java:
Removed unused instance member ReplicationServer.
DraftCNDbHandler.java:
Now implements ChangelogDB.
Consequence of change to DraftCNDB.
Extracted method debugException().
Removed releaseReadCursor() (Replaced by StaticUtils.close()).
DraftCNDbIterator.java:
Now implements ChangelogDBIterator.
TestCaseUtils.java:
In deleteDirectory(), added a null check and an exists check.
DbHandlerTest.java, DraftCNDbHandlerTest.java:
Extracted method createCleanDir().
Removed now useless checks before calling TestCaseUtils.deleteDirectory().
Called StaticUtils.close().
Extracted method assertIteratorReadsInOrder().