From 52e569abdb0e92ead298676156e5e454b88d94c1 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 21 Jul 2014 08:02:43 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1206 : Create a new ReplicationBackend/ChangelogBackend to support cn=changelog CR-4036
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 61 +++++++++++++++++-------------
1 files changed, 35 insertions(+), 26 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 9f013a8..652ce4f 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -498,14 +498,40 @@
NetworkGroup.getAdminNetworkGroup().registerWorkflow(workflowImpl);
NetworkGroup.getInternalNetworkGroup().registerWorkflow(workflowImpl);
- DirectoryServer.registerVirtualAttribute(buildVirtualAttributeRule(
- "lastexternalchangelogcookie", new LastCookieVirtualProvider()));
- DirectoryServer.registerVirtualAttribute(buildVirtualAttributeRule(
- "firstchangenumber", new FirstChangeNumberVirtualAttributeProvider()));
- DirectoryServer.registerVirtualAttribute(buildVirtualAttributeRule(
- "lastchangenumber", new LastChangeNumberVirtualAttributeProvider()));
- DirectoryServer.registerVirtualAttribute(buildVirtualAttributeRule(
- "changelog", new ChangelogBaseDNVirtualAttributeProvider()));
+ registerVirtualAttributeRules();
+ }
+
+ private List<VirtualAttributeRule> getVirtualAttributesRules() throws DirectoryException
+ {
+ final List<VirtualAttributeRule> rules = new ArrayList<VirtualAttributeRule>();
+ rules.add(buildVirtualAttributeRule("lastexternalchangelogcookie", new LastCookieVirtualProvider(this)));
+ rules.add(buildVirtualAttributeRule("firstchangenumber", new FirstChangeNumberVirtualAttributeProvider(this)));
+ rules.add(buildVirtualAttributeRule("lastchangenumber", new LastChangeNumberVirtualAttributeProvider(this)));
+ rules.add(buildVirtualAttributeRule("changelog", new ChangelogBaseDNVirtualAttributeProvider()));
+ return rules;
+ }
+
+ private void registerVirtualAttributeRules() throws DirectoryException {
+ for (VirtualAttributeRule rule : getVirtualAttributesRules())
+ {
+ DirectoryServer.registerVirtualAttribute(rule);
+ }
+ }
+
+ private void deregisterVirtualAttributeRules()
+ {
+ try
+ {
+ for (VirtualAttributeRule rule : getVirtualAttributesRules())
+ {
+ DirectoryServer.deregisterVirtualAttribute(rule);
+ }
+ }
+ catch (DirectoryException e)
+ {
+ // Should never happen
+ throw new RuntimeException(e);
+ }
}
private static VirtualAttributeRule buildVirtualAttributeRule(String attrName,
@@ -553,24 +579,7 @@
NetworkGroup.getDefaultNetworkGroup().deregisterWorkflow(eclWorkflowID);
- try
- {
- DirectoryServer.deregisterVirtualAttribute(buildVirtualAttributeRule(
- "lastexternalchangelogcookie", new LastCookieVirtualProvider()));
- DirectoryServer.deregisterVirtualAttribute(buildVirtualAttributeRule(
- "firstchangenumber",
- new FirstChangeNumberVirtualAttributeProvider()));
- DirectoryServer.deregisterVirtualAttribute(buildVirtualAttributeRule(
- "lastchangenumber",
- new LastChangeNumberVirtualAttributeProvider()));
- DirectoryServer.deregisterVirtualAttribute(buildVirtualAttributeRule(
- "changelog", new ChangelogBaseDNVirtualAttributeProvider()));
- }
- catch (DirectoryException e)
- {
- // Should never happen
- throw new RuntimeException(e);
- }
+ deregisterVirtualAttributeRules();
eclwf.deregister();
eclwf.finalizeWorkflow();
--
Gitblit v1.10.0