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 2005/08/21 17:32:51 UTC

svn commit: r234243 - in /directory/shared/ldap/trunk/common/src: antlr/ java/org/apache/ldap/common/subtree/ test/org/apache/ldap/common/subtree/

Author: akarasulu
Date: Sun Aug 21 08:32:46 2005
New Revision: 234243

URL: http://svn.apache.org/viewcvs?rev=234243&view=rev
Log:
changes: for http://issues.apache.org/jira/browse/DIRLDAP-48

 o changed SS to use a Name for the base instead of a string
 o fixed the type change on BaseSS impl
 o fixed modifier with type change on base property
 o fixed parser with changes to base property
 o fixed test cases which now test for the base properly as a Name


Modified:
    directory/shared/ldap/trunk/common/src/antlr/subtree-specification.g
    directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/BaseSubtreeSpecification.java
    directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecification.java
    directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecificationModifier.java
    directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/subtree/SubtreeParserTest.java

Modified: directory/shared/ldap/trunk/common/src/antlr/subtree-specification.g
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/antlr/subtree-specification.g?rev=234243&r1=234242&r2=234243&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/antlr/subtree-specification.g (original)
+++ directory/shared/ldap/trunk/common/src/antlr/subtree-specification.g Sun Aug 21 08:32:46 2005
@@ -23,6 +23,8 @@
 package org.apache.ldap.common.subtree;
 
 
+import javax.naming.Name;
+import javax.naming.NamingException;
 import org.apache.ldap.common.name.LdapName;
 
 }
@@ -58,8 +60,14 @@
         BASE rdn:LOCALNAME
         {
             String quoted = rdn.getText();
-
-            modifier.setBase( quoted.substring( 1, quoted.length() - 1 ) );
+            try
+            {
+                modifier.setBase( new LdapName( quoted.substring( 1, quoted.length() - 1 ) ) );
+            }
+            catch ( NamingException e )
+            {
+                throw new RecognitionException( "LdapName parse failed on base." );
+            }
         }
     )?
     ( SP )*

Modified: directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/BaseSubtreeSpecification.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/BaseSubtreeSpecification.java?rev=234243&r1=234242&r2=234243&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/BaseSubtreeSpecification.java (original)
+++ directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/BaseSubtreeSpecification.java Sun Aug 21 08:32:46 2005
@@ -17,10 +17,12 @@
 package org.apache.ldap.common.subtree;
 
 
+import org.apache.ldap.common.name.LdapName;
 import org.apache.ldap.common.filter.ExprNode;
 
 import java.util.Set;
 import java.util.Collections;
+import javax.naming.Name;
 
 
 /**
@@ -35,7 +37,7 @@
     private final static String EMPTY = "";
 
     /** the subtree base relative to the administration point */
-    private final String base;
+    private final Name base;
 
     /** the set of subordinates entries and their subordinates to exclude */
     private final Set chopBefore;
