You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2012/11/27 15:02:04 UTC

svn commit: r1414192 - in /directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication: SyncReplConfiguration.java consumer/ReplicationConsumerImpl.java provider/SyncReplRequestHandler.java

Author: kayyagari
Date: Tue Nov 27 14:02:03 2012
New Revision: 1414192

URL: http://svn.apache.org/viewvc?rev=1414192&view=rev
Log:
o removed the modification of attributes in replication configuration
o added operational attributes to the search/lookup request in replication consumer and handler

Modified:
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java?rev=1414192&r1=1414191&r2=1414192&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java Tue Nov 27 14:02:03 2012
@@ -136,8 +136,8 @@ public class SyncReplConfiguration imple
     public SyncReplConfiguration()
     {
         attributes = new HashSet<String>();
+        // the default list of attributes
         attributes.add( SchemaConstants.ALL_USER_ATTRIBUTES );
-        attributes.add( SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES );
     }
 
 
@@ -304,26 +304,11 @@ public class SyncReplConfiguration imple
      */
     public void setAttributes( String[] attrs )
     {
-        if ( attrs == null )
+        attributes.clear();
+        
+        for ( String attr : attrs )
         {
-            throw new IllegalArgumentException( "attributes to be replicated cannot be null or empty" );
-        }
-
-        // if user specified some attributes then remove the * from attributes
-        // NOTE: if the user specifies * in the given array that eventually gets added later
-        if ( attrs.length > 0 )
-        {
-            attributes.remove( SchemaConstants.ALL_USER_ATTRIBUTES );
-        }
-
-        for ( String at : attrs )
-        {
-            at = at.trim();
-
-            if ( !attributes.contains( Strings.toLowerCase( at ) ) )
-            {
-                attributes.add( at );
-            }
+            attributes.add( attr );
         }
     }
 

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java?rev=1414192&r1=1414191&r2=1414192&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java Tue Nov 27 14:02:03 2012
@@ -958,6 +958,10 @@ public class ReplicationConsumerImpl imp
     {
         LookupOperationContext lookupCtx = new LookupOperationContext( session, remoteEntry.getDn() );
         lookupCtx.setAttrsId( config.getAttributes() );
+        
+        // this is needed to compare some of the operational attributes received from the server
+        lookupCtx.addAttrsId( SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES );
+        
         lookupCtx.setSyncreplLookup( true );
         
         Entry localEntry = session.getDirectoryService().getOperationManager().lookup( lookupCtx );

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java?rev=1414192&r1=1414191&r2=1414192&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java Tue Nov 27 14:02:03 2012
@@ -261,6 +261,12 @@ public class SyncReplRequestHandler impl
     {
         try
         {
+            if( !request.getAttributes().contains( SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES ) )
+            {
+                // this is needed for accessing entryUUID and entryCSN attributes for internal purpose
+                request.addAttributes( SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES );
+            }
+            
             // First extract the Sync control from the request
             SyncRequestValue syncControl = ( SyncRequestValue ) request.getControls().get(
                 SyncRequestValue.OID );