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 2009/11/22 23:28:11 UTC

svn commit: r883160 - /directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/

Author: elecharny
Date: Sun Nov 22 22:28:10 2009
New Revision: 883160

URL: http://svn.apache.org/viewvc?rev=883160&view=rev
Log:
o Comparator constructor now can have an OID as a parameter
o Removed the INSTANCE elements
o Renamed the NameAndOptionalOIDComparator to UniqueMemberComparator

Added:
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UniqueMemberComparator.java
      - copied, changed from r882556, directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameOrNumericIdComparator.java
Removed:
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameAndOptionalUIDComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameOrNumericIdComparator.java
Modified:
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/BooleanComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ByteArrayComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ComparableComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnSidComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimCachingNormalizingComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimToLowerCachingNormalizingComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DnComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/IntegerOrderingComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/LongComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NormalizingComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectClassTypeComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierFirstComponentComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/SerializableComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/StringComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/TelephoneNumberComparator.java
    directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UUIDComparator.java

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/BooleanComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/BooleanComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/BooleanComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/BooleanComparator.java Sun Nov 22 22:28:10 2009
@@ -19,9 +19,6 @@
  */
 package org.apache.directory.shared.ldap.schema.comparators;
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,16 +38,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new BooleanComparator();
-
     /**
      * The BooleanComparator constructor. Its OID is the BooleanMatch matching
      * rule OID.
      */
-    public BooleanComparator()
+    public BooleanComparator( String oid )
     {
-        super( SchemaConstants.BOOLEAN_MATCH_MR_OID );
+        super( oid );
     }
 
     /**

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ByteArrayComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ByteArrayComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ByteArrayComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ByteArrayComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
@@ -43,16 +40,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<byte[]> INSTANCE = new ByteArrayComparator();
-
     /**
      * The ByteArrayComparator constructor. Its OID is the OctetStringMatch matching
      * rule OID.
      */
-    public ByteArrayComparator()
+    public ByteArrayComparator( String oid )
     {
-        super( SchemaConstants.OCTET_STRING_MATCH_MR_OID );
+        super( oid );
     }
 
     /**

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ComparableComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ComparableComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ComparableComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ComparableComparator.java Sun Nov 22 22:28:10 2009
@@ -42,15 +42,6 @@
     private static final long serialVersionUID = 1L;
 
     /**
-     * The ComparableComparator constructor. The OID has to be created later.
-     */
-    public ComparableComparator()
-    {
-        super( null );
-    }
-
-    
-    /**
      * The BooleanComparator constructor. Its OID is the BooleanMatch matching
      * rule OID.
      */

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.csn.Csn;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
@@ -49,17 +46,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new CsnComparator();
-    
-    
     /**
      * The CsnComparator constructor. Its OID is the CsnMatch matching
      * rule OID.
      */
-    public CsnComparator()
+    public CsnComparator( String oid )
     {
-        super( SchemaConstants.CSN_MATCH_MR_OID );
+        super( oid );
     }
 
 

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnSidComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnSidComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnSidComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/CsnSidComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -44,17 +41,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new CsnSidComparator();
-    
-    
     /**
      * The CsnSidComparator constructor. Its OID is the CsnSidMatch matching
      * rule OID.
      */
-    public CsnSidComparator()
+    public CsnSidComparator( String oid )
     {
-        super( SchemaConstants.CSN_SID_MATCH_MR_OID );
+        super( oid );
     }
     
     

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimCachingNormalizingComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimCachingNormalizingComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimCachingNormalizingComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimCachingNormalizingComparator.java Sun Nov 22 22:28:10 2009
@@ -35,9 +35,9 @@
     private static final long serialVersionUID = -3462901701103045845L;
 
     
