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 2007/12/15 01:58:49 UTC

svn commit: r604361 [4/4] - in /directory/sandbox/akarasulu/bigbang: apacheds/btree-base/src/main/java/org/apache/directory/server/core/partition/impl/btree/ apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ apacheds/core-integ/...

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/BinaryValue.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/BinaryValue.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/BinaryValue.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/BinaryValue.java Fri Dec 14 16:58:40 2007
@@ -24,6 +24,7 @@
 import org.apache.directory.shared.ldap.util.StringTools;
 
 import java.util.Arrays;
+import java.util.Comparator;
 
 
 /**
@@ -34,6 +35,10 @@
  */
 public class BinaryValue implements Value<byte[]>
 {
+    /** A byte array comparator instance */
+	@SuppressWarnings ( { "unchecked" } )
+    private static final Comparator<byte[]> BYTE_ARRAY_COMPARATOR = new ByteArrayComparator();
+    
     /** the wrapped binary value */
     private byte[] wrapped;
 
@@ -58,23 +63,19 @@
 
 
     /**
-     * Creates a new instance of BinaryValue copying an existing BinaryValue
+     * Dumps binary in hex with label.
      *
-     * @param value the binary value to copy
+     * @see Object#toString()
      */
-    public BinaryValue( BinaryValue value )
+    public String toString()
     {
-        if ( value != null )
-        {
-            wrapped = value.getCopy();
-        }
+        return "BinaryValue : " + StringTools.dumpBytes( wrapped );
     }
 
 
     /**
      * @see Object#hashCode()
      */
-    @Override
     public int hashCode()
     {
         return Arrays.hashCode( wrapped );
@@ -149,7 +150,11 @@
     {
         BinaryValue cloned = (BinaryValue)super.clone();
         
-        cloned.wrapped = getCopy();
+        if ( wrapped != null )
+        {
+            cloned.wrapped = new byte[ wrapped.length ];
+            System.arraycopy( wrapped, 0, cloned.wrapped, 0, wrapped.length );
+        }
         
         return cloned;
     }
@@ -158,7 +163,6 @@
     /**
      * @see Object#equals(Object)
      */
-    @Override
     public boolean equals( Object obj )
     {
         if ( this == obj )
@@ -166,28 +170,30 @@
             return true;
         }
 
-        if ( ! ( obj instanceof BinaryValue ) )
+        if ( obj == null )
+        {
+            return false;
+        }
+
+        if ( obj.getClass() != this.getClass() )
         {
             return false;
         }
 
         BinaryValue binaryValue = ( BinaryValue ) obj;
         
-        if ( isNull() ) 
+        if ( ( wrapped == null ) && ( binaryValue.wrapped == null ) )
         {
-            return binaryValue.isNull();
+            return true;
         }
-        else
+
+        //noinspection SimplifiableIfStatement
+        if ( isNull() != binaryValue.isNull() )
         {
-            if ( binaryValue.isNull() )
-            {
-                return false;
-            }
-            else
-            {
-                return Arrays.equals( wrapped, binaryValue.wrapped );
-            }
+            return false;
         }
+
+        return Arrays.equals( wrapped, binaryValue.wrapped );
     }
 
 
@@ -196,6 +202,7 @@
      *
      * @see Comparable#compareTo(Object) 
      */
+    @SuppressWarnings ( { "JavaDoc" } )
     public int compareTo( BinaryValue value )
     {
         if ( value == null )
@@ -215,18 +222,6 @@
             return -1;
         }
 
-        return ByteArrayComparator.INSTANCE.compare( wrapped, value.getReference() );
-    }
-
-    
-    /**
-     * Dumps binary in hex with label.
-     *
-     * @see Object#toString()
-     */
-    @Override
-    public String toString()
-    {
-        return "BinaryValue : " + StringTools.dumpBytes( wrapped );
+        return BYTE_ARRAY_COMPARATOR.compare( wrapped, value.getReference() );
     }
 }

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Entry.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Entry.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Entry.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Entry.java Fri Dec 14 16:58:40 2007
@@ -23,7 +23,6 @@
 
 import javax.naming.NamingException;
 import java.util.Iterator;
