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/03/23 17:56:02 UTC
svn commit: r926660 - in /directory:
apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/
shared/trunk/ldap/src/main/antlr/
shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/
shared/trunk/ldap/src/main/java/...
Author: elecharny
Date: Tue Mar 23 16:56:02 2010
New Revision: 926660
URL: http://svn.apache.org/viewvc?rev=926660&view=rev
Log:
o Removed the DN.getAll() method
o Fixed a class cast issue
Modified:
directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
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/tree/DnBranchNode.java
directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java
Modified: directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java?rev=926660&r1=926659&r2=926660&view=diff
==============================================================================
--- directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java (original)
+++ directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java Tue Mar 23 16:56:02 2010
@@ -235,14 +235,7 @@ public abstract class ServerDirContext e
try
{
- if ( name instanceof DN )
- {
- doModifyOperation( buildTarget( (DN)name ), newMods );
- }
- else
- {
- doModifyOperation( buildTarget( DN.fromName( name ) ), newMods );
- }
+ doModifyOperation( buildTarget( DN.fromName( name ) ), newMods );
}
catch( Exception e )
{
@@ -776,7 +769,7 @@ public abstract class ServerDirContext e
try
{
EntryFilteringCursor cursor = doSearchOperation( target, aliasDerefMode, node, ctls );
- return new NamingEnumerationAdapter ( cursor );
+ return new NamingEnumerationAdapter( cursor );
}
catch ( Exception e )
{
Modified: directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/antlr/ACIItem.g?rev=926660&r1=926659&r2=926660&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/antlr/ACIItem.g (original)
+++ directory/shared/trunk/ldap/src/main/antlr/ACIItem.g Tue Mar 23 16:56:02 2010
@@ -52,6 +52,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.util.NoDuplicateKeysMap;
import org.apache.directory.shared.ldap.util.OptionalComponentsMonitor;
import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.name.RDN;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.constants.AuthenticationLevel;
import org.apache.directory.shared.ldap.schema.normalizers.OidNormalizer;
@@ -501,11 +502,9 @@ attributeValue
attributeTypeAndValueSetAsDn.normalize( oidsMap );
}
- Enumeration attributeTypeAndValueSet = attributeTypeAndValueSetAsDn.getAll();
-
- while ( attributeTypeAndValueSet.hasMoreElements() )
+ for ( RDN rdn :attributeTypeAndValueSetAsDn.getRdns() )
{
- attributeTypeAndValue = ( String ) attributeTypeAndValueSet.nextElement();
+ attributeTypeAndValue = rdn.getNormName();
attributeType = NamespaceTools.getRdnAttribute( attributeTypeAndValue );
attributeValue = NamespaceTools.getRdnValue( attributeTypeAndValue );
attributeSet.add( new BasicAttribute( attributeType, attributeValue ) );
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=926660&r1=926659&r2=926660&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 Tue Mar 23 16:56:02 2010
@@ -821,45 +821,6 @@ public class DN implements Cloneable, Se
/**
- * @return The list of all the RDN for this DN, as Strings. This method
- * retruns a User Provided form of each RDN, not a normalized form.
- */
- public Enumeration<String> getAll()
- {
- /*
- * Note that by accessing the name component using the get() method on
- * the name rather than get() on the list we are reading components from
- * right to left with increasing index values. LdapName.get() does the
- * index translation on m_list for us.
- */
- return new Enumeration<String>()
- {
- private int pos;
-
-
- public boolean hasMoreElements()
- {
- return pos < rdns.size();
- }
-
-
- public String nextElement()
- {
- if ( pos >= rdns.size() )
- {
- LOG.error( I18n.err( I18n.ERR_04205 ) );
- throw new NoSuchElementException();
- }
-
- RDN rdn = rdns.get( rdns.size() - pos - 1 );
- pos++;
- return rdn.getNormName();
- }
- };
- }
-
-
- /**
* Retrieves the components of this name as an enumeration of strings. The
* effect on the enumeration of updates to this name is undefined. If the
* name has zero components, an empty (non-null) enumeration is returned.
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/tree/DnBranchNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/tree/DnBranchNode.java?rev=926660&r1=926659&r2=926660&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/tree/DnBranchNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/util/tree/DnBranchNode.java Tue Mar 23 16:56:02 2010
@@ -22,6 +22,7 @@ package org.apache.directory.shared.ldap
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.directory.shared.i18n.I18n;
@@ -189,7 +190,7 @@ public class DnBranchNode<N> implements
*/
public N getParentElement( DN dn )
{
- Enumeration<String> rdns = dn.getAll();
+ List<RDN> rdns = dn.getRdns();
// This is synchronized so that we can't read the
// partitionList when it is modified.
@@ -198,9 +199,9 @@ public class DnBranchNode<N> implements
DnNode<N> currentNode = this;
// Iterate through all the RDN until we find the associated partition
- while ( rdns.hasMoreElements() )
+ for ( int i = rdns.size() - 1; i >= 0; i-- )
{
- String rdn = rdns.nextElement();
+ String rdnStr = rdns.get( i ).getNormName();
if ( currentNode == null )
{
@@ -214,9 +215,9 @@ public class DnBranchNode<N> implements
DnBranchNode<N> currentBranch = ( DnBranchNode<N> ) currentNode;
- if ( currentBranch.contains( rdn ) )
+ if ( currentBranch.contains( rdnStr ) )
{
- currentNode = currentBranch.getChild( rdn );
+ currentNode = currentBranch.getChild( rdnStr );
if ( currentNode instanceof DnLeafNode )
{
@@ -241,7 +242,7 @@ public class DnBranchNode<N> implements
*/
public boolean hasParentElement( DN dn )
{
- Enumeration<RDN> rdns = dn.getAllRdn();
+ List<RDN> rdns = dn.getRdns();
// This is synchronized so that we can't read the
// partitionList when it is modified.
@@ -250,9 +251,9 @@ public class DnBranchNode<N> implements
DnNode<N> currentNode = this;
// Iterate through all the RDN until we find the associated partition
- while ( rdns.hasMoreElements() )
+ for ( int i = rdns.size() - 1; i >= 0; i-- )
{
- RDN rdn = rdns.nextElement();
+ String rdnStr = rdns.get( i ).getNormName();
if ( currentNode == null )
{
@@ -266,9 +267,9 @@ public class DnBranchNode<N> implements
DnBranchNode<N> currentBranch = ( DnBranchNode<N> ) currentNode;
- if ( currentBranch.contains( rdn.getNormName() ) )
+ if ( currentBranch.contains( rdnStr ) )
{
- currentNode = currentBranch.getChild( rdn.getNormName() );
+ currentNode = currentBranch.getChild( rdnStr );
if ( currentNode instanceof DnLeafNode )
{
Modified: directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java?rev=926660&r1=926659&r2=926660&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java (original)
+++ directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java Tue Mar 23 16:56:02 2010
@@ -35,7 +35,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
-import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -1259,7 +1258,7 @@ public class DNTest
// GET ALL operations
/**
* test a getAll operation on a null DN
- */
+ *
@Test
public void testDnGetAllNull()
{
@@ -1272,7 +1271,7 @@ public class DNTest
/**
* test a getAll operation on an empty DN
- */
+ *
@Test
public void testDnGetAllEmpty() throws LdapException
{
@@ -1285,7 +1284,7 @@ public class DNTest
/**
* test a getAll operation on a simple DN
- */
+ *
@Test
public void testDnGetAllSimple() throws LdapException
{
@@ -1300,7 +1299,7 @@ public class DNTest
/**
* test a getAll operation on a complex DN
- */
+ *
@Test
public void testDnGetAllComplex() throws LdapException
{
@@ -1319,7 +1318,7 @@ public class DNTest
/**
* test a getAll operation on a complex DN
- */
+ *
@Test
public void testDnGetAllComplexOrdered() throws LdapException
{
@@ -1776,7 +1775,7 @@ public class DNTest
*
* @throws Exception
* if anything goes wrong.
- */
+ *
@Test
public void testGetAll() throws Exception
{
@@ -1955,44 +1954,14 @@ public class DNTest
@Test
public void testGetAllRdn() throws Exception
{
- DN name = new DN( "cn=Airline,cn=Website,cn=HomeDir,cn=John,ou=Marketing,ou=West" );
-
- Enumeration<RDN> rdns = name.getAllRdn();
- assertEquals( true, rdns.hasMoreElements() );
-
- for ( int i = 0; rdns.hasMoreElements(); i++ )
+ DN dn = new DN( "cn=Airline,cn=Website,cn=HomeDir,cn=John,ou=Marketing,ou=West" );
+ String[] expected = new String[]{ "cn=Airline", "cn=Website", "cn=HomeDir", "cn=John", "ou=Marketing", "ou=West" };
+ int count = 0;
+
+ for ( RDN rdn : dn )
{
- RDN element = ( RDN ) rdns.nextElement();
-
- if ( i == 0 )
- {
- assertEquals( "ou=West", element.toString() );
- }
-
- if ( i == 1 )
- {
- assertEquals( "ou=Marketing", element.toString() );
- }
-
- if ( i == 2 )
- {
- assertEquals( "cn=John", element.toString() );
- }
-
- if ( i == 3 )
- {
- assertEquals( "cn=HomeDir", element.toString() );
- }
-
- if ( i == 4 )
- {
- assertEquals( "cn=Website", element.toString() );
- }
-
- if ( i == 5 )
- {
- assertEquals( "cn=Airline", element.toString() );
- }
+ assertEquals( expected[count], rdn.toString() );
+ count++;
}
}
@@ -2827,7 +2796,7 @@ public class DNTest
/**
* Test for DIRSERVER-191
- */
+ *
@Test
public void testGetAllName() throws LdapException, InvalidNameException
{
@@ -2852,15 +2821,17 @@ public class DNTest
public void testDoubleQuoteInNameDIRSERVER_642() throws LdapException, InvalidNameException
{
DN name1 = new DN( "cn=\"Kylie Minogue\",dc=example,dc=com" );
- LdapName name2 = new LdapName( "cn=\"Kylie Minogue\",dc=example,dc=com" );
+
+ String[] expected = new String[]{ "cn=\"Kylie Minogue\"", "dc=example", "dc=com" };
- Enumeration<String> j = name1.getAll();
- Enumeration<String> a = name2.getAll();
+ List<RDN> j = name1.getRdns();
+ int count = 0;
+
- while ( j.hasMoreElements() )
+ for ( RDN rdn:j )
{
- assertTrue( j.hasMoreElements() );
- assertEquals( j.nextElement(), a.nextElement() );
+ assertEquals( expected[count], rdn.getName() );
+ count++;
}
}