-    public DeepTrimCachingNormalizingComparator()
+    public DeepTrimCachingNormalizingComparator( String oid )
     {
-        super( new CachingNormalizer( new DeepTrimNormalizer(), 10 ), 
-            new ComparableComparator() );
+        super( oid, new CachingNormalizer( new DeepTrimNormalizer( oid ), 10 ), 
+            new ComparableComparator( oid ) );
     }
 }

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimToLowerCachingNormalizingComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimToLowerCachingNormalizingComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimToLowerCachingNormalizingComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DeepTrimToLowerCachingNormalizingComparator.java Sun Nov 22 22:28:10 2009
@@ -20,6 +20,7 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
+import org.apache.directory.shared.ldap.schema.SchemaManager;
 import org.apache.directory.shared.ldap.schema.normalizers.CachingNormalizer;
 import org.apache.directory.shared.ldap.schema.normalizers.DeepTrimToLowerNormalizer;
 
@@ -35,9 +36,20 @@
     private static final long serialVersionUID = -3462901701103045845L;
 
     
-    public DeepTrimToLowerCachingNormalizingComparator()
+    public DeepTrimToLowerCachingNormalizingComparator( String oid )
     {
-        super( new CachingNormalizer( new DeepTrimToLowerNormalizer(), 10 ), 
-            new ComparableComparator() );
+        super( oid, new CachingNormalizer( new DeepTrimToLowerNormalizer( oid ), 10 ), 
+            new ComparableComparator( oid ) );
     }
+    
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void setSchemaManager( SchemaManager schemaManager )
+    {
+        super.setSchemaManager( schemaManager );
+    }
+    
 }

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DnComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DnComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DnComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/DnComparator.java Sun Nov 22 22:28:10 2009
@@ -25,6 +25,7 @@
 
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
 
 
 /**
@@ -35,11 +36,18 @@
  */
 public class DnComparator extends LdapComparator<Object>
 {
-    public DnComparator()
+    /** A reference to the schema manager */ 
+    private transient SchemaManager schemaManager;
+    
+    public DnComparator( String oid )
     {
+        super( oid );
     }
     
     
+    /**
+     * {@inheritDoc}
+     */
     public int compare( Object obj0, Object obj1 ) 
     {
         LdapDN dn0 = null;
@@ -88,4 +96,13 @@
         
         return dn;
     }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void setSchemaManager( SchemaManager schemaManager )
+    {
+        this.schemaManager = schemaManager;
+    }
 }

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/IntegerOrderingComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/IntegerOrderingComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/IntegerOrderingComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/IntegerOrderingComparator.java Sun Nov 22 22:28:10 2009
@@ -20,11 +20,7 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
-import org.apache.directory.shared.ldap.schema.SchemaManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,17 +38,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new IntegerOrderingComparator();
-    
-
     /**
      * The IntegerOrderingComparator constructor. Its OID is the IntegerOrderingMatch matching
      * rule OID.
      */
-    public IntegerOrderingComparator()
+    public IntegerOrderingComparator( String oid )
     {
-        super( SchemaConstants.INTEGER_ORDERING_MATCH_MR_OID );
+        super( oid );
     }
 
     
@@ -97,15 +89,4 @@
         // are dealing with booleans.
         return ( b1 > b2 ? 1 : -1 );
     }