-import java.util.List;
 
 
 /**
@@ -73,20 +72,6 @@
 
 
     /**
-     * Places non-null attributes in the attribute collection. If there is
-     * already an attribute with the same OID as any of the new attributes, 
-     * the old ones are removed from the collection and are returned by this 
-     * method. If there was no attribute with the same OID the return value 
-     * is <code>null</code>.
-     *
-     * @param attributes the attributes to be put
-     * @return the old attributes with the same OID, if exist; otherwise
-     *         <code>null</code>
-     */
-    List<T> put( T... attributes ) throws NamingException;
-
-
-    /**
      * Places a non-null attribute in the attribute collection. If there is
      * already an attribute with the same OID as the new attribute, the old one
      * is removed from the collection and is returned by this method. If there
@@ -100,27 +85,16 @@
 
 
     /**
-      * Removes the specified attributes. The removed attributes are
+      * Removes the specified attribute. The removed attribute is
       * returned by this method. If there were no attribute the return value
       * is <code>null</code>.
       *
-      * @param attributes the attributes to be removed
+      * @param attribute the attribute to be removed
       * @return the removed attribute, if exists; otherwise <code>null</code>
       */
-    List<T> remove( T... attributes ) throws NamingException;
+    T remove( T attribute ) throws NamingException;
 
 
-    /**
-     * Removes the specified attribute. The removed attribute is
-     * returned by this method. If there were no attribute the return value
-     * is <code>null</code>.
-     *
-     * @param attribute the attribute to be removed
-     * @return the removed attribute, if exists; otherwise <code>null</code>
-     */
-    T remove( T attribute ) throws NamingException;
-    
-    
     /**
       * Returns the number of attributes.
       *

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/EntryAttribute.java Fri Dec 14 16:58:40 2007
@@ -18,17 +18,17 @@
  */
 package org.apache.directory.shared.ldap.entry;
 
+
 import java.util.Iterator;
 
 
 /**
- * A generic interface mocking the Attribute JNDI interface. This interface
- * will be the base interface for the ServerAttribute and ClientAttribute.
+ * Document me!
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface EntryAttribute<T extends Value<?>>
+public interface EntryAttribute<E extends Value<?>>
 {
     /**
      * Adds a value to this attribute. If the new value is already present in
@@ -43,6 +43,22 @@
      * @param val a new value to be added which may be null
      * @return true if a value was added, otherwise false
      */
+    boolean add( E val );
+
+
+    /**
+     * Adds a value to this attribute. If the new value is already present in
+     * the attribute values, the method has no effect.
+     * <p>
+     * The new value is added at the end of list of values.
+     * </p>
+     * <p>
+     * This method returns true or false to indicate whether a value was added.
+     * </p>
+     *
+     * @param val a new value to be added which may be null
+     * @return true if a value was added, otherwise false
+     */
     boolean add( String val );
 
 
@@ -74,7 +90,7 @@
      * @param val the value which may be null
      * @return true if this attribute contains the value, otherwise false
      */
-    boolean contains( String val );
+    boolean contains( E val );
 
 
     /**
@@ -83,45 +99,19 @@
      * @param val the value which may be null
      * @return true if this attribute contains the value, otherwise false
      */
-    boolean contains( byte[] val );
-
-
-   /**
-      * Retrieves the number of values in this attribute.
-      *
-      * @return the number of values in this attribute, including any values
-      * wrapping a null value if there is one
-      */
-    int size();
+    boolean contains( String val );
 
 
     /**
-     * Removes a value that is equal to the given value.
-     * <p>
-     * Returns true if a value is removed. If there is no value equal to <code>
-     * val</code> this method simply returns false.
-     * </p>
+     * Indicates whether the specified value is one of the attribute's values.
      *
-     * @param val the value to be removed
-     * @return true if the value is removed, otherwise false
+     * @param val the value which may be null
+     * @return true if this attribute contains the value, otherwise false
      */
-    boolean remove( byte[] val );
+    boolean contains( byte[] val );
 
 
     /**
-     * Removes a value that is equal to the given value.
-     * <p>
-     * Returns true if a value is removed. If there is no value equal to <code>
-     * val</code> this method simply returns false.
-     * </p>
-     *
-     * @param val the value to be removed
-     * @return true if the value is removed, otherwise false
-     */
-    boolean remove( String val );
-    
-    
-    /**
      * Gets the first value of this attribute. <code>null</code> is a valid value.
      *
      * <p>
@@ -131,7 +121,7 @@
      *
      * @return a value of this attribute
      */
-    T get();
+    E get();
 
 
     /**
@@ -146,7 +136,16 @@
      *
      * @return an enumeration of all values of the attribute
      */
-    Iterator<T> getAll();
+    Iterator<? extends E> getAll();
+
+
+   /**
+      * Retrieves the number of values in this attribute.
+      *
+      * @return the number of values in this attribute, including any values
+      * wrapping a null value if there is one
+      */
+    int size();
 
 
     /**
@@ -159,30 +158,31 @@
      * @param val the value to be removed
      * @return true if the value is removed, otherwise false
      */
