You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/04/25 15:28:34 UTC

svn commit: r937797 - in /directory: apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/ shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/ shared/trunk/ldap/src/main/java/org/apache/directory/shared/lda...

Author: elecharny
Date: Sun Apr 25 13:28:34 2010
New Revision: 937797

URL: http://svn.apache.org/viewvc?rev=937797&view=rev
Log:
o First step in the merge : the Attribute are stored in a Map using either the id or the OID as a key to retrieve the associated Attribute.
o We don't need anymore to have AbstractEntry to be generic

Modified:
    directory/apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractEntry.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultServerEntry.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java

Modified: directory/apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java?rev=937797&r1=937796&r2=937797&view=diff
==============================================================================
--- directory/apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java (original)
+++ directory/apacheds/trunk/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java Sun Apr 25 13:28:34 2010
@@ -2200,7 +2200,7 @@ public class DefaultServerEntryTest
             entry.put( "badAttr", (AttributeType)null, "test" );
             fail();
         }
-        catch ( LdapNoSuchAttributeException nsae )
+        catch ( IllegalArgumentException iae )
         {
             assertTrue( true );
         }
@@ -3016,16 +3016,7 @@ public class DefaultServerEntryTest
         assertNull( entry.get( atPassword ).get().get() );
         
         // Check that we can use a null AttributeType
-        try
-        {
-            entry.put( "userPassword", (AttributeType)null, (byte[])null );
-            fail();
-        }
-        catch ( IllegalArgumentException iae )
-        {
-            assertTrue( true );
-        }
-        
+        entry.put( "userPassword", (AttributeType)null, (byte[])null );
         assertEquals( 1, entry.size() );
         assertEquals( "userPassword", entry.get( atPassword ).getUpId() );
         assertTrue( entry.containsAttribute( "userPassword" ) );
@@ -3097,15 +3088,7 @@ public class DefaultServerEntryTest
         assertNull( entry.get( atCN ).get().get() );
         
         // Check that we can use a null AttributeType
-        try
-        {
-            entry.put( "commonName", (AttributeType)null, (Value<?>)null );
-            fail();
-        }
-        catch( IllegalArgumentException iae )
-        {
-            assertTrue( true );
-        }
+        entry.put( "commonName", (AttributeType)null, (Value<?>)null );
 
         assertEquals( 1, entry.size() );
         assertEquals( "commonName", entry.get( atCN ).getUpId() );

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractEntry.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractEntry.java?rev=937797&r1=937796&r2=937797&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractEntry.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/AbstractEntry.java Sun Apr 25 13:28:34 2010
@@ -35,13 +35,13 @@ import org.apache.directory.shared.ldap.
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public abstract class AbstractEntry<K> implements Entry
+public abstract class AbstractEntry implements Entry
 {
     /** The DN for this entry */
     protected DN dn;
     
     /** A map containing all the attributes for this entry */
-    protected Map<K, EntryAttribute> attributes = new HashMap<K, EntryAttribute>();
+    protected Map<String, EntryAttribute> attributes = new HashMap<String, EntryAttribute>();
     
     /** A speedup to get the ObjectClass attribute */
     protected static transient AttributeType OBJECT_CLASS_AT;

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultServerEntry.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultServerEntry.java?rev=937797&r1=937796&r2=937797&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultServerEntry.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultServerEntry.java Sun Apr 25 13:28:34 2010
@@ -24,6 +24,7 @@ import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -52,7 +53,7 @@ import org.slf4j.LoggerFactory;
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public final class DefaultServerEntry extends AbstractEntry<AttributeType> implements ServerEntry
+public final class DefaultServerEntry extends AbstractEntry implements ServerEntry
 {
     /** Used for serialization */
     private static final long serialVersionUID = 2L;
@@ -152,7 +153,7 @@ public final class DefaultServerEntry ex
     {
         EntryAttribute attribute = new DefaultEntryAttribute( attributeType, values );
         attribute.setUpId( upId, attributeType );
-        attributes.put( attributeType, attribute );
+        attributes.put( attributeType.getOid(), attribute );
     }
     
     
@@ -166,7 +167,7 @@ public final class DefaultServerEntry ex
     {
         EntryAttribute attribute = new DefaultEntryAttribute( attributeType, values );
         attribute.setUpId( upId, attributeType );
-        attributes.put( attributeType, attribute );
+        attributes.put( attributeType.getOid(), attribute );
     }
     
     
@@ -180,7 +181,7 @@ public final class DefaultServerEntry ex
     {
         EntryAttribute attribute = new DefaultEntryAttribute( attributeType, values );
         attribute.setUpId( upId, attributeType );
-        attributes.put( attributeType, attribute );
+        attributes.put( attributeType.getOid(), attribute );
     }
     
     
@@ -265,7 +266,7 @@ public final class DefaultServerEntry ex
         }
         
         // Init the attributes map
-        attributes = new HashMap<AttributeType, EntryAttribute>( entry.size() );
+        attributes = new HashMap<String, EntryAttribute>( entry.size() );
         
         // and copy all the attributes
         for ( EntryAttribute attribute:entry )
@@ -526,7 +527,7 @@ public final class DefaultServerEntry ex
             throw new UnsupportedOperationException( message );
         }
 
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -571,7 +572,7 @@ public final class DefaultServerEntry ex
             throw new IllegalArgumentException( message );
         }
         
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -616,7 +617,7 @@ public final class DefaultServerEntry ex
             throw new IllegalArgumentException( message );
         }
         
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
     
         if ( attribute != null )
         {
@@ -647,11 +648,11 @@ public final class DefaultServerEntry ex
             EntryAttribute serverAttribute = (EntryAttribute)attribute;
             AttributeType attributeType = serverAttribute.getAttributeType();
             
-            if ( this.attributes.containsKey( attributeType ) )
+            if ( this.attributes.containsKey( attributeType.getOid() ) )
             {
                 // We already have an attribute with the same AttributeType
                 // Just add the new values into it.
-                EntryAttribute oldAttribute = this.attributes.get( attributeType );
+                EntryAttribute oldAttribute = this.attributes.get( attributeType.getOid() );
                 
                 for ( Value<?> value:serverAttribute )
                 {
@@ -664,7 +665,7 @@ public final class DefaultServerEntry ex
             else
             {
                 // The attributeType does not exist, add it
-                this.attributes.put( attributeType, attribute );
+                this.attributes.put( attributeType.getOid(), attribute );
             }
         }
     }
@@ -699,7 +700,7 @@ public final class DefaultServerEntry ex
             throw new UnsupportedOperationException( message );
         }
 
