You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/08/21 02:46:55 UTC

svn commit: r433108 - in /directory/trunks/apacheds: core/src/main/java/org/apache/directory/server/core/schema/ server-unit/src/test/java/org/apache/directory/server/

Author: akarasulu
Date: Sun Aug 20 17:46:54 2006
New Revision: 433108

URL: http://svn.apache.org/viewvc?rev=433108&view=rev
Log:
Fix for DIRSERVER-646: Replacing an unknown attribute with no values (deletion) causes an error

Added:
    directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/ModifyReplaceITest.java
      - copied unchanged from r433107, directory/branches/apacheds/1.0/server-unit/src/test/java/org/apache/directory/server/ModifyReplaceITest.java
Modified:
    directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
    directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddingEntriesWithSpecialCharactersInRDNTest.java

Modified: directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java?rev=433108&r1=433107&r2=433108&view=diff
==============================================================================
--- directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java (original)
+++ directory/trunks/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java Sun Aug 20 17:46:54 2006
@@ -821,6 +821,19 @@
         ObjectClassRegistry ocRegistry = this.globalRegistries.getObjectClassRegistry();
         AttributeTypeRegistry atRegistry = this.globalRegistries.getAttributeTypeRegistry();
 
+        // -------------------------------------------------------------------
+        // DIRSERVER-646 Fix: Replacing an unknown attribute with no values 
+        // (deletion) causes an error
+        // -------------------------------------------------------------------
+        
+        if ( mods.length == 1 && 
+             mods[0].getAttribute().size() == 0 && 
+             mods[0].getModificationOp() == DirContext.REPLACE_ATTRIBUTE &&
+             ! atRegistry.hasAttributeType( mods[0].getAttribute().getID() ) )
+        {
+            return;
+        }
+        
         // Now, apply the modifications on the cloned entry before applyong it to the
         // real object.
         for ( int ii = 0; ii < mods.length; ii++ )

Modified: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddingEntriesWithSpecialCharactersInRDNTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddingEntriesWithSpecialCharactersInRDNTest.java?rev=433108&r1=433107&r2=433108&view=diff
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddingEntriesWithSpecialCharactersInRDNTest.java (original)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddingEntriesWithSpecialCharactersInRDNTest.java Sun Aug 20 17:46:54 2006
@@ -13,11 +13,12 @@
  *   See the License for the specific language governing permissions and
  *   limitations under the License.
  *
- */package org.apache.directory.server;
+ */
+package org.apache.directory.server;
+
 
 import java.util.Hashtable;
 
-import javax.naming.Context;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
 import javax.naming.directory.Attribute;
@@ -31,7 +32,6 @@
 
 import org.apache.directory.server.unit.AbstractServerTest;
 
-import junit.framework.TestCase;
 
 /**
  * Test case to demonstrate DIRSERVER-631 ("Creation of entry with special (and