-    boolean remove( T val );
+    boolean remove( E val );
 
 
     /**
-     * Indicates whether the specified value is one of the attribute's values.
+     * Removes a value that is equal to the given value.
+     * <p>
+     * Returns true if a value is removed. If there is no value equal to <code>
+     * val</code> this method simply returns false.
+     * </p>
      *
-     * @param val the value which may be null
-     * @return true if this attribute contains the value, otherwise false
+     * @param val the value to be removed
+     * @return true if the value is removed, otherwise false
      */
-    boolean contains( T val );
+    boolean remove( byte[] val );
 
 
     /**
-     * Adds a value to this attribute. If the new value is already present in
-     * the attribute values, the method has no effect.
-     * <p>
-     * The new value is added at the end of list of values.
-     * </p>
+     * Removes a value that is equal to the given value.
      * <p>
-     * This method returns true or false to indicate whether a value was added.
+     * Returns true if a value is removed. If there is no value equal to <code>
+     * val</code> this method simply returns false.
      * </p>
      *
-     * @param val a new value to be added which may be null
-     * @return true if a value was added, otherwise false
+     * @param val the value to be removed
+     * @return true if the value is removed, otherwise false
      */
-    boolean add( T val );
+    boolean remove( String val );
 }

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Modification.java Fri Dec 14 16:58:40 2007
@@ -27,7 +27,7 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface Modification<T extends EntryAttribute<?>>
+public interface Modification
 {
     /**
      *  @return the operation
@@ -54,7 +54,7 @@
     /**
      * @return the attribute containing the modifications
      */
-    T getAttribute();
+    EntryAttribute<? extends Value<?>> getAttribute();
     
     
     /**
@@ -62,5 +62,5 @@
      *
      * @param attribute The modified attribute 
      */
-    void setAttribute( T attribute );
+    void setAttribute( EntryAttribute<? extends Value<?>> attribute );
 }

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java Fri Dec 14 16:58:40 2007
@@ -29,6 +29,14 @@
  */
 public interface Value<T>
 {
+//    /**
+//     * Get the wrapped value.
+//     *
+//     * @return the wrapped value, as its original type (String,byte[],URI)
+//     */
+//    T get();
+
+
     /**
      * Sets the wrapped value.
      *
@@ -42,4 +50,5 @@
      * @return <code>true</code> if the inner value is null.
      */
     boolean isNull();
+    
 }

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ByteArrayComparator.java Fri Dec 14 16:58:40 2007
@@ -29,14 +29,14 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$
  */
-public class ByteArrayComparator implements Comparator<byte[]>
+public class ByteArrayComparator implements Comparator
 {
-    public static final Comparator<byte[]> INSTANCE = new ByteArrayComparator();
+    public static final ByteArrayComparator INSTANCE = new ByteArrayComparator();
 
     /* (non-Javadoc)
      * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
      */
-    public int compare( byte[] o1, byte[] o2 )
+    public int compare( Object o1, Object o2 )
     {
         byte[] b1 = ( byte[] ) o1;
         byte[] b2 = ( byte[] ) o2;
@@ -73,7 +73,6 @@
         }
         
         int minLength = Math.min( b1.length, b2.length );
-        
         for ( int ii = 0; ii < minLength; ii++ )
         {
             if ( b1[ii] > b2[ii] )

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/MatchingRule.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/MatchingRule.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/MatchingRule.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/schema/MatchingRule.java Fri Dec 14 16:58:40 2007
@@ -95,7 +95,7 @@
      * @throws NamingException
      *             if there is a failure resolving the object
      */
-    Comparator<?> getComparator() throws NamingException;
+    Comparator getComparator() throws NamingException;
 
 
     /**

Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java?rev=604361&r1=604360&r2=604361&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java (original)
+++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java Fri Dec 14 16:58:40 2007
@@ -2636,20 +2636,6 @@
        assertEquals( "cn=\\ Kylie Minogue\\ ,dc=example,dc=com", dn.toString() );
    }
 
-   
-   /**
-    * Test for DIRSTUDIO-250
-    * @throws NamingException
-    */
-   public void testDoubleQuoteWithSpecialCharsInNameDIRSERVER_250() throws NamingException
-   {
-       LdapDN dn = new LdapDN( "a=\"b,c\"" );
-
-       assertEquals( "a=\"b,c\"", dn.getUpName() );
-       assertEquals( "a=b\\,c", dn.toString() );
-   }
-
-
    /**
     * Test for DIRSERVER-184
     * @throws NamingException