@@ -65,7 +67,7 @@
      */
     public BaseSubtreeSpecification()
     {
-        this.base = "";
+        this.base = new LdapName();
 
         this.minBaseDistance = 0;
 
@@ -89,7 +91,7 @@
      */
     public BaseSubtreeSpecification( ExprNode refinement )
     {
-        this.base = EMPTY;
+        this.base = new LdapName();
 
         this.minBaseDistance = 0;
 
@@ -110,7 +112,7 @@
      *
      * @param base the base of the subtree relative to the administrative point
      */
-    public BaseSubtreeSpecification( String base )
+    public BaseSubtreeSpecification( Name base )
     {
         this.base = base;
 
@@ -136,7 +138,7 @@
      * @param chopAfter the set of subordinates entries whose subordinates are to be excluded
      * @param chopBefore the set of subordinates entries and their subordinates to exclude
      */
-    public BaseSubtreeSpecification( String base, int minBaseDistance, int maxBaseDistance,
+    public BaseSubtreeSpecification( Name base, int minBaseDistance, int maxBaseDistance,
                                      Set chopAfter, Set chopBefore )
     {
         this( base, minBaseDistance, maxBaseDistance, chopAfter, chopBefore, null );
@@ -156,7 +158,7 @@
      * @param refinement the filter expression only composed of objectClass attribute
      * value assertions
      */
-    public BaseSubtreeSpecification( String base, int minBaseDistance, int maxBaseDistance,
+    public BaseSubtreeSpecification( Name base, int minBaseDistance, int maxBaseDistance,
                                      Set chopAfter, Set chopBefore, ExprNode refinement )
     {
         this.base = base;
@@ -185,7 +187,7 @@
     // -----------------------------------------------------------------------
 
 
-    public String getBase()
+    public Name getBase()
     {
         return this.base;
     }

Modified: directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecification.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecification.java?rev=234243&r1=234242&r2=234243&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecification.java (original)
+++ directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecification.java Sun Aug 21 08:32:46 2005
@@ -20,6 +20,7 @@
 import org.apache.ldap.common.filter.ExprNode;
 
 import java.util.Set;
+import javax.naming.Name;
 
 
 /**
@@ -42,10 +43,11 @@
      * a subentry immediately subordinate to dc=apache,dc=org would be relative to
      * the dc=apache,dc=org context.
      *
-     * @return the RDN representing the base of the subtree, or the empty string
-     * name if the base is the administrative point
+     * @return the RDN representing the base of the subtree, or the empty name
+     * if the base is the administrative point - note that this Name is not 
+     * Normalized according to matchingRules. 
      */
-    String getBase();
+    Name getBase();
 
     /**
      * A set of RDNs relative to the base entry representing chopBefore
@@ -53,7 +55,8 @@
      * chopBefore form is used then the specified entry and its subordinates
      * are excluded from the subtree or subtree refinement."
      *
-     * @return a set of relative names to the subtree base or the empty set
+     * @return a set of relative {@link javax.naming.Name}s to the subtree 
+     * base or the empty set
      */
     Set getChopBeforeExclusions();
 
@@ -63,7 +66,8 @@
      * chopAfter form is used then only the subordinates of the specified
      * entry are excluded from the subtree or subtree refinement."
      *
-     * @return a set of relative names to the subtree base or the empty set
+     * @return a set of relative {@link javax.naming.Name}s to the subtree 
+     * base or the empty set
      */
     Set getChopAfterExclusions();
 

Modified: directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecificationModifier.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecificationModifier.java?rev=234243&r1=234242&r2=234243&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecificationModifier.java (original)
+++ directory/shared/ldap/trunk/common/src/java/org/apache/ldap/common/subtree/SubtreeSpecificationModifier.java Sun Aug 21 08:32:46 2005
@@ -17,10 +17,12 @@
 package org.apache.ldap.common.subtree;
 
 
+import org.apache.ldap.common.name.LdapName;
 import org.apache.ldap.common.filter.ExprNode;
 
 import java.util.Set;
 import java.util.Collections;
+import javax.naming.Name;
 
 
 /**
@@ -36,7 +38,7 @@
     private final static String EMPTY = "";
 
     /** the subtree base relative to the administration point */
-    private String base = EMPTY;
+    private Name base = new LdapName();
 
     /** the set of subordinates entries and their subordinates to exclude */
     private Set chopBefore = Collections.EMPTY_SET;
@@ -84,7 +86,7 @@
      *
      * @param base subtree base relative to the administration point
      */
-    public void setBase( String base )
+    public void setBase( Name base )
     {
         this.base = base;
     }

Modified: directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/subtree/SubtreeParserTest.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/subtree/SubtreeParserTest.java?rev=234243&r1=234242&r2=234243&view=diff
==============================================================================
--- directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/subtree/SubtreeParserTest.java (original)
+++ directory/shared/ldap/trunk/common/src/test/org/apache/ldap/common/subtree/SubtreeParserTest.java Sun Aug 21 08:32:46 2005
@@ -24,6 +24,8 @@
 import antlr.TokenStreamException;
 import antlr.RecognitionException;
 
+import org.apache.ldap.common.name.LdapName;
+
 
 /**
  * Tests the SubtreeSpecification parser.
@@ -78,7 +80,7 @@
     {
         SubtreeSpecification spec = parse( EMPTY_SPEC );
 
-        assertEquals( "", spec.getBase().toString() );
+        assertTrue( spec.getBase().isEmpty() );
 
         assertTrue( spec.getChopAfterExclusions().isEmpty() );
 
@@ -101,7 +103,7 @@
     {
         SubtreeSpecification spec = parse( EMPTY_SPEC_SP );
 
-        assertEquals( "", spec.getBase() );
+        assertEquals( new LdapName(), spec.getBase() );
 
         assertTrue( spec.getChopAfterExclusions().isEmpty() );
 
@@ -124,7 +126,7 @@
     {
         SubtreeSpecification spec = parse( SPEC_BASE );
 
-        assertEquals( "ou=system", spec.getBase() );
+        assertEquals( new LdapName( "ou=system" ), spec.getBase() );
 
         assertTrue( spec.getChopAfterExclusions().isEmpty() );