mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Nicolas Capponi
22.19.2014 16195207e26e87437c6797e3691b8de47770401f
refs
author Nicolas Capponi <nicolas.capponi@forgerock.com>
Monday, September 22, 2014 16:19 +0200
committer Nicolas Capponi <nicolas.capponi@forgerock.com>
Monday, September 22, 2014 16:19 +0200
commit16195207e26e87437c6797e3691b8de47770401f
tree 1761da46e8b8cdb986718a0868becddd17dc5c66 tree | zip | gz
parent 6bc38c0e7fad827dc83dedf4ddc0ebed1b4a9095 view | diff
Checkpoint commit for OPENDJ-1206 : Create a new ReplicationBackend/ChangelogBackend 
to support cn=changelog
CR-4083

[Note: real merge of all changelog.file package content and ChangelogBackend to be done
in one shot in a future commit]

Implementation of core features of the changelog backend:
* Initialization and finalization of the backend
* Search of the changelog, in cookie mode (with a cookie control) and
draft compat mode (by change number)

Code changes:
* ChangelogBackend.java:
- implementation of search(), hasSubordinates(), numSubordinates(),
and getEntryCount() methods

* ReplicationServer.java:
- new dependency on ChangelogBackend and ECLEnabledDomainPredicate
- new constructor with ECLEnabledDomainPredicate argument
- new methods enableExternalChangeLog() and shutdownExternalChangelog()
as future replacement of enabledECL() and shutdownECL()
- new method getDomainDNs(Set<DN>) for retrieval of domain DNs but an
excluded set of dns
- new method validateServerState(MultiDomainServerState, Set<DN>) for
checking coherency of given state with the replication server

* ReplicationDomainDB.java:
- new method getCursorFrom(MultiDomainServerState, PositionStrategy, Set<DN>)
that exclude a given set of domain DNs from the cursor obtained

* FileChangelogDB.java, JEChangelogDB.java:
- implementation of new method
getCursorFrom(MultiDomainServerState, PositionStrategy, Set<DN>)

* ECLEnabledDomainPredicate.java, ECLMultiDomainDBCursor.java:
- update visibility to public in order to use these classes in ChangelogBackend

* ChangelogBackedTestCase.java:
- test of ChangelogBackend class, built from ExternalChangeLogTest.java,
with lots of renaming, refactoring, cleaning compared to original class
- majority of tests are disabled until the changelog backend is branched into
code (as these tests require a running server)

* MonitorTest.java:
- update creation of ReplicationServer class to use a custom
ECLEnabledDomainPredicate

* replication.properties:
- add messages for changelog backend
1 files added
8 files modified
518 ■■■■■ changed files
opendj3-server-dev/src/messages/messages/replication.properties 6 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/ChangelogBackend.java 288 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java 156 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java 28 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java 11 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/ECLEnabledDomainPredicate.java 2 ●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/ECLMultiDomainDBCursor.java 2 ●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java 13 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/MonitorTest.java 12 ●●●●● diff | view | raw | blame | history