From cef17362e110015ded0e3b8ea3577986c796bfe1 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 07 Apr 2011 12:41:00 +0000
Subject: [PATCH] Fix OPENDJ-112 - The Changelog virtual attribute appears in al entries, should only apply to rootDSE. The changes introduce a scope in the VirtualAttributeRule. The default is Whole_Subtree. The changelog virtual attributes are now registered with a BASE_OBJECT scope and "" base DNs, meaning the rootDSE only. Also each virtual attribute provider override the hasValue() method for optimization and avoiding computing the values and throwing them away.

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 4358278..be198cf 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -91,6 +91,7 @@
 import org.opends.server.workflowelement.externalchangelog.ECLWorkflowElement;
 
 import com.sleepycat.je.DatabaseException;
+import org.opends.server.types.SearchScope;
 
 /**
  * ReplicationServer Listener.
@@ -690,7 +691,8 @@
       baseDNs.add(DN.decode(""));
       VirtualAttributeRule rule =
         new VirtualAttributeRule(attributeType, provider,
-            baseDNs, groupDNs, filters, conflictBehavior);
+              baseDNs, SearchScope.BASE_OBJECT,
+              groupDNs, filters, conflictBehavior);
 
       DirectoryServer.registerVirtualAttribute(rule);
     }

--
Gitblit v1.10.0