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 2003/12/17 01:46:15 UTC

svn commit: rev 1440 - in incubator/directory/ldap/trunk/eve/backend/schema/oid/impl: . src/java/org/apache/eve/schema

Author: akarasulu
Date: Tue Dec 16 16:46:15 2003
New Revision: 1440

Modified:
   incubator/directory/ldap/trunk/eve/backend/schema/oid/impl/   (props changed)
   incubator/directory/ldap/trunk/eve/backend/schema/oid/impl/src/java/org/apache/eve/schema/DefaultOidRegistry.java
Log:


Modified: incubator/directory/ldap/trunk/eve/backend/schema/oid/impl/src/java/org/apache/eve/schema/DefaultOidRegistry.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/oid/impl/src/java/org/apache/eve/schema/DefaultOidRegistry.java	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/oid/impl/src/java/org/apache/eve/schema/DefaultOidRegistry.java	Tue Dec 16 16:46:15 2003
@@ -23,7 +23,7 @@
     and wherever such third-party acknowledgments normally appear.
 
  4. The names "Eve Directory Server", "Apache Directory Project", "Apache Eve" 
-	and "Apache Software Foundation"  must not be used to endorse or promote
+    and "Apache Software Foundation"  must not be used to endorse or promote
     products derived  from this  software without  prior written
     permission. For written permission, please contact apache@apache.org.
 