-        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType );
+        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType.getOid() );
         
         upId = getUpId( upId, attributeType );
         
@@ -749,7 +750,7 @@ public final class DefaultServerEntry ex
         
         upId = getUpId( upId, attributeType );
         
-        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType );
+        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType.getOid() );
     
         if ( attribute != null )
         {
@@ -785,7 +786,7 @@ public final class DefaultServerEntry ex
         
         upId = getUpId( upId, attributeType );
 
-        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType );
+        EntryAttribute attribute = (EntryAttribute)attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -857,7 +858,7 @@ public final class DefaultServerEntry ex
             return false;
         }
         
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -885,7 +886,7 @@ public final class DefaultServerEntry ex
             return false;
         }
 
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -913,7 +914,7 @@ public final class DefaultServerEntry ex
             return false;
         }
         
-        EntryAttribute attribute = attributes.get( attributeType );
+        EntryAttribute attribute = attributes.get( attributeType.getOid() );
         
         if ( attribute != null )
         {
@@ -949,7 +950,7 @@ public final class DefaultServerEntry ex
                 return this.attributes.size() == 0;
             }
             
-            if ( !this.attributes.containsKey( ((EntryAttribute)entryAttribute).getAttributeType() ) )
+            if ( !this.attributes.containsKey( ((EntryAttribute)entryAttribute).getAttributeType().getOid() ) )
             {
                 return false;
             }