-    
-    
-    /**
-     * Sets the SchemaManager
-     * 
-     * @param schemaManager The SchemaManager
-     */
-    public void setSchemaManager( SchemaManager schemaManager )
-    {
-        super.setSchemaManager( schemaManager ); 
-    }
 }

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/LongComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/LongComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/LongComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/LongComparator.java Sun Nov 22 22:28:10 2009
@@ -31,13 +31,19 @@
  */
 public class LongComparator extends LdapComparator<Long>
 {
-    /** A instance of this comparator */
-    public static final LongComparator INSTANCE = new LongComparator();
-
     /**
      * Version id for serialization.
      */
     static final long serialVersionUID = 1L;
+    
+    /**
+     * The LongComparator constructor. Its OID is the IntegerOrderingMatch matching
+     * rule OID.
+     */
+    public LongComparator( String oid )
+    {
+        super( oid );
+    }
 
 
     /**

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NormalizingComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NormalizingComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NormalizingComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NormalizingComparator.java Sun Nov 22 22:28:10 2009
@@ -20,12 +20,12 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator; 
+import java.util.Comparator;
+
 import javax.naming.NamingException;
 
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.apache.directory.shared.ldap.schema.Normalizer;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -37,7 +37,7 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$
  */
-public class NormalizingComparator extends LdapComparator<String>
+/* no qualifier*/ class NormalizingComparator extends LdapComparator<String>
 {
     /** A logger for this class */
     private static final Logger LOG = LoggerFactory.getLogger( NormalizingComparator.class );
@@ -58,8 +58,9 @@
      * @param normalizer the Normalizer to normalize values with before comparing
      * @param comparator the underlying comparator to use for comparisons
      */
-    public NormalizingComparator( Normalizer normalizer, LdapComparator<String> comparator )
+    public NormalizingComparator( String oid, Normalizer normalizer, LdapComparator<String> comparator )
     {
+        super( oid );
         this.normalizer = normalizer;
         this.comparator = comparator;
     }

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectClassTypeComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectClassTypeComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectClassTypeComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectClassTypeComparator.java Sun Nov 22 22:28:10 2009
@@ -20,6 +20,11 @@
     private static final long serialVersionUID = 1L;
 
     
+    public ObjectClassTypeComparator( String oid )
+    {
+        super( oid );
+    }
+    
     public int compare( T o1, T o2 )
     {
         String s1 = getString( o1 );

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,18 +39,14 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-
-    /** A static instance of this comparator */
-    public static final Comparator<Object> INSTANCE = new ObjectIdentifierComparator();
-    
     
     /**
      * The ObjectIdentifierComparator constructor. Its OID is the ObjectIdentifierMatch matching
      * rule OID.
      */
-    public ObjectIdentifierComparator()
+    public ObjectIdentifierComparator( String oid )
     {
-        super( SchemaConstants.OBJECT_IDENTIFIER_MATCH_MR_OID );
+        super( oid );
     }
 
     

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierFirstComponentComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierFirstComponentComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierFirstComponentComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/ObjectIdentifierFirstComponentComparator.java Sun Nov 22 22:28:10 2009
@@ -20,10 +20,7 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
 import org.apache.directory.shared.asn1.primitives.OID;
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
@@ -44,17 +41,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new ObjectIdentifierFirstComponentComparator();
-    
-    
     /**
      * The ObjectIdentifierFirstComponentComparator constructor. Its OID is the 
      * ObjectIdentifierFirstComponentMatch matching rule OID.
      */
-    public ObjectIdentifierFirstComponentComparator()
+    public ObjectIdentifierFirstComponentComparator( String oid )
     {
-        super( SchemaConstants.OBJECT_IDENTIFIER_FIRST_COMPONENT_MATCH_MR_OID );
+        super( oid );
     }
 
     

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/SerializableComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/SerializableComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/SerializableComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/SerializableComparator.java Sun Nov 22 22:28:10 2009
@@ -45,12 +45,16 @@
     
     /** the transient wrapped comparator */
     private transient Comparator<E> wrapped;
+
+    /** A reference to the schema manager */ 
+    private transient SchemaManager schemaManager;
     
     // ------------------------------------------------------------------------
     // C O N T R U C T O R S
     // ------------------------------------------------------------------------
     public SerializableComparator( String matchingRuleOid )
     {
+        super( matchingRuleOid );
         this.matchingRuleOid = matchingRuleOid;
     }
 

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/StringComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/StringComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/StringComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/StringComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,16 +39,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new StringComparator();
-
     /**
      * The StringComparator constructor. Its OID is the StringMatch matching
      * rule OID.
      */
-    public StringComparator()
+    public StringComparator( String oid )
     {
-        super( SchemaConstants.CASE_EXACT_MATCH_MR_OID );
+        super( oid );
     }
 
     /**

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/TelephoneNumberComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/TelephoneNumberComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/TelephoneNumberComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/TelephoneNumberComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -45,17 +42,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<String> INSTANCE = new TelephoneNumberComparator();
-    
-    
     /**
      * The TelephoneNumberComparator constructor. Its OID is the TelephoneNumberMatch matching
      * rule OID.
      */
-    public TelephoneNumberComparator()
+    public TelephoneNumberComparator( String oid )
     {
-        super( SchemaConstants.TELEPHONE_NUMBER_MATCH_MR_OID );
+        super( oid );
     }
 
     

Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UUIDComparator.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UUIDComparator.java?rev=883160&r1=883159&r2=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UUIDComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UUIDComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,6 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import java.util.Comparator;
-
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.schema.LdapComparator;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
@@ -43,17 +40,13 @@
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A static instance of this comparator */
-    public static final Comparator<byte[]> INSTANCE = new UUIDComparator();
-    
-    
     /**
      * The UUIDComparator constructor. Its OID is the UUIDMatch matching
      * rule OID.
      */
-    public UUIDComparator()
+    public UUIDComparator( String oid )
     {
-        super( SchemaConstants.UUID_MATCH_MR_OID );
+        super( oid );
     }
 
     

Copied: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UniqueMemberComparator.java (from r882556, directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameOrNumericIdComparator.java)
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UniqueMemberComparator.java?p2=directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UniqueMemberComparator.java&p1=directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameOrNumericIdComparator.java&r1=882556&r2=883160&rev=883160&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/NameOrNumericIdComparator.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/comparators/UniqueMemberComparator.java Sun Nov 22 22:28:10 2009
@@ -20,9 +20,10 @@
 package org.apache.directory.shared.ldap.schema.comparators;
 
 
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
+import javax.naming.NamingException;
+
 import org.apache.directory.shared.ldap.schema.LdapComparator;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,36 +37,25 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$
  */
-public class NameOrNumericIdComparator extends LdapComparator<String>
+public class UniqueMemberComparator extends LdapComparator<String>
 {
     /** A logger for this class */
-    private static final Logger LOG = LoggerFactory.getLogger( NameOrNumericIdComparator.class );
+    private static final Logger LOG = LoggerFactory.getLogger( UniqueMemberComparator.class );
 
     /** The serialVersionUID */
     private static final long serialVersionUID = 1L;
 
-    /** A reference to the global registries */ 
-    private transient Registries registries;
+    /** A reference to the schema manager */ 
+    private transient SchemaManager schemaManager;
 
     
     /**
      * The IntegerOrderingComparator constructor. Its OID is the IntegerOrderingMatch matching
      * rule OID.
      */
-    public NameOrNumericIdComparator( Registries registries )
-    {
-        super( SchemaConstants.NAME_OR_NUMERIC_ID_MATCH_OID );
-        this.registries = registries;
-    }
-    
-    
-    /**
-     * The IntegerOrderingComparator constructor. Its OID is the IntegerOrderingMatch matching
-     * rule OID.
-     */
-    public NameOrNumericIdComparator()
+    public UniqueMemberComparator( String oid )
     {
-        super( SchemaConstants.NAME_OR_NUMERIC_ID_MATCH_OID );
+        super( oid );
     }
     
     
@@ -94,15 +84,18 @@
         
         return s1.compareTo( s2 );
     }
-    
-    
-    public void setRegistries( Registries registries )
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void setSchemaManager( SchemaManager schemaManager )
     {
-        this.registries = registries;
+        this.schemaManager = schemaManager;
     }
+
     
-    
-    String getNumericIdString( Object obj )
+    private String getNumericIdString( Object obj )
     {
         String strValue;
 
@@ -129,7 +122,96 @@
             return "";
         }
 
-        String oid = registries.getOid( strValue );
+        String oid = null;
+        
+        // First check in the global OID
+        if ( schemaManager.getOidRegistry().hasOid( oid ) )
+        {
+            oid = strValue;
+        }
+        else
+        {
+            // Now check in all the registries
+            // The AttributeType registry
+            try
+            {
+                oid = schemaManager.getAttributeTypeRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The DITContentRule registry
+            try
+            {
+                oid = schemaManager.getDITContentRuleRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The DITStructureRule registry
+            try
+            {
+                oid = schemaManager.getDITStructureRuleRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+        
+            // The MatchingRule registry
+            try
+            {
+                oid = schemaManager.getMatchingRuleRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The MatchingRuleUse registry
+            try
+            {
+                oid = schemaManager.getMatchingRuleUseRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The NameForm registry
+            try
+            {
+                oid = schemaManager.getNameFormRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The ObjectClass registry
+            try
+            {
+                oid = schemaManager.getObjectClassRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+
+            // The Syntax registry
+            try
+            {
+                oid = schemaManager.getLdapSyntaxRegistry().getOidByName( strValue );
+            }
+            catch ( NamingException ne )
+            {
+                // Not found...
+            }
+        }
         
         if ( oid != null )
         {