@@ -68,201 +68,201 @@
  */
 public class DefaultOidRegistry
 { 
-	/** Maps OID to a name or a list of names if more than one name exists */
-	private Hashtable m_byOid = new Hashtable() ;
-	/** Maps several names to an OID */
-	private Hashtable m_byName = new Hashtable() ;
-	/** Default OidRegistryMonitor */
-	private OidRegistryMonitor m_monitor = null ;
+    /** Maps OID to a name or a list of names if more than one name exists */
+    private Hashtable m_byOid = new Hashtable() ;
+    /** Maps several names to an OID */
+    private Hashtable m_byName = new Hashtable() ;
+    /** Default OidRegistryMonitor */
+    private OidRegistryMonitor m_monitor = null ;
     
     
-	/**
-	 * @see org.apache.ldap.server.schema.OidRegistry#getOid(java.lang.String)
-	 */
-	public String getOid( String a_name ) throws NamingException
-	{
-		/* If a_name is an OID than we return it back since inherently the 
-	     * OID is another name for the object referred to by OID and the
-	     * caller does not know that the argument is an OID String.
-	     */
-		if ( Character.isDigit( a_name.charAt( 0 ) ) 
-			&& m_byOid.containsKey( a_name ) )
-		{
-		    m_monitor.getOidWithOid( a_name ) ;
-			return a_name ;
-		}
-
-		// If a_name is mapped to a OID already return OID
-		if ( m_byName.containsKey( a_name ) )
-		{
-		    String l_oid = ( String ) m_byName.get( a_name ) ; 
-		    m_monitor.oidResolved( a_name, l_oid ) ;
-			return l_oid ;
-		}
-        
-		/*
-		 * As a last resort we check if a_name is not normalized and if the 
-		 * normalized version used as a key returns an OID.  If the normalized
-		 * name works add the normalized name as a key with its OID to the 
-		 * byName lookup.  BTW these normalized versions of the key are not 
-		 * returned on a getNameSet.
-		 */
-		 String l_lowerCase = a_name.trim().toLowerCase() ;
-		 if ( ! a_name.equals( l_lowerCase ) 
-			&& m_byName.containsKey( l_lowerCase ) )
-		 {
-			 String l_oid = ( String ) m_byName.get( l_lowerCase ) ;
-			 m_monitor.oidResolved( a_name, l_lowerCase, l_oid ) ;
-			 
-			 // We expect to see this version of the key again so we add it 
-			 m_byName.put( a_name, l_oid ) ;
-			 return l_oid ;
-		 }
+    /**
+     * @see org.apache.ldap.server.schema.OidRegistry#getOid(java.lang.String)
+     */
+    public String getOid( String a_name ) throws NamingException
+    {
+        /* If a_name is an OID than we return it back since inherently the 
+         * OID is another name for the object referred to by OID and the
+         * caller does not know that the argument is an OID String.
+         */
+        if ( Character.isDigit( a_name.charAt( 0 ) ) 
+            && m_byOid.containsKey( a_name ) )
+        {
+            m_monitor.getOidWithOid( a_name ) ;
+            return a_name ;
+        }
+
+        // If a_name is mapped to a OID already return OID
+        if ( m_byName.containsKey( a_name ) )
+        {
+            String l_oid = ( String ) m_byName.get( a_name ) ; 
+            m_monitor.oidResolved( a_name, l_oid ) ;
+            return l_oid ;
+        }
+        
+        /*
+         * As a last resort we check if a_name is not normalized and if the 
+         * normalized version used as a key returns an OID.  If the normalized
+         * name works add the normalized name as a key with its OID to the 
+         * byName lookup.  BTW these normalized versions of the key are not 
+         * returned on a getNameSet.
+         */
+         String l_lowerCase = a_name.trim().toLowerCase() ;
+         if ( ! a_name.equals( l_lowerCase ) 
+            && m_byName.containsKey( l_lowerCase ) )
+         {
+             String l_oid = ( String ) m_byName.get( l_lowerCase ) ;
+             m_monitor.oidResolved( a_name, l_lowerCase, l_oid ) ;
+             
+             // We expect to see this version of the key again so we add it 
+             m_byName.put( a_name, l_oid ) ;
+             return l_oid ;
+         }
          
-		 NamingException l_fault = new NamingException ( "OID for name '" 
-		         + a_name + "' was not " + "found within the OID registry" ) ; 
-		 m_monitor.oidResolutionFailed( a_name, l_fault ) ;
-		 throw l_fault ;
-	}
-
-
-	/**
-	 * @see org.apache.ldap.server.schema.OidRegistry#getPrimaryName(java.lang.String)
-	 */
-	public String getPrimaryName( String a_oid ) throws NamingException
-	{
-		Object l_value = m_byOid.get( a_oid ) ;
-        
-		if ( null == l_value )
-		{
-		    NamingException l_fault = new NamingException ( "OID '" + a_oid 
-		            + "' was not found within the OID registry" ) ; 
-		    m_monitor.oidDoesNotExist( a_oid, l_fault ) ;
-			throw l_fault ;
-		}
-        
-		if ( l_value instanceof String )
-		{
-		    m_monitor.nameResolved( a_oid, ( String ) l_value ) ;
-			return ( String ) l_value ;
-		}
-        
-		String l_name = ( String ) ( ( List ) l_value ).get( 0 ) ;
-		m_monitor.nameResolved( a_oid, l_name ) ;
-		return l_name ;
-	}
-
-
-	/**
-	 * @see org.apache.ldap.server.schema.OidRegistry#getNameSet(java.lang.String)
-	 */
-	public List getNameSet( String a_oid ) throws NamingException
-	{
-		Object l_value = m_byOid.get( a_oid ) ;
-        
-		if ( null == l_value )
-		{
-			NamingException l_fault = new NamingException ( "OID '" + a_oid 
-					+ "' was not found within the OID registry" ) ; 
-			m_monitor.oidDoesNotExist( a_oid, l_fault ) ;
-			throw l_fault ;
-		}
-        
-		if ( l_value instanceof String )
-		{
-		    List l_list = Collections.singletonList( l_value ) ;
-		    m_monitor.namesResolved( a_oid, l_list ) ;
-			return l_list ;
-		}
-        
-		m_monitor.namesResolved( a_oid, ( List ) l_value ) ;
-		return ( List ) l_value ;
-	}
-
-
-	/**
-	 * @see org.apache.ldap.server.schema.OidRegistry#listOids()
-	 */
-	public Iterator listOids()
-	{
-		return Collections.unmodifiableSet( m_byOid.keySet() ).iterator() ;
-	}
-
-
-	/**
-	 * @see org.apache.ldap.server.schema.OidRegistry#add(java.lang.String, 
-	 * java.lang.String)
-	 */
-	public void register( String a_name, String a_oid )
-	{
-		/*
-		 * Add the entry for the given name as is and its lowercased version if
-		 * the lower cased name is different from the given name name.  
-		 */
-		String l_lowerCase = a_name.toLowerCase() ;
-		if ( ! l_lowerCase.equals( a_name ) )
-		{
-			m_byName.put( l_lowerCase, a_oid ) ;
-		}
-        
-		// Put both the name and the oid as names
-		m_byName.put( a_name, a_oid ) ;
-		m_byName.put( a_oid, a_oid ) ;
-        
-		/*
-		 * Update OID Map
-		 * 
-		 * 1). Check if we already have a value[s] stored
-		 *      1a). Value is a single value and is a String
-		 *          Replace value with list containing old and new values
-		 *      1b). More than one value stored in a list
-		 *          Add new value to the list
-		 * 2). If we do not have a value then we just add it as a String
-		 */
-		Object l_value = null ;
-		if ( ! m_byOid.containsKey( a_oid ) )
-		{
-			l_value = a_name ;
-		}
-		else 
-		{
-			ArrayList l_list = null ;
-			l_value = m_byOid.get( a_oid ) ;
+         NamingException l_fault = new NamingException ( "OID for name '" 
+                 + a_name + "' was not " + "found within the OID registry" ) ; 
+         m_monitor.oidResolutionFailed( a_name, l_fault ) ;
+         throw l_fault ;
+    }
+
+
+    /**
+     * @see org.apache.ldap.server.schema.OidRegistry#getPrimaryName(java.lang.String)
+     */
+    public String getPrimaryName( String a_oid ) throws NamingException
+    {
+        Object l_value = m_byOid.get( a_oid ) ;
+        
+        if ( null == l_value )
+        {
+            NamingException l_fault = new NamingException ( "OID '" + a_oid 
+                    + "' was not found within the OID registry" ) ; 
+            m_monitor.oidDoesNotExist( a_oid, l_fault ) ;
+            throw l_fault ;
+        }
+        
+        if ( l_value instanceof String )
+        {
+            m_monitor.nameResolved( a_oid, ( String ) l_value ) ;
+            return ( String ) l_value ;
+        }
+        
+        String l_name = ( String ) ( ( List ) l_value ).get( 0 ) ;
+        m_monitor.nameResolved( a_oid, l_name ) ;
+        return l_name ;
+    }
+
+
+    /**
+     * @see org.apache.ldap.server.schema.OidRegistry#getNameSet(java.lang.String)
+     */
+    public List getNameSet( String a_oid ) throws NamingException
+    {
+        Object l_value = m_byOid.get( a_oid ) ;
+        
+        if ( null == l_value )
+        {
+            NamingException l_fault = new NamingException ( "OID '" + a_oid 
+                    + "' was not found within the OID registry" ) ; 
+            m_monitor.oidDoesNotExist( a_oid, l_fault ) ;
+            throw l_fault ;
+        }
+        
+        if ( l_value instanceof String )
+        {
+            List l_list = Collections.singletonList( l_value ) ;
+            m_monitor.namesResolved( a_oid, l_list ) ;
+            return l_list ;
+        }
+        
+        m_monitor.namesResolved( a_oid, ( List ) l_value ) ;
+        return ( List ) l_value ;
+    }
+
+
+    /**
+     * @see org.apache.ldap.server.schema.OidRegistry#listOids()
+     */
+    public Iterator listOids()
+    {
+        return Collections.unmodifiableSet( m_byOid.keySet() ).iterator() ;
+    }
+
+
+    /**
+     * @see org.apache.ldap.server.schema.OidRegistry#add(java.lang.String, 
+     * java.lang.String)
+     */
+    public void register( String a_name, String a_oid )
+    {
+        /*
+         * Add the entry for the given name as is and its lowercased version if
+         * the lower cased name is different from the given name name.  
+         */
+        String l_lowerCase = a_name.toLowerCase() ;
+        if ( ! l_lowerCase.equals( a_name ) )
+        {
+            m_byName.put( l_lowerCase, a_oid ) ;
+        }
+        
+        // Put both the name and the oid as names
+        m_byName.put( a_name, a_oid ) ;
+        m_byName.put( a_oid, a_oid ) ;
+        
+        /*
+         * Update OID Map
+         * 
+         * 1). Check if we already have a value[s] stored
+         *      1a). Value is a single value and is a String
+         *          Replace value with list containing old and new values
+         *      1b). More than one value stored in a list
+         *          Add new value to the list
+         * 2). If we do not have a value then we just add it as a String
+         */
+        Object l_value = null ;
+        if ( ! m_byOid.containsKey( a_oid ) )
+        {
+            l_value = a_name ;
+        }
+        else 
+        {
+            ArrayList l_list = null ;
+            l_value = m_byOid.get( a_oid ) ;
             
-			if ( l_value instanceof String )
-			{
-				String l_existingName = ( String ) l_value ;
+            if ( l_value instanceof String )
+            {
+                String l_existingName = ( String ) l_value ;
                 
-				// if the existing name is already there we don't readd it
-				if ( l_existingName.equalsIgnoreCase( a_name ) )
-				{
-					return ;
-				}
+                // if the existing name is already there we don't readd it
+                if ( l_existingName.equalsIgnoreCase( a_name ) )
+                {
+                    return ;
+                }
                 
-				l_list = new ArrayList() ;
-				l_list.add( l_value ) ;
-				l_value = l_list ;
-			}
-			else if ( l_value instanceof ArrayList )
-			{
-				l_list = ( ArrayList ) l_list ;
+                l_list = new ArrayList() ;
+                l_list.add( l_value ) ;
+                l_value = l_list ;
+            }
+            else if ( l_value instanceof ArrayList )
+            {
+                l_list = ( ArrayList ) l_list ;
                 
-				for ( int ii = 0; ii < l_list.size(); ii++ )
-				{
-					// One form or another of the name already exists in list
-					if ( ! a_name.equalsIgnoreCase( ( String ) 
-						l_list.get( ii ) ) )
-					{
-						return ;
-					}
-				}
+                for ( int ii = 0; ii < l_list.size(); ii++ )
+                {
+                    // One form or another of the name already exists in list
+                    if ( ! a_name.equalsIgnoreCase( ( String ) 
+                        l_list.get( ii ) ) )
+                    {
+                        return ;
+                    }
+                }
                 
-				l_list.add( a_name ) ;
-			}
-		}
-
-		m_byOid.put( a_oid, l_value ) ;
-		m_monitor.registered( a_name, a_oid ) ;
-	}
+                l_list.add( a_name ) ;
+            }
+        }
+
+        m_byOid.put( a_oid, l_value ) ;
+        m_monitor.registered( a_name, a_oid ) ;
+    }
 }