ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/comparators/DnComparator.java [92:167]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dn dn0 = null;
        Dn dn1 = null;

        try
        {
            dn0 = getDn( obj0 );
            dn1 = getDn( obj1 );
        }
        catch ( LdapException e )
        {
            // -- what do we do here ?
            return -1;
        }

        int dn0Size = dn0.getRdns().size();
        int dn1Size = dn1.getRdns().size();
        
        // check the equality first, cause
        // when both DNs are equal checking isAncestorOf() returns true
        if ( dn0.equals( dn1 ) )
        {
            return 0;
        }
        else if ( dn0Size > dn1Size )
        {
            return -1;
        }
        else if ( dn1Size > dn0Size )
        {
            return 1;
        }

        for ( int i = dn0Size - 1; i >= 0; i-- )
        {
            int comp = dn0.getRdn( i ).compareTo( dn1.getRdn( i ) );
            
            if ( comp != 0 )
            {
                return comp;
            }
        }
        
        return 0;
    }


    private Dn getDn( Object obj ) throws LdapInvalidDnException
    {
        Dn dn;

        if ( obj instanceof Dn )
        {
            dn = ( Dn ) obj;

            dn = dn.isSchemaAware() ? dn : new Dn( schemaManager, dn );
        }
        else if ( obj instanceof String )
        {
            dn = new Dn( schemaManager, ( String ) obj );
        }
        else
        {
            throw new IllegalStateException( I18n.err( I18n.ERR_13720_CANNOT_HANDLE_DN_COMPARISONS, obj == null ? null : obj.getClass() ) );
        }

        return dn;
    }


    /**
     * {@inheritDoc}
     */
    @Override
    public void setSchemaManager( SchemaManager schemaManager )
    {
        this.schemaManager = schemaManager;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/comparators/ParsedDnComparator.java [61:136]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        Dn dn0 = null;
        Dn dn1 = null;

        try
        {
            dn0 = getDn( obj0 );
            dn1 = getDn( obj1 );
        }
        catch ( LdapException e )
        {
            // -- what do we do here ?
            return -1;
        }

        int dn0Size = dn0.getRdns().size();
        int dn1Size = dn1.getRdns().size();
        
        // check the equality first, cause
        // when both DNs are equal checking isAncestorOf() returns true
        if ( dn0.equals( dn1 ) )
        {
            return 0;
        }
        else if ( dn0Size > dn1Size )
        {
            return -1;
        }
        else if ( dn1Size > dn0Size )
        {
            return 1;
        }

        for ( int i = dn0Size - 1; i >= 0; i-- )
        {
            int comp = dn0.getRdn( i ).compareTo( dn1.getRdn( i ) );
            
            if ( comp != 0 )
            {
                return comp;
            }
        }
        
        return 0;
    }


    private Dn getDn( Object obj ) throws LdapInvalidDnException
    {
        Dn dn;

        if ( obj instanceof Dn )
        {
            dn = ( Dn ) obj;

            dn = dn.isSchemaAware() ? dn : new Dn( schemaManager, dn );
        }
        else if ( obj instanceof String )
        {
            dn = new Dn( schemaManager, ( String ) obj );
        }
        else
        {
            throw new IllegalStateException( I18n.err( I18n.ERR_13720_CANNOT_HANDLE_DN_COMPARISONS, obj == null ? null : obj.getClass() ) );
        }

        return dn;
    }


    /**
     * {@inheritDoc}
     */
    @Override
    public void setSchemaManager( SchemaManager schemaManager )
    {
        this.schemaManager = schemaManager;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



