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/07/08 14:45:09 UTC

svn commit: r961740 - in /directory: apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/ apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/ shared/trunk/ldap/src/main/java/org/apache/directory/shared/l...

Author: elecharny
Date: Thu Jul  8 12:45:09 2010
New Revision: 961740

URL: http://svn.apache.org/viewvc?rev=961740&view=rev
Log:
o Removed the unused methods isSibling, inferLdapName, isDescendant and hasCompositeComponents from the NamespaceTools class
o Fixed some Javadoc
o Using DN.isChild() instead of NamespaceTools.isDescendant()

Modified:
    directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java
    directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/NamespaceTools.java
    directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/util/NamespaceToolsTest.java

Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java?rev=961740&r1=961739&r2=961740&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java Thu Jul  8 12:45:09 2010
@@ -69,15 +69,12 @@ public class SubtreeEvaluator
     public boolean evaluate( SubtreeSpecification subtree, DN apDn, DN entryDn, Entry entry )
         throws LdapException
     {
-        // TODO: Try to make this cast unnecessary.
-        DN dnEntryDn = (DN) entryDn;
-        
         /* =====================================================================
          * NOTE: Regarding the overall approach, we try to narrow down the
          * possibilities by slowly pruning relative names off of the entryDn.
          * For example we check first if the entry is a descendant of the AP.
          * If so we use the relative name thereafter to calculate if it is
-         * a descendant of the base.  This means shorter names to compare and
+         * a descendant of the base. This means shorter names to compare and
          * less work to do while we continue to deduce inclusion by the subtree
          * specification.
          * =====================================================================
@@ -90,7 +87,7 @@ public class SubtreeEvaluator
          */
         DN apRelativeRdn;
         
-        if ( !NamespaceTools.isDescendant( apDn, entryDn ) )
+        if ( !entryDn.isChildOf( apDn ) )
         {
             return false;
         }
@@ -119,7 +116,7 @@ public class SubtreeEvaluator
         {
             baseRelativeRdn = new DN();
         }
-        else if ( !NamespaceTools.isDescendant( subtree.getBase(), apRelativeRdn ) )
+        else if ( !apRelativeRdn.isChildOf( subtree.getBase() ) )
         {
             return false;
         }
@@ -160,7 +157,7 @@ public class SubtreeEvaluator
         {
             DN chopBefore = list.next();
             
-            if ( NamespaceTools.isDescendant( chopBefore, baseRelativeRdn ) )
+            if ( baseRelativeRdn.isChildOf( chopBefore ) )
             {
                 return false;
             }
@@ -172,7 +169,7 @@ public class SubtreeEvaluator
         {
             DN chopAfter = ( DN ) list.next();
             
-            if ( NamespaceTools.isDescendant( chopAfter, baseRelativeRdn ) && !chopAfter.equals( baseRelativeRdn ) )
+            if ( baseRelativeRdn.isChildOf( chopAfter ) && !chopAfter.equals( baseRelativeRdn ) )
             {
                 return false;
             }
@@ -185,7 +182,7 @@ public class SubtreeEvaluator
          */
         if ( subtree.getRefinement() != null )
         {
-            return evaluator.evaluate( subtree.getRefinement(), dnEntryDn, entry );
+            return evaluator.evaluate( subtree.getRefinement(), entryDn, entry );
         }
 
         /*

Modified: directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java?rev=961740&r1=961739&r2=961740&view=diff
==============================================================================
--- directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java (original)
+++ directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java Thu Jul  8 12:45:09 2010
@@ -53,7 +53,6 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.schema.AttributeType;
 import org.apache.directory.shared.ldap.schema.MatchingRule;
 import org.apache.directory.shared.ldap.schema.SchemaManager;
-import org.apache.directory.shared.ldap.util.NamespaceTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -1780,7 +1779,7 @@ public abstract class AbstractStore<E, I
          */
         while ( !ancestorDn.equals( suffixDn ) && null != ancestorId )
         {
-            if ( !NamespaceTools.isDescendant( ancestorDn, normalizedAliasTargetDn ) )
+            if ( !normalizedAliasTargetDn.isChildOf( ancestorDn ) )
             {
                 subAliasIdx.add( ancestorId, targetId );
             }

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java?rev=961740&r1=961739&r2=961740&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java Thu Jul  8 12:45:09 2010
@@ -653,7 +653,7 @@ public class DN implements Cloneable, Se
 
     /**
      * Tells if a DN is a child of another DN.<br>
-     * For instance, <b>dc=example, dc=com</b> is a child
+     * For instance, <b>dc=example, dc=apache, dc=com</b> is a child
      * of <b>dc=com</b>
      * 
      * @param dn The parent

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/NamespaceTools.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/NamespaceTools.java?rev=961740&r1=961739&r2=961740&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/NamespaceTools.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/NamespaceTools.java Thu Jul  8 12:45:09 2010
@@ -67,39 +67,6 @@ public class NamespaceTools
 
 
     /**
-     * Checks to see if two names are siblings.
-     * 
-     * @param name1 the first name
-     * @param name2 the second name
-     * @return true if the names are siblings, false otherwise.
-     */
-    public static boolean isSibling( DN name1, DN name2 ) throws LdapInvalidDnException
-    {
-        if ( name1.size() == name2.size() )
-        {
-            DN parentDn = ( DN ) name1.clone();
-            parentDn.remove( name1.size() - 1 );
-            return name2.isChildOf( parentDn );
-        }
-
-        return false;
-    }
-
-
-    /**
-     * Tests to see if a candidate entry is a descendant of a base.
-     * 
-     * @param ancestor the base ancestor
-     * @param descendant the candidate to test for descendancy
-     * @return true if the candidate is a descendant
-     */
-    public static boolean isDescendant( DN ancestor, DN descendant )
-    {
-        return descendant.isChildOf( ancestor );
-    }
-
-
-    /**
      * Gets the relative name between an ancestor and a potential descendant.
      * Both name arguments must be normalized. The returned name is also
      * normalized.
@@ -135,42 +102,6 @@ public class NamespaceTools
 
 
     /**
-     * Uses the algorithm in <a href="http://www.faqs.org/rfcs/rfc2247.html">RFC
-     * 2247</a> to infer an LDAP name from a Kerberos realm name or a DNS
-     * domain name.
-     * 
-     * @param realm the realm or domain name
-     * @return the LDAP name for the realm or domain
-     */
-    public static String inferLdapName( String realm )
-    {
-        if ( StringTools.isEmpty( realm ) )
-        {
-            return "";
-        }
-
-        StringBuffer buf = new StringBuffer( realm.length() );
-        buf.append( "dc=" );
-
-        int start = 0, end = 0;
-
-        // Replace all the '.' by ",dc=". The comma is added because
-        // the string is not supposed to start with a dot, so another
-        // dc=XXXX already exists in any cases.
-        // The realm is also not supposed to finish with a '.'
-        while ( ( end = realm.indexOf( '.', start ) ) != -1 )
-        {
-            buf.append( realm.substring( start, end ) ).append( ",dc=" );
-            start = end + 1;
-
-        }
-
-        buf.append( realm.substring( start ) );
-        return buf.toString();
-    }
-
-
-    /**
      * Gets the '+' appended components of a composite name component.
      * 
      * @param compositeNameComponent a single name component not a whole name
@@ -229,32 +160,4 @@ public class NamespaceTools
 
         return comps.toArray( EMPTY_STRING_ARRAY );
     }
-
-
-    /**
-     * Checks to see if a name has name complex name components in it.
-     * 
-     * @param name The name to check 
-     * @return <code>true</code> if the name has composite components
-     * @throws LdapInvalidDnException If the name is invalid
-     */
-    public static boolean hasCompositeComponents( String name ) throws LdapInvalidDnException
-    {
-        for ( int ii = name.length() - 1; ii >= 0; ii-- )
-        {
-            if ( name.charAt( ii ) == '+' )
-            {
-                if ( ii == 0 )
-                {
-                    throw new LdapInvalidDnException( I18n.err( I18n.ERR_04418, name ) );
-                }
-                if ( name.charAt( ii - 1 ) != '\\' )
-                {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
 }

Modified: directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/util/NamespaceToolsTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/util/NamespaceToolsTest.java?rev=961740&r1=961739&r2=961740&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/util/NamespaceToolsTest.java (original)
+++ directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/util/NamespaceToolsTest.java Thu Jul  8 12:45:09 2010
@@ -21,8 +21,6 @@ package org.apache.directory.shared.ldap
 
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 
 import org.apache.directory.junit.tools.Concurrent;
 import org.apache.directory.junit.tools.ConcurrentJunitRunner;
@@ -42,51 +40,6 @@ import org.junit.runner.RunWith;
 public class NamespaceToolsTest
 {
     @Test
-    public void testNullRealm()
-    {
-        assertEquals( "", NamespaceTools.inferLdapName( null ) );
-    }
-
-
-    @Test
-    public void testEmptyRealm()
-    {
-        assertEquals( "", NamespaceTools.inferLdapName( "" ) );
-    }
-
-
-    @Test
-    public void testSingleElemRealm()
-    {
-        assertEquals( "dc=test", NamespaceTools.inferLdapName( "test" ) );
-    }
-
-
-    @Test
-    public void testTwoElemsRealm()
-    {
-        assertEquals( "dc=test,dc=com", NamespaceTools.inferLdapName( "test.com" ) );
-    }
-
-
-    @Test
-    public void testFullRealm()
-    {
-        assertEquals( "dc=CS,dc=UCL,dc=AC,dc=UK", NamespaceTools.inferLdapName( "CS.UCL.AC.UK" ) );
-    }
-
-
-    @Test
-    public void testHasCompositeComponents() throws LdapException
-    {
-        assertTrue( NamespaceTools.hasCompositeComponents( "givenName=Alex+sn=Karasulu" ) );
-        assertTrue( NamespaceTools.hasCompositeComponents( "givenName=Alex+sn=Karasulu+age=13" ) );
-        assertFalse( NamespaceTools.hasCompositeComponents( "cn=One\\+Two" ) );
-        assertFalse( NamespaceTools.hasCompositeComponents( "cn=Alex" ) );
-    }
-
-
-    @Test
     public void testGetCompositeComponents() throws LdapException
     {
         String[] args = NamespaceTools.getCompositeComponents( "givenName=Alex+sn=Karasulu" );