@@ -983,7 +984,7 @@ public final class DefaultServerEntry ex
                 return false;
             }
             
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute != null )
             {
@@ -1025,7 +1026,7 @@ public final class DefaultServerEntry ex
                 return false;
             }
             
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute != null )
             {
@@ -1067,7 +1068,7 @@ public final class DefaultServerEntry ex
                 return false;
             }
 
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute != null )
             {
@@ -1093,7 +1094,7 @@ public final class DefaultServerEntry ex
      */
     public boolean containsAttribute( AttributeType attributeType )
     {
-        return attributes.containsKey( attributeType );
+        return attributes.containsKey( attributeType.getOid() );
     }
 
     
@@ -1109,7 +1110,7 @@ public final class DefaultServerEntry ex
         {
             try
             {
-                if ( !this.attributes.containsKey( getAttributeType( attribute ) ) )
+                if ( !this.attributes.containsKey( getAttributeType( attribute ).getOid() ) )
                 {
                     return false;
                 }
@@ -1141,7 +1142,14 @@ public final class DefaultServerEntry ex
      */
     public EntryAttribute get( AttributeType attributeType )
     {
-        return attributes.get( attributeType );
+        if ( attributeType != null )
+        {
+            return attributes.get( attributeType.getOid() );
+        }
+        else
+        {
+            return null;
+        }
     }
 
 
@@ -1183,7 +1191,14 @@ public final class DefaultServerEntry ex
      */
     public Set<AttributeType> getAttributeTypes()
     {
-        return attributes.keySet();
+        Set<AttributeType> attributeTypes = new HashSet<AttributeType>();
+        
+        for ( EntryAttribute attribute:attributes.values() )
+        {
+            attributeTypes.add( attribute.getAttributeType() );
+        }
+        
+        return attributeTypes;
     }
     
     
@@ -1220,7 +1235,7 @@ public final class DefaultServerEntry ex
             return false;
         }
         
-        EntryAttribute attribute = attributes.get( OBJECT_CLASS_AT );
+        EntryAttribute attribute = attributes.get( OBJECT_CLASS_AT.getOid() );
         
         if ( attribute == null )
         {
@@ -1392,7 +1407,7 @@ public final class DefaultServerEntry ex
                 throw new IllegalArgumentException( message );
             }
             
-            EntryAttribute removed = this.attributes.put( ((EntryAttribute)serverAttribute).getAttributeType(), serverAttribute );
+            EntryAttribute removed = this.attributes.put( ((EntryAttribute)serverAttribute).getAttributeType().getOid(), serverAttribute );
             
             if ( removed != null )
             {
@@ -1431,25 +1446,34 @@ public final class DefaultServerEntry ex
     {
         if ( attributeType == null )
         {
-            String message = I18n.err( I18n.ERR_04460 );
-            LOG.error( message );
-            throw new IllegalArgumentException( message );
-        }
-
-        if ( !StringTools.isEmpty( upId ) )
-        {
-            AttributeType tempAT = getAttributeType( upId );
-        
-            if ( !tempAT.equals( attributeType ) )
+            try
+            {
+                attributeType = getAttributeType( upId );
+            }
+            catch ( Exception e )
             {
-                String message = I18n.err( I18n.ERR_04463, upId, attributeType );
+                String message = I18n.err( I18n.ERR_04460 );
                 LOG.error( message );
                 throw new IllegalArgumentException( message );
             }
         }
         else
         {
-            upId = getUpId( upId, attributeType );
+            if ( !StringTools.isEmpty( upId ) )
+            {
+                AttributeType tempAT = getAttributeType( upId );
+            
+                if ( !tempAT.equals( attributeType ) )
+                {
+                    String message = I18n.err( I18n.ERR_04463, upId, attributeType );
+                    LOG.error( message );
+                    throw new IllegalArgumentException( message );
+                }
+            }
+            else
+            {
+                upId = getUpId( upId, attributeType );
+            }
         }
         
         if ( attributeType.equals( OBJECT_CLASS_AT ) )
@@ -1461,7 +1485,7 @@ public final class DefaultServerEntry ex
 
         EntryAttribute attribute = new DefaultEntryAttribute( upId, attributeType, values );
         
-        return attributes.put( attributeType, attribute );
+        return attributes.put( attributeType.getOid(), attribute );
     }
 
 
@@ -1496,7 +1520,7 @@ public final class DefaultServerEntry ex
             {
                 attributeType = getAttributeType( upId );
             }
-            catch ( IllegalArgumentException iae )
+            catch ( Exception e )
             {
                 String message = I18n.err( I18n.ERR_04460 );
                 LOG.error( message );
@@ -1524,7 +1548,7 @@ public final class DefaultServerEntry ex
         
         EntryAttribute attribute = new DefaultEntryAttribute( upId, attributeType, values );
         
-        return attributes.put( attributeType, attribute );
+        return attributes.put( attributeType.getOid(), attribute );
     }
 
 
@@ -1555,30 +1579,39 @@ public final class DefaultServerEntry ex
     {
         if ( attributeType == null )
         {
-            String message = I18n.err( I18n.ERR_04460 );
-            LOG.error( message );
-            throw new IllegalArgumentException( message );
-        }
-
-        if ( !StringTools.isEmpty( upId ) )
-        {
-            AttributeType tempAT = getAttributeType( upId );
-        
-            if ( !tempAT.equals( attributeType ) )
+            try
+            {
+                attributeType = getAttributeType( upId );
+            }
+            catch ( Exception e )
             {
-                String message = I18n.err( I18n.ERR_04463, upId, attributeType );
+                String message = I18n.err( I18n.ERR_04460 );
                 LOG.error( message );
                 throw new IllegalArgumentException( message );
             }
         }
         else
         {
-            upId = getUpId( upId, attributeType );
+            if ( !StringTools.isEmpty( upId ) )
+            {
+                AttributeType tempAT = getAttributeType( upId );
+            
+                if ( !tempAT.equals( attributeType ) )
+                {
+                    String message = I18n.err( I18n.ERR_04463, upId, attributeType );
+                    LOG.error( message );
+                    throw new IllegalArgumentException( message );
+                }
+            }
+            else
+            {
+                upId = getUpId( upId, attributeType );
+            }
         }
         
         EntryAttribute attribute = new DefaultEntryAttribute( upId, attributeType, values );
         
-        return attributes.put( attributeType, attribute );
+        return attributes.put( attributeType.getOid(), attribute );
     }
 
 
@@ -1699,9 +1732,14 @@ public final class DefaultServerEntry ex
      */
     public boolean remove( AttributeType attributeType, byte[]... values ) throws LdapException
     {
+        if ( attributeType == null )
+        {
+            return false;
+        }
+        
         try
         {
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute == null )
             {
@@ -1717,7 +1755,7 @@ public final class DefaultServerEntry ex
             if ( attribute.size() == 0 )
             {
                 // No mare values, remove the attribute
-                attributes.remove( attributeType );
+                attributes.remove( attributeType.getOid() );
                 
                 return true;
             }
@@ -1764,9 +1802,14 @@ public final class DefaultServerEntry ex
      */
     public boolean remove( AttributeType attributeType, String... values ) throws LdapException
     {
+        if ( attributeType == null )
+        {
+            return false;
+        }
+        
         try
         {
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute == null )
             {
@@ -1782,7 +1825,7 @@ public final class DefaultServerEntry ex
             if ( attribute.size() == 0 )
             {
                 // No mare values, remove the attribute
-                attributes.remove( attributeType );
+                attributes.remove( attributeType.getOid() );
                 
                 return true;
             }
@@ -1829,9 +1872,14 @@ public final class DefaultServerEntry ex
      */
     public boolean remove( AttributeType attributeType, Value<?>... values ) throws LdapException
     {
+        if ( attributeType == null )
+        {
+            return false;
+        }
+        
         try
         {
-            EntryAttribute attribute = attributes.get( attributeType );
+            EntryAttribute attribute = attributes.get( attributeType.getOid() );
             
             if ( attribute == null )
             {
@@ -1847,7 +1895,7 @@ public final class DefaultServerEntry ex
             if ( attribute.size() == 0 )
             {
                 // No mare values, remove the attribute
-                attributes.remove( attributeType );
+                attributes.remove( attributeType.getOid() );
                 
                 return true;
             }
@@ -1877,9 +1925,9 @@ public final class DefaultServerEntry ex
         
         for ( EntryAttribute serverAttribute:attributes )
         {
-            if ( this.attributes.containsKey( ((EntryAttribute)serverAttribute).getAttributeType() ) )
+            if ( this.attributes.containsKey( ((EntryAttribute)serverAttribute).getAttributeType().getOid() ) )
             {
-                this.attributes.remove( ((EntryAttribute)serverAttribute).getAttributeType() );
+                this.attributes.remove( ((EntryAttribute)serverAttribute).getAttributeType().getOid() );
                 removedAttributes.add( serverAttribute );
             }
         }
@@ -2031,7 +2079,7 @@ public final class DefaultServerEntry ex
      */
     public List<EntryAttribute> removeAttributes( AttributeType... attributes )
     {
-        if ( attributes.length == 0 )
+        if ( ( attributes == null ) || ( attributes.length == 0 ) )
         {
             return null;
         }
@@ -2040,7 +2088,12 @@ public final class DefaultServerEntry ex
         
         for ( AttributeType attributeType:attributes )
         {
-            EntryAttribute attr = this.attributes.remove( attributeType );
+            if ( attributeType == null )
+            {
+                continue;
+            }
+            
+            EntryAttribute attr = this.attributes.remove( attributeType.getOid() );
             
             if ( attr != null )
             {
@@ -2098,7 +2151,7 @@ public final class DefaultServerEntry ex
                 continue;
             }
     
-            EntryAttribute attr = this.attributes.remove( attributeType );
+            EntryAttribute attr = this.attributes.remove( attributeType.getOid() );
             
             if ( attr != null )
             {
@@ -2144,7 +2197,7 @@ public final class DefaultServerEntry ex
                 continue;
             }
             
-            EntryAttribute attribute = attributes.put( attributeType, new DefaultEntryAttribute( attributeType ) );
+            EntryAttribute attribute = attributes.put( attributeType.getOid(), new DefaultEntryAttribute( attributeType ) );
 
             if ( attribute != null )
             {
@@ -2200,7 +2253,7 @@ public final class DefaultServerEntry ex
                 continue;
             }
             
-            EntryAttribute attribute = attributes.put( attributeType, 
+            EntryAttribute attribute = attributes.put( attributeType.getOid(), 
                 new DefaultEntryAttribute( upId, attributeType ));
             
             if ( attribute != null )
@@ -2263,7 +2316,7 @@ public final class DefaultServerEntry ex
         }
         
         // clone the ServerAttribute Map
-        clone.attributes = (Map<AttributeType, EntryAttribute>)(((HashMap<AttributeType, EntryAttribute>)attributes).clone());
+        clone.attributes = (Map<String, EntryAttribute>)(((HashMap<String, EntryAttribute>)attributes).clone());
         
         // now clone all the servrAttributes
         clone.attributes.clear();
@@ -2271,7 +2324,7 @@ public final class DefaultServerEntry ex
         for ( EntryAttribute entryAttribute : attributes.values() )
         {
             EntryAttribute value = (EntryAttribute)entryAttribute.clone();
-            clone.attributes.put( value.getAttributeType(), value );
+            clone.attributes.put( value.getAttributeType().getOid(), value );
         }
         
         // We are done !
@@ -2327,7 +2380,7 @@ public final class DefaultServerEntry ex
         // here, to be able to restore it in the readExternal :
         // we need access to the registries, which are not available
         // in the ServerAttribute class.
-        for ( AttributeType attributeType:attributes.keySet() )
+        for ( AttributeType attributeType:getAttributeTypes() )
         {
             // Write the oid to be able to restore the AttributeType when deserializing
             // the attribute
@@ -2336,7 +2389,7 @@ public final class DefaultServerEntry ex
             out.writeUTF( oid );
             
             // Get the attribute
-            DefaultEntryAttribute attribute = (DefaultEntryAttribute)attributes.get( attributeType );
+            DefaultEntryAttribute attribute = (DefaultEntryAttribute)attributes.get( attributeType.getOid() );
 
             // Write the attribute
             attribute.serialize( out );
@@ -2394,7 +2447,7 @@ public final class DefaultServerEntry ex
                 // Read the attribute
                 attribute.deserialize( in );
                 
-                attributes.put( attributeType, attribute );
+                attributes.put( attributeType.getOid(), attribute );
             }
             catch ( LdapException ne )
             {
@@ -2467,7 +2520,7 @@ public final class DefaultServerEntry ex
         
         for ( EntryAttribute attribute:other )
         {
-            EntryAttribute attr = attributes.get( ((EntryAttribute)attribute).getAttributeType() );
+            EntryAttribute attr = attributes.get( ((EntryAttribute)attribute).getAttributeType().getOid() );
             
             if ( attr == null )
             {

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java?rev=937797&r1=937796&r2=937797&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java Sun Apr 25 13:28:34 2010
@@ -23,9 +23,7 @@ import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
@@ -40,7 +38,6 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.entry.EntryAttribute;
 import org.apache.directory.shared.ldap.entry.Value;
 import org.apache.directory.shared.ldap.name.DN;
-import org.apache.directory.shared.ldap.schema.AttributeType;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -55,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public final class DefaultClientEntry extends AbstractEntry<String>
+public final class DefaultClientEntry extends AbstractEntry
 {
     /** Used for serialization */
     private static final long serialVersionUID = 2L;