directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: r375785 [18/28] - in /directory/trunks: apacheds/ apacheds/core-plugin/src/main/antlr/ apacheds/core-plugin/src/main/java/org/apache/directory/ apacheds/core-plugin/src/main/java/org/apache/directory/server/ apacheds/core-plugin/src/main/ja...
Date Wed, 08 Feb 2006 00:18:49 GMT
Added: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/ReferralTest.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/ReferralTest.java?rev=375785&view=auto
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/ReferralTest.java (added)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/ReferralTest.java Tue Feb  7 16:10:02 2006
@@ -0,0 +1,894 @@
+/*
+ *   Copyright 2006 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.directory.server;
+
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NameAlreadyBoundException;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.PartialResultException;
+import javax.naming.ReferralException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.ModificationItem;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+
+import org.apache.directory.server.unit.AbstractServerTest;
+
+
+/**
+ * Tests to make sure the server is operating correctly when handling referrals.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class ReferralTest extends AbstractServerTest
+{
+    TestData td = new TestData();
+
+
+    /**
+     * Create attributes for a person entry.
+     */
+    protected Attributes getPersonAttributes(String sn, String cn)
+    {
+        Attributes attributes = new BasicAttributes();
+        Attribute attribute = new BasicAttribute("objectClass");
+        attribute.add("top");
+        attribute.add("person");
+        attributes.put(attribute);
+        attributes.put("cn", cn);
+        attributes.put("sn", sn);
+        attributes.put("description", cn + " is a person.");
+        return attributes;
+    }
+
+    
+    public void setUp() throws Exception
+    {
+        super.setUp();
+        addReferralEntry();
+    }
+    
+    
+    public void tearDown() throws Exception
+    {
+        if ( td.refCtx != null )
+        {
+            td.refCtx.close();
+            td.rootCtx.close();
+        }
+        
+        super.tearDown();
+    }
+
+    
+    /**
+     * Get's the root "ou=system" using the SUN JNDI provider on the embedded ApacheDS instance
+     */
+    private LdapContext getSystemRoot() throws NamingException
+    {
+        Hashtable env = new Hashtable();
+        env.put("java.naming.factory.initial", "com.sun.jndi.ldap.LdapCtxFactory");
+        env.put("java.naming.provider.url", "ldap://localhost:" + port + "/ou=system" ); 
+        env.put("java.naming.security.principal", "uid=admin,ou=system" ); 
+        env.put("java.naming.security.credentials", "secret" );
+        env.put("java.naming.security.authentication", "simple");
+        LdapContext ctx = new InitialLdapContext(env, null);
+        assertNotNull(ctx);
+        return ctx;
+    }
+    
+    
+    class TestData {
+        LdapContext rootCtx;
+        Name ctxDn;
+        LdapContext refCtx;
+        List refs;
+    }
+    
+    
+    public void addReferralEntry() throws NamingException
+    {
+        String ref0 = "ldap://fermi:10389/ou=users,ou=system";
+        String ref1 = "ldap://hertz:10389/ou=users,dc=example,dc=com";
+        String ref2 = "ldap://maxwell:10389/ou=users,ou=system";
+        td.rootCtx = getSystemRoot();
+
+        // -------------------------------------------------------------------
+        // Adds a referral entry regardless of referral handling settings
+        // -------------------------------------------------------------------
+        
+        // Add a referral entry ( should be fine with or without the control )
+        Attributes referral = new BasicAttributes( "objectClass", "top", true );
+        referral.get( "objectClass" ).add( "referral" );
+        referral.get( "objectClass" ).add( "extensibleObject" );
+        referral.put( "ref", ref0 );
+        referral.get( "ref" ).add( ref1 );
+        referral.get( "ref" ).add( ref2 );
+        referral.put( "ou", "users" );
+
+        // Just in case if server is a remote server destroy remaing referral
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "ignore" );
+        try { td.rootCtx.destroySubcontext( "uid=akarasulu,ou=users" ); } catch( NameNotFoundException e ) {}
+        try { td.rootCtx.destroySubcontext( "ou=users" ); } catch( NameNotFoundException e ) {}
+        try
+        {
+            td.refCtx = ( LdapContext ) td.rootCtx.createSubcontext( "ou=users", referral );
+        }
+        catch( NameAlreadyBoundException e )
+        {
+            td.refCtx = ( LdapContext ) td.rootCtx.lookup( "ou=users" );
+        }
+        referral = td.refCtx.getAttributes( "" );
+        assertTrue( referral.get( "ou" ).contains( "users" ) );
+        assertTrue( referral.get( "objectClass" ).contains( "referral" ) );
+    }
+
+    
+    public void checkAncestorReferrals( ReferralException e ) throws Exception
+    {
+        assertEquals( "ldap://fermi:10389", e.getReferralInfo() );
+        assertTrue( e.skipReferral() );
+        assertEquals( "ldap://hertz:10389/cn=alex karasulu,ou=apache,ou=users,dc=example,dc=com", 
+            e.getReferralInfo() );
+        assertTrue( e.skipReferral() );
+        assertEquals( "ldap://maxwell:10389", e.getReferralInfo() );
+        assertFalse( e.skipReferral() );
+    }
+
+    
+    public void checkParentReferrals( ReferralException e ) throws Exception
+    {
+        assertEquals( "ldap://fermi:10389", e.getReferralInfo() );
+        assertTrue( e.skipReferral() );
+        assertEquals( "ldap://hertz:10389/cn=alex karasulu,ou=users,dc=example,dc=com", e.getReferralInfo() );
+        assertTrue( e.skipReferral() );
+        assertEquals( "ldap://maxwell:10389", e.getReferralInfo() );
+        assertFalse( e.skipReferral() );
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for an add operation with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testAddWithReferralParent() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to add a normal entry below the referral parent. We should
+        // encounter referral errors with referral setting set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        Attributes userEntry = new BasicAttributes( "objectClass", "top", true );
+        userEntry.get( "objectClass" ).add( "person" );
+        userEntry.put( "sn", "karasulu" );
+        userEntry.put( "cn", "alex karasulu" );
+
+        try 
+        {
+            td.refCtx.createSubcontext( "cn=alex karasulu", userEntry );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for an add operation with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testAddWithReferralAncestor() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to add a normal entry below the referral ancestor. We should
+        // encounter referral errors with referral setting set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        Attributes userEntry = new BasicAttributes( "objectClass", "top", true );
+        userEntry.get( "objectClass" ).add( "person" );
+        userEntry.put( "sn", "karasulu" );
+        userEntry.put( "cn", "alex karasulu" );
+
+        try 
+        {
+            td.refCtx.createSubcontext( "cn=alex karasulu,ou=apache", userEntry );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for an delete operation with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testDeleteWithReferralParent() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to delete a non-existent entry below the referral parent. 
+        // We should encounter referral errors with referral setting set to 
+        // throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.destroySubcontext( "cn=alex karasulu" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a delete operation with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testDeleteWithReferralAncestor() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to delete a non-existent entry below the referral ancestor. 
+        // We should encounter referral errors when referral setting is set to 
+        // throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.destroySubcontext( "cn=alex karasulu,ou=apache" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify operation with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyWithReferralParent() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the attributes of an entry below the referral 
+        // parent.  We should encounter referral errors with referral setting 
+        // set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.modifyAttributes( "cn=alex karasulu", DirContext.ADD_ATTRIBUTE, 
+                new BasicAttributes( "description", "just some text", true ) );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify operation with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyWithReferralAncestor() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the attributes of an entry below the referral 
+        // ancestor. We should encounter referral errors when referral setting 
+        // is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.modifyAttributes( "cn=alex karasulu,ou=apache", DirContext.ADD_ATTRIBUTE, 
+                new BasicAttributes( "description", "just some text", true ) );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify operation with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyWithReferralParent2() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the attributes of an entry below the referral 
+        // parent.  We should encounter referral errors with referral setting 
+        // set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            ModificationItem[] mods = new ModificationItem[] { new ModificationItem( 
+                DirContext.ADD_ATTRIBUTE, new BasicAttribute( "description", "just some text" ) ) };
+            td.refCtx.modifyAttributes( "cn=alex karasulu", mods );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify operation with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyWithReferralAncestor2() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the attributes of an entry below the referral 
+        // ancestor. We should encounter referral errors when referral setting 
+        // is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            ModificationItem[] mods = new ModificationItem[] { new ModificationItem( 
+                DirContext.ADD_ATTRIBUTE, new BasicAttribute( "description", "just some text" ) ) };
+            td.refCtx.modifyAttributes( "cn=alex karasulu,ou=apache", mods );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify rdn interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyRdnWithReferralParent() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an parent which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu", "cn=aok" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a modify rdn interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testModifyRdnWithReferralAncestor() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an ancestor which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu,ou=apache", "cn=aok,ou=apache" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralParent() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an parent which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu", "cn=alex karasulu,ou=groups" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( PartialResultException e )
+        {
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralAncestor() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an ancestor which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu,ou=apache", "cn=alex karasulu,ou=groups" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( PartialResultException e )
+        {
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralParent2() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an parent which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu", "cn=aok,ou=groups" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( PartialResultException e )
+        {
+        }
+        catch( ReferralException e )
+        {
+            checkParentReferrals( e );
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralAncestor2() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an ancestor which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.refCtx.rename( "cn=alex karasulu,ou=apache", "cn=aok,ou=groups" );
+            fail( "Should fail here throwing a ReferralException" );
+        }
+        catch( PartialResultException e )
+        {
+        }
+        catch( ReferralException e )
+        {
+            checkAncestorReferrals( e );
+        }
+    }
+
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralParentDest() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an parent which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        createLocalUser();
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.rootCtx.rename( "cn=akarasulu", "cn=akarasulu,ou=users" );
+            fail( "Should fail here throwing a LdapNamingException with ResultCodeEnum = AFFECTSMULTIPLEDSAS" );
+        }
+        // this should have a result code of 71 for affectsMultipleDSAs
+        // however there is absolutely no way for us to tell if this is 
+        // the case because of JNDI exception resolution issues with LDAP
+        catch( NamingException e )
+        {
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralAncestorDest() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an ancestor which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        createDeepLocalUser();
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.rootCtx.rename( "cn=akarasulu,ou=deep", "cn=akarasulu,ou=users" );
+            fail( "Should fail here throwing a LdapNamingException with ResultCodeEnum = AFFECTSMULTIPLEDSAS" );
+        }
+        // this should have a result code of 71 for affectsMultipleDSAs
+        // however there is absolutely no way for us to tell if this is 
+        // the case because of JNDI exception resolution issues with LDAP
+        catch( NamingException e )
+        {
+        }
+    }
+
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with the parent context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralParent2Dest() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an parent which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        createLocalUser();
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.rootCtx.rename( "cn=akarasulu", "cn=aok,ou=users" );
+            fail( "Should fail here throwing a LdapNamingException with ResultCodeEnum = AFFECTSMULTIPLEDSAS" );
+        }
+        // this should have a result code of 71 for affectsMultipleDSAs
+        // however there is absolutely no way for us to tell if this is 
+        // the case because of JNDI exception resolution issues with LDAP
+        catch( NamingException e )
+        {
+        }
+    }
+    
+    
+    /**
+     * Checks for correct core behavoir when Context.REFERRAL is set to <b>throw</b>
+     * for a move interceptor operation (corresponds to a subset of the modify 
+     * dn operation) with an ancestor context being a referral.
+     * 
+     * @throws Exception if something goes wrong.
+     */
+    public void testMoveWithReferralAncestor2Dest() throws Exception
+    {
+        // -------------------------------------------------------------------
+        // Attempt to modify the last component of the entry's name which 
+        // resides below an ancestor which is a referral. We should encounter 
+        // referral errors when referral setting is set to throw.
+        // -------------------------------------------------------------------
+
+        createDeepLocalUser();
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try 
+        {
+            td.rootCtx.rename( "cn=akarasulu,ou=deep", "cn=aok,ou=users" );
+            fail( "Should fail here throwing a LdapNamingException with ResultCodeEnum = AFFECTSMULTIPLEDSAS" );
+        }
+        // this should have a result code of 71 for affectsMultipleDSAs
+        // however there is absolutely no way for us to tell if this is 
+        // the case because of JNDI exception resolution issues with LDAP
+        catch( NamingException e )
+        {
+        }
+    }
+    
+    
+    public void createLocalUser() throws Exception
+    {
+        LdapContext userCtx = null;
+        Attributes referral = new BasicAttributes( "objectClass", "top", true );
+        referral.get( "objectClass" ).add( "person" );
+        referral.put( "cn", "akarasulu" );
+        referral.put( "sn", "karasulu" );
+
+        try { td.rootCtx.destroySubcontext( "uid=akarasulu" ); } catch( NameNotFoundException e ) {}
+        try
+        {
+            userCtx = ( LdapContext ) td.rootCtx.createSubcontext( "cn=akarasulu", referral );
+        }
+        catch( NameAlreadyBoundException e )
+        {
+            td.refCtx = ( LdapContext ) td.rootCtx.lookup( "cn=akarasulu" );
+        }
+        referral = userCtx.getAttributes( "" );
+        assertTrue( referral.get( "cn" ).contains( "akarasulu" ) );
+        assertTrue( referral.get( "sn" ).contains( "karasulu" ) );
+    }
+    
+    
+    public void createDeepLocalUser() throws Exception
+    {
+        LdapContext userCtx = null;
+        Attributes referral = new BasicAttributes( "objectClass", "top", true );
+        referral.get( "objectClass" ).add( "person" );
+        referral.put( "cn", "akarasulu" );
+        referral.put( "sn", "karasulu" );
+
+        try { td.rootCtx.destroySubcontext( "uid=akarasulu,ou=deep" ); } catch( NameNotFoundException e ) {}
+        try { td.rootCtx.destroySubcontext( "ou=deep" ); } catch( NameNotFoundException e ) {}
+        try
+        {
+            td.rootCtx.createSubcontext( "ou=deep" );
+            userCtx = ( LdapContext ) td.rootCtx.createSubcontext( "cn=akarasulu,ou=deep", referral );
+        }
+        catch( NameAlreadyBoundException e )
+        {
+            td.refCtx = ( LdapContext ) td.rootCtx.lookup( "cn=akarasulu,ou=deep" );
+        }
+        referral = userCtx.getAttributes( "" );
+        assertTrue( referral.get( "cn" ).contains( "akarasulu" ) );
+        assertTrue( referral.get( "sn" ).contains( "karasulu" ) );
+    }
+    
+    
+    public void testSearchBaseIsReferral() throws Exception
+    {
+        SearchControls controls = new SearchControls();
+        controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try
+        {
+            td.rootCtx.search( "ou=users", "(objectClass=*)", controls );
+            fail( "should never get here" );
+        }
+        catch( ReferralException e )
+        {
+            assertEquals( "ldap://fermi:10389/ou=users,ou=system??sub", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://hertz:10389/ou=users,dc=example,dc=com??sub", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://maxwell:10389/ou=users,ou=system??sub", e.getReferralInfo() );
+            assertFalse( e.skipReferral() );
+        }
+    }
+
+    
+    public void testSearchBaseParentIsReferral() throws Exception
+    {
+        SearchControls controls = new SearchControls();
+        controls.setSearchScope( SearchControls.OBJECT_SCOPE );
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try
+        {
+            td.refCtx.search( "cn=alex karasulu", "(objectClass=*)", controls );
+        }
+        catch( ReferralException e )
+        {
+            assertEquals( "ldap://fermi:10389/cn=alex karasulu,ou=users,ou=system??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://hertz:10389/cn=alex karasulu,ou=users,dc=example,dc=com??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://maxwell:10389/cn=alex karasulu,ou=users,ou=system??base", e.getReferralInfo() );
+            assertFalse( e.skipReferral() );
+        }
+    }
+
+    
+    public void testSearchBaseAncestorIsReferral() throws Exception
+    {
+        SearchControls controls = new SearchControls();
+        controls.setSearchScope( SearchControls.OBJECT_SCOPE );
+        td.refCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        try
+        {
+            td.refCtx.search( "cn=alex karasulu,ou=apache", "(objectClass=*)", controls );
+        }
+        catch( ReferralException e )
+        {
+            assertEquals( "ldap://fermi:10389/cn=alex karasulu,ou=apache,ou=users,ou=system??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://hertz:10389/cn=alex karasulu,ou=apache,ou=users,dc=example,dc=com??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://maxwell:10389/cn=alex karasulu,ou=apache,ou=users,ou=system??base", e.getReferralInfo() );
+            assertFalse( e.skipReferral() );
+        }
+    }
+
+    
+    public void testSearchContinuations() throws Exception
+    {
+        SearchControls controls = new SearchControls();
+        controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
+        NamingEnumeration list = td.rootCtx.search( "", "(objectClass=*)", controls );
+        Map results = new HashMap();
+        while ( list.hasMore() )
+        {
+            SearchResult result = ( SearchResult) list.next();
+            results.put ( result.getName(), result );
+        }
+        
+        assertNotNull( results.get( "ou=users" ) );
+        
+        // -------------------------------------------------------------------
+        // Now we will throw exceptions when searching for referrals 
+        // -------------------------------------------------------------------
+        
+        td.rootCtx.addToEnvironment( Context.REFERRAL, "throw" );
+        list = td.rootCtx.search( "", "(objectClass=*)", controls );
+        results = new HashMap();
+        
+        try
+        {
+            while ( list.hasMore() )
+            {
+                SearchResult result = ( SearchResult ) list.next();
+                results.put ( result.getName(), result );
+            }
+        }
+        catch( ReferralException e )
+        {
+            assertEquals( "ldap://fermi:10389/ou=users,ou=system??sub", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://hertz:10389/ou=users,dc=example,dc=com??sub", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://maxwell:10389/ou=users,ou=system??sub", e.getReferralInfo() );
+            assertFalse( e.skipReferral() );
+        }
+        
+        assertNull( results.get( "ou=users" ) );
+
+        // try again but this time with single level scope
+        
+        controls.setSearchScope( SearchControls.ONELEVEL_SCOPE );
+        list = td.rootCtx.search( "", "(objectClass=*)", controls );
+        results = new HashMap();
+        
+        try
+        {
+            while ( list.hasMore() )
+            {
+                SearchResult result = ( SearchResult ) list.next();
+                results.put ( result.getName(), result );
+            }
+        }
+        catch( ReferralException e )
+        {
+            assertEquals( "ldap://fermi:10389/ou=users,ou=system??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://hertz:10389/ou=users,dc=example,dc=com??base", e.getReferralInfo() );
+            assertTrue( e.skipReferral() );
+            assertEquals( "ldap://maxwell:10389/ou=users,ou=system??base", e.getReferralInfo() );
+            assertFalse( e.skipReferral() );
+        }
+        
+        assertNull( results.get( "ou=users" ) );
+    }
+}
\ No newline at end of file

Added: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/SearchTest.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/SearchTest.java?rev=375785&view=auto
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/SearchTest.java (added)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/SearchTest.java Tue Feb  7 16:10:02 2006
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2004 Solarsis Group LLC.
+ *
+ * Licensed under the Open Software License, Version 2.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://opensource.org/licenses/osl-2.1.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.directory.server;
+
+import java.util.Hashtable;
+
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.SearchControls;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+
+import org.apache.directory.server.unit.AbstractServerTest;
+
+
+/**
+ * Testcase with different modify operations on a person entry. Each includes a
+ * single add op only. Created to demonstrate DIREVE-241 ("Adding an already
+ * existing attribute value with a modify operation does not cause an error.").
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class SearchTest extends AbstractServerTest
+{
+    private LdapContext ctx = null;
+    public static final String RDN = "cn=Tori Amos";
+    public static final String RDN2 = "cn=Rolling-Stones";
+    public static final String PERSON_DESCRIPTION = "an American singer-songwriter";
+    
+    
+
+    /**
+     * Creation of required attributes of a person entry.
+     */
+    protected Attributes getPersonAttributes(String sn, String cn)
+    {
+        Attributes attributes = new BasicAttributes();
+        Attribute attribute = new BasicAttribute("objectClass");
+        attribute.add("top");
+        attribute.add("person");
+        attributes.put(attribute);
+        attributes.put("cn", cn);
+        attributes.put("sn", sn);
+
+        return attributes;
+    }
+
+    /**
+     * Create context and a person entry.
+     */
+    public void setUp() throws Exception
+    {
+        super.setUp();
+
+        Hashtable env = new Hashtable();
+        env.put("java.naming.factory.initial", "com.sun.jndi.ldap.LdapCtxFactory");
+        env.put("java.naming.provider.url", "ldap://localhost:" + port + "/ou=system");
+        env.put("java.naming.security.principal", "uid=admin,ou=system");
+        env.put("java.naming.security.credentials", "secret");
+        env.put("java.naming.security.authentication", "simple");
+
+        ctx = new InitialLdapContext(env, null);
+        assertNotNull(ctx);
+
+        // Create a person with description
+        Attributes attributes = this.getPersonAttributes("Amos", "Tori Amos");
+        attributes.put("description", "an American singer-songwriter");
+        ctx.createSubcontext(RDN, attributes);
+
+        // Create a second person with description
+        attributes = this.getPersonAttributes("Jagger", "Rolling-Stones");
+        attributes.put("description", "an English singer-songwriter");
+        ctx.createSubcontext(RDN2, attributes);
+    }
+
+    /**
+     * Remove person entry and close context.
+     */
+    public void tearDown() throws Exception
+    {
+        ctx.unbind(RDN);
+        ctx.close();
+        ctx = null;
+        super.tearDown();
+    }
+
+    /**
+     * Add a new attribute to a person entry.
+     * 
+     * @throws NamingException
+     */
+    public void testSearchValue() throws NamingException
+    {
+        // Setting up search controls for compare op
+        SearchControls ctls = new SearchControls();
+        ctls.setReturningAttributes(new String[] {"*"}); // no attributes
+        ctls.setSearchScope(SearchControls.OBJECT_SCOPE);
+
+        // Search for all entries
+        NamingEnumeration results = ctx.search(RDN, "(cn=*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*)", ctls);
+        assertTrue( results.hasMore() );
+        
+        // Search for all entries ending by Amos
+        results = ctx.search(RDN, "(cn=*Amos)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*Amos)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries ending by amos
+        results = ctx.search(RDN, "(cn=*amos)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*amos)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries starting by Tori
+        results = ctx.search(RDN, "(cn=Tori*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=Tori*)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries starting by tori
+        results = ctx.search(RDN, "(cn=tori*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=tori*)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries containing ori
+        results = ctx.search(RDN, "(cn=*ori*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*ori*)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries containing o and i
+        results = ctx.search(RDN, "(cn=*o*i*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*o*i*)", ctls);
+        assertTrue( results.hasMore() );
+
+        // Search for all entries containing o, space and o
+        results = ctx.search(RDN, "(cn=*o* *o*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*o* *o*)", ctls);
+        assertFalse( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*o*-*o*)", ctls);
+        assertTrue( results.hasMore() );
+
+        // Search for all entries starting by To and containing A
+        results = ctx.search(RDN, "(cn=To*A*)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=To*A*)", ctls);
+        assertFalse( results.hasMore() );
+
+        // Search for all entries ending by os and containing ri
+        results = ctx.search(RDN, "(cn=*ri*os)", ctls);
+        assertTrue( results.hasMore() );
+
+        results = ctx.search(RDN2, "(cn=*ri*os)", ctls);
+        assertFalse( results.hasMore() );
+    }
+}

Added: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/UnknownExtendedOperationTest.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/UnknownExtendedOperationTest.java?rev=375785&view=auto
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/UnknownExtendedOperationTest.java (added)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/UnknownExtendedOperationTest.java Tue Feb  7 16:10:02 2006
@@ -0,0 +1,108 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.directory.server;
+
+import java.util.Hashtable;
+
+import javax.naming.CommunicationException;
+import javax.naming.NamingException;
+import javax.naming.ldap.ExtendedRequest;
+import javax.naming.ldap.ExtendedResponse;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+
+import org.apache.directory.server.unit.AbstractServerTest;
+
+/**
+ * Check the behaviour of the server for an unknown extended operation. Created
+ * to demonstrate DIREVE-256 ("Extended operation causes client to hang.").
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class UnknownExtendedOperationTest extends AbstractServerTest
+{
+    private LdapContext ctx = null;
+
+    /**
+     * Create context.
+     */
+    public void setUp() throws Exception
+    {
+        super.setUp();
+
+        Hashtable env = new Hashtable();
+        env.put("java.naming.factory.initial", "com.sun.jndi.ldap.LdapCtxFactory");
+        env.put("java.naming.provider.url", "ldap://localhost:" + port + "/ou=system");
+        env.put("java.naming.security.principal", "uid=admin,ou=system");
+        env.put("java.naming.security.credentials", "secret");
+        env.put("java.naming.security.authentication", "simple");
+
+        ctx = new InitialLdapContext(env, null);
+        assertNotNull(ctx);
+    }
+
+    /**
+     * Close context.
+     */
+    public void tearDown() throws Exception
+    {
+        ctx.close();
+        ctx = null;
+        super.tearDown();
+    }
+
+    /**
+     * Calls an extended exception, which does not exist. Expected behaviour is
+     * a CommunicationException.
+     */
+    public void testUnknownExtendedOperation() throws NamingException
+    {
+        try {
+            ctx.extendedOperation(new UnknownExtendedOperationRequest());
+            fail("Calling an unknown extended operation should fail.");
+        } catch (CommunicationException ce) {
+            // expected behaviour
+        }
+    }
+
+    /**
+     * Class for the request of an extended operation which does not exist.
+     */
+    private class UnknownExtendedOperationRequest implements ExtendedRequest
+    {
+
+        private static final long serialVersionUID = 1L;
+
+        public String getID()
+        {
+            return "1.1"; // Never an OID for an extended operation
+        }
+
+        public byte[] getEncodedValue()
+        {
+            return null;
+        }
+
+        public ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length)
+                throws NamingException
+        {
+            return null;
+        }
+    }
+
+}

Copied: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java (from r375781, directory/trunks/apacheds/server-unit/src/test/java/org/apache/ldap/server/jndi/ServerContextFactoryTest.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java?p2=directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java&p1=directory/trunks/apacheds/server-unit/src/test/java/org/apache/ldap/server/jndi/ServerContextFactoryTest.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/ldap/server/jndi/ServerContextFactoryTest.java (original)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.ldap.server.jndi;
+package org.apache.directory.server.jndi;
 
 
 import java.util.HashSet;
@@ -30,8 +30,8 @@
 import javax.naming.directory.BasicAttributes;
 import javax.naming.directory.DirContext;
 
-import org.apache.ldap.server.unit.AbstractAdminTestCase;
-import org.apache.ldap.server.configuration.MutableDirectoryPartitionConfiguration;
+import org.apache.directory.server.core.configuration.MutableDirectoryPartitionConfiguration;
+import org.apache.directory.server.core.unit.AbstractAdminTestCase;
 
 
 /**
@@ -187,7 +187,7 @@
         env.put( Context.SECURITY_PRINCIPAL, "uid=admin,ou=system" );
         env.put( Context.SECURITY_CREDENTIALS, "secret" );
         env.put( Context.SECURITY_AUTHENTICATION, "simple" );
-        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.ldap.server.jndi.ServerContextFactory" );
+        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.directory.server.jndi.ServerContextFactory" );
 
         InitialContext initialContext = new InitialContext( env );
 
@@ -219,7 +219,7 @@
         env.put( Context.SECURITY_PRINCIPAL, "uid=admin,ou=system" );
         env.put( Context.SECURITY_CREDENTIALS, "secret" );
         env.put( Context.SECURITY_AUTHENTICATION, "simple" );
-        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.ldap.server.jndi.ServerContextFactory" );
+        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.directory.server.jndi.ServerContextFactory" );
 
         InitialContext initialContext = new InitialContext( env );
 
@@ -251,7 +251,7 @@
         env.put( Context.SECURITY_PRINCIPAL, "uid=admin,ou=system" );
         env.put( Context.SECURITY_CREDENTIALS, "secret" );
         env.put( Context.SECURITY_AUTHENTICATION, "simple" );
-        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.ldap.server.jndi.ServerContextFactory" );
+        env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.directory.server.jndi.ServerContextFactory" );
 
         InitialContext initialContext = new InitialContext( env );
 

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/Asn1Object.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/Asn1Object.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/Asn1Object.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/Asn1Object.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/Asn1Object.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/Asn1Object.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/Asn1Object.java Tue Feb  7 16:10:02 2006
@@ -14,12 +14,12 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1;
+package org.apache.directory.shared.asn1;
 
 import java.nio.ByteBuffer;
 
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.codec.EncoderException;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.codec.EncoderException;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/AbstractContainer.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/AbstractContainer.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/AbstractContainer.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java Tue Feb  7 16:10:02 2006
@@ -14,12 +14,12 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber;
+package org.apache.directory.shared.asn1.ber;
 
-import org.apache.asn1.ber.grammar.IGrammar;
-import org.apache.asn1.ber.grammar.IStates;
-import org.apache.asn1.ber.tlv.TLV;
-import org.apache.asn1.ber.tlv.TLVStateEnum;
+import org.apache.directory.shared.asn1.ber.grammar.IGrammar;
+import org.apache.directory.shared.asn1.ber.grammar.IStates;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.TLVStateEnum;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/Asn1Decoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/Asn1Decoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/Asn1Decoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java Tue Feb  7 16:10:02 2006
@@ -14,19 +14,19 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber;
+package org.apache.directory.shared.asn1.ber;
 
 
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.ber.grammar.IStates;
-import org.apache.asn1.ber.tlv.TLV;
-import org.apache.asn1.ber.tlv.TLVStateEnum;
-import org.apache.asn1.ber.tlv.Tag;
-import org.apache.asn1.ber.tlv.UniversalTag;
-import org.apache.asn1.ber.tlv.Value;
-import org.apache.asn1.util.Asn1StringUtils;
-import org.apache.asn1.ber.tlv.ITLVBerDecoderMBean;
-import org.apache.asn1.ber.tlv.Length;
+import org.apache.directory.shared.asn1.ber.grammar.IStates;
+import org.apache.directory.shared.asn1.ber.tlv.ITLVBerDecoderMBean;
+import org.apache.directory.shared.asn1.ber.tlv.Length;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.TLVStateEnum;
+import org.apache.directory.shared.asn1.ber.tlv.Tag;
+import org.apache.directory.shared.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.shared.asn1.ber.tlv.Value;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.util.Asn1StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/IAsn1Container.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/IAsn1Container.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/IAsn1Container.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/IAsn1Container.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/IAsn1Container.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/IAsn1Container.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/IAsn1Container.java Tue Feb  7 16:10:02 2006
@@ -14,11 +14,11 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber;
+package org.apache.directory.shared.asn1.ber;
 
-import org.apache.asn1.ber.grammar.IGrammar;
-import org.apache.asn1.ber.grammar.IStates;
-import org.apache.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.grammar.IGrammar;
+import org.apache.directory.shared.asn1.ber.grammar.IStates;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/AbstractGrammar.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/AbstractGrammar.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/AbstractGrammar.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java Tue Feb  7 16:10:02 2006
@@ -14,14 +14,14 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
-import org.apache.asn1.Asn1Object;
-import org.apache.asn1.ber.IAsn1Container;
-import org.apache.asn1.ber.tlv.Tag;
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.ber.tlv.TLV;
-import org.apache.asn1.util.Asn1StringUtils;
+import org.apache.directory.shared.asn1.Asn1Object;
+import org.apache.directory.shared.asn1.ber.IAsn1Container;
+import org.apache.directory.shared.asn1.ber.tlv.TLV;
+import org.apache.directory.shared.asn1.ber.tlv.Tag;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.util.Asn1StringUtils;
 import org.slf4j.LoggerFactory;
 
 import org.slf4j.Logger;

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarAction.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarAction.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarAction.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarAction.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarAction.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarAction.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarAction.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
 /**
  * A top level grammar class that store meta informations about the actions.

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarTransition.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarTransition.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/GrammarTransition.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java Tue Feb  7 16:10:02 2006
@@ -14,10 +14,10 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
 
-import org.apache.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.shared.asn1.ber.grammar.GrammarAction;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IAction.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IAction.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IAction.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IAction.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IAction.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IAction.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IAction.java Tue Feb  7 16:10:02 2006
@@ -14,10 +14,10 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.ber.IAsn1Container;
+import org.apache.directory.shared.asn1.ber.IAsn1Container;
+import org.apache.directory.shared.asn1.codec.DecoderException;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IGrammar.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IGrammar.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IGrammar.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IGrammar.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IGrammar.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IGrammar.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IGrammar.java Tue Feb  7 16:10:02 2006
@@ -14,10 +14,10 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.ber.IAsn1Container;
+import org.apache.directory.shared.asn1.ber.IAsn1Container;
+import org.apache.directory.shared.asn1.codec.DecoderException;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IStates.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IStates.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IStates.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IStates.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IStates.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/grammar/IStates.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/grammar/IStates.java Tue Feb  7 16:10:02 2006
@@ -14,10 +14,10 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.grammar;
+package org.apache.directory.shared.asn1.ber.grammar;
 
 
-import org.apache.asn1.ber.grammar.IGrammar;
+import org.apache.directory.shared.asn1.ber.grammar.IGrammar;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/ITLVBerDecoderMBean.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/ITLVBerDecoderMBean.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/ITLVBerDecoderMBean.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/ITLVBerDecoderMBean.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/ITLVBerDecoderMBean.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/ITLVBerDecoderMBean.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/ITLVBerDecoderMBean.java Tue Feb  7 16:10:02 2006
@@ -14,9 +14,9 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
-import org.apache.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.codec.DecoderException;
 
 
 

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Length.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Length.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Length.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Length.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Length.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Length.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Length.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
 import java.io.Serializable;
 

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLV.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLV.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLV.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java Tue Feb  7 16:10:02 2006
@@ -14,11 +14,11 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
 
-import org.apache.asn1.ber.tlv.Length;
-import org.apache.asn1.ber.tlv.Tag;
+import org.apache.directory.shared.asn1.ber.tlv.Length;
+import org.apache.directory.shared.asn1.ber.tlv.Tag;
 
 
 /**

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLVStateEnum.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLVStateEnum.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLVStateEnum.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLVStateEnum.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLVStateEnum.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/TLVStateEnum.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLVStateEnum.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
 /**
  * Stores the different states of a PDU parsing.

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Tag.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Tag.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Tag.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Tag.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Tag.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Tag.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Tag.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
 import java.io.Serializable;
 

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/UniversalTag.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/UniversalTag.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/UniversalTag.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/UniversalTag.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/UniversalTag.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/UniversalTag.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/UniversalTag.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
 /**
  * Enum for ASN.1 UNIVERSAL class tags.  The tags values are

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Value.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Value.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/ber/tlv/Value.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java Tue Feb  7 16:10:02 2006
@@ -14,13 +14,13 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.ber.tlv;
+package org.apache.directory.shared.asn1.ber.tlv;
 
-import org.apache.asn1.codec.EncoderException;
-import org.apache.asn1.primitives.OID;
-import org.apache.asn1.util.Asn1StringUtils;
-import org.apache.asn1.ber.tlv.Length;
-import org.apache.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.shared.asn1.ber.tlv.Length;
+import org.apache.directory.shared.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.shared.asn1.codec.EncoderException;
+import org.apache.directory.shared.asn1.primitives.OID;
+import org.apache.directory.shared.asn1.util.Asn1StringUtils;
 
 import java.io.Serializable;
 import java.nio.BufferOverflowException;

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryDecoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryDecoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryDecoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 
 /**
@@ -33,7 +33,7 @@
      * 
      * @return a byte array that contains decoded content
      * 
-     * @throws org.apache.asn1.codec.DecoderException A decoder exception is thrown
+     * @throws org.apache.directory.shared.asn1.codec.DecoderException A decoder exception is thrown
      *          if a Decoder encounters a failure condition during
      *          the decode process.
      */

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryDecoder.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryEncoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryEncoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/BinaryEncoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 /**
  * Defines common encoding methods for byte array encoders.

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/BinaryEncoder.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Decoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Decoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Decoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 /**
  * <p>Provides the highest level of abstraction for Decoders.

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Decoder.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/DecoderException.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/DecoderException.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/DecoderException.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 /**
  * Thrown when a Decoder has encountered a failure condition during a decode. 

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/DecoderException.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Encoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Encoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Encoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Encoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Encoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/Encoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Encoder.java Tue Feb  7 16:10:02 2006
@@ -14,11 +14,11 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 /**
  * <p>Provides the highest level of abstraction for Encoders.
- * This is the sister interface of {@link org.apache.asn1.codec.Decoder}.  Every implementation of
+ * This is the sister interface of {@link org.apache.directory.shared.asn1.codec.Decoder}.  Every implementation of
  * Encoder provides this common generic interface whic allows a user to pass a 
  * generic Object to any Encoder implementation in the codec package.</p>
  *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/Encoder.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/EncoderException.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/EncoderException.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/EncoderException.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec;
+package org.apache.directory.shared.asn1.codec;
 
 /**
  * Thrown when there is a failure condition during the encoding process.  This

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/EncoderException.java
------------------------------------------------------------------------------
    svn:keywords = Rev

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/BinaryCodec.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/BinaryCodec.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/BinaryCodec.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/BinaryCodec.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/BinaryCodec.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/BinaryCodec.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/BinaryCodec.java Tue Feb  7 16:10:02 2006
@@ -14,12 +14,12 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec.binary;
+package org.apache.directory.shared.asn1.codec.binary;
 
-import org.apache.asn1.codec.BinaryDecoder;
-import org.apache.asn1.codec.BinaryEncoder;
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.codec.EncoderException;
+import org.apache.directory.shared.asn1.codec.BinaryDecoder;
+import org.apache.directory.shared.asn1.codec.BinaryEncoder;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.codec.EncoderException;
 
 /**
  * Translates between byte arrays and strings of "0"s and "1"s.
@@ -75,7 +75,7 @@
      * @param raw
      *                  the raw binary data to convert
      * @return 0 and 1 ascii character bytes one for each bit of the argument
-     * @see org.apache.asn1.codec.BinaryEncoder#encode(byte[])
+     * @see org.apache.directory.shared.asn1.codec.BinaryEncoder#encode(byte[])
      */
     public byte[] encode(byte[] raw) {
         return toAsciiBytes(raw);
@@ -89,7 +89,7 @@
      * @return 0 and 1 ascii character chars one for each bit of the argument
      * @throws EncoderException
      *                  if the argument is not a byte[]
-     * @see org.apache.asn1.codec.Encoder#encode(java.lang.Object)
+     * @see org.apache.directory.shared.asn1.codec.Encoder#encode(java.lang.Object)
      */
     public Object encode(Object raw) throws EncoderException {
         if (!(raw instanceof byte[])) {
@@ -106,7 +106,7 @@
      * @return the raw encoded binary where each bit corresponds to a byte in the byte array argument
      * @throws DecoderException
      *                  if argument is not a byte[], char[] or String
-     * @see org.apache.asn1.codec.Decoder#decode(java.lang.Object)
+     * @see org.apache.directory.shared.asn1.codec.Decoder#decode(java.lang.Object)
      */
     public Object decode(Object ascii) throws DecoderException {
         if (ascii == null) {
@@ -130,7 +130,7 @@
      * @param ascii
      *                  each byte represents an ascii '0' or '1'
      * @return the raw encoded binary where each bit corresponds to a byte in the byte array argument
-     * @see org.apache.asn1.codec.Decoder#decode(Object)
+     * @see org.apache.directory.shared.asn1.codec.Decoder#decode(Object)
      */
     public byte[] decode(byte[] ascii) {
         return fromAscii(ascii);
@@ -142,7 +142,7 @@
      * @param ascii
      *                  String of '0' and '1' characters
      * @return the raw encoded binary where each bit corresponds to a byte in the byte array argument
-     * @see org.apache.asn1.codec.Decoder#decode(Object)
+     * @see org.apache.directory.shared.asn1.codec.Decoder#decode(Object)
      */
     public byte[] toByteArray(String ascii) {
         if (ascii == null) {
@@ -217,7 +217,7 @@
      * @param raw
      *                  the raw binary data to convert
      * @return an array of 0 and 1 character bytes for each bit of the argument
-     * @see org.apache.asn1.codec.BinaryEncoder#encode(byte[])
+     * @see org.apache.directory.shared.asn1.codec.BinaryEncoder#encode(byte[])
      */
     public static byte[] toAsciiBytes(byte[] raw) {
         if (raw == null || raw.length == 0) {
@@ -247,7 +247,7 @@
      * @param raw
      *                  the raw binary data to convert
      * @return an array of 0 and 1 characters for each bit of the argument
-     * @see org.apache.asn1.codec.BinaryEncoder#encode(byte[])
+     * @see org.apache.directory.shared.asn1.codec.BinaryEncoder#encode(byte[])
      */
     public static char[] toAsciiChars(byte[] raw) {
         if (raw == null || raw.length == 0) {
@@ -277,7 +277,7 @@
      * @param raw
      *                  the raw binary data to convert
      * @return a String of 0 and 1 characters representing the binary data
-     * @see org.apache.asn1.codec.BinaryEncoder#encode(byte[])
+     * @see org.apache.directory.shared.asn1.codec.BinaryEncoder#encode(byte[])
      */
     public static String toAsciiString(byte[] raw) {
         return new String(toAsciiChars(raw));

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/Hex.java (from r375781, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/Hex.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/Hex.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/Hex.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/Hex.java&r1=375781&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/binary/Hex.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/binary/Hex.java Tue Feb  7 16:10:02 2006
@@ -14,12 +14,12 @@
  * limitations under the License.
  */ 
 
-package org.apache.asn1.codec.binary;
+package org.apache.directory.shared.asn1.codec.binary;
 
-import org.apache.asn1.codec.BinaryDecoder;
-import org.apache.asn1.codec.BinaryEncoder;
-import org.apache.asn1.codec.DecoderException;
-import org.apache.asn1.codec.EncoderException;
+import org.apache.directory.shared.asn1.codec.BinaryDecoder;
+import org.apache.directory.shared.asn1.codec.BinaryEncoder;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.codec.EncoderException;
 
 /**
  * Hex encoder and decoder.

Copied: directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/stateful/AbstractStatefulDecoder.java (from r375660, directory/trunks/asn1/src/main/java/org/apache/asn1/codec/stateful/AbstractStatefulDecoder.java)
URL: http://svn.apache.org/viewcvs/directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/stateful/AbstractStatefulDecoder.java?p2=directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/stateful/AbstractStatefulDecoder.java&p1=directory/trunks/asn1/src/main/java/org/apache/asn1/codec/stateful/AbstractStatefulDecoder.java&r1=375660&r2=375785&rev=375785&view=diff
==============================================================================
--- directory/trunks/asn1/src/main/java/org/apache/asn1/codec/stateful/AbstractStatefulDecoder.java (original)
+++ directory/trunks/asn1/src/main/java/org/apache/directory/shared/asn1/codec/stateful/AbstractStatefulDecoder.java Tue Feb  7 16:10:02 2006
@@ -14,7 +14,7 @@
  *   limitations under the License.
  *
  */
-package org.apache.asn1.codec.stateful ;
+package org.apache.directory.shared.asn1.codec.stateful ;
 
 
 /**



Mime
View raw message