harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndbe...@apache.org
Subject svn commit: r437433 [16/17] - in /incubator/harmony/enhanced/classlib/trunk/modules/jndi/src: main/java/javax/naming/ main/java/javax/naming/directory/ main/java/javax/naming/event/ main/java/javax/naming/ldap/ main/java/javax/naming/spi/ main/java/org...
Date Sun, 27 Aug 2006 18:26:28 GMT
Modified: incubator/harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/spi/NamingManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/spi/NamingManagerTest.java?rev=437433&r1=437432&r2=437433&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/spi/NamingManagerTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/spi/NamingManagerTest.java Sun Aug 27 11:26:20 2006
@@ -1,2246 +1,2246 @@
-/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
- * 
- * 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.harmony.jndi.tests.javax.naming.spi;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.naming.CannotProceedException;
-import javax.naming.CompositeName;
-import javax.naming.Context;
-import javax.naming.Name;
-import javax.naming.NameParser;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.NoInitialContextException;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
-import javax.naming.Referenceable;
-import javax.naming.StringRefAddr;
-import javax.naming.spi.NamingManager;
-import javax.naming.spi.ObjectFactory;
-import javax.naming.spi.ObjectFactoryBuilder;
-import javax.naming.spi.StateFactory;
-
-import junit.framework.TestCase;
-import org.apache.harmony.jndi.tests.javax.naming.spi.mock.MockDirContext;
-import org.apache.harmony.jndi.tests.javax.naming.util.Log;
-import com.sun.jndi.url.nntp.nntpURLContextFactory;
-
-
-import dazzle.jndi.testing.spi.DazzleContext;
-
-public class NamingManagerTest extends TestCase {
-
-	/*
-	 * ------------------------------------------------------------------- 
-	 * Class variables
-	 * -------------------------------------------------------------------
-	 */
-
-	static Log log = new Log(NamingManagerTest.class);
-
-	// Name of the property indicating a RuntimeException should be simulated.
-	private static final String INDICATION_RUNTIME_EXCEPTION = "indication.RuntimeException";
-
-	// Name of the property indicating a NullPointerException should be
-	// simulated.
-	private static final String INDICATION_NULL_POINTER_EXCEPTION = "indication.NullPointerException";
-
-	// Name of the property indicating a NamingException should be simulated.
-	private static final String INDICATION_NAMING_EXCEPTION = "indication.NamingException";
-
-	// Name of the property indicating a null should be returned.
-	private static final String INDICATION_RETURN_NULL = "indication.returnNull";
-
-	/*
-	 * -------------------------------------------------------------------
-	 * Instance variables (Should be private)
-	 * -------------------------------------------------------------------
-	 */
-	Hashtable props1 = new Hashtable();
-
-	/**
-	 * Constructor for NamingManagerTest.
-	 * 
-	 * @param arg0
-	 */
-	public NamingManagerTest(String arg0) {
-		super(arg0);
-	}
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		props1.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		props1
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockStateFactory");
-
-		Hashtable env = new Hashtable();
-		env
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		writeProviderResource(MockContext.class.getName(), new Hashtable());
-		writeProviderResource(MockDirContext.class.getName(), env);
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		deleteProviderResource(MockContext.class.getName());
-		deleteProviderResource(MockDirContext.class.getName());
-	}
-
-	public static boolean actionIndicated(Hashtable env, String indicationName) {
-		if (null == env) {
-			return false;
-		} else {
-			Integer occurLevel = (Integer) env.get(indicationName);
-			if (null != occurLevel) {
-				if (occurLevel.intValue() <= 1) {
-					env.remove(indicationName);
-					return true;
-				} else {
-					env.put(indicationName, new Integer(
-							occurLevel.intValue() - 1));
-					return false;
-				}
-			} else {
-				return false;
-			}
-		}
-	}
-
-	public static void indicateReturnNull(Hashtable env) {
-		indicateReturnNull(env, 1);
-	}
-
-	public static void indicateReturnNull(Hashtable env, int occurLevel) {
-		env.put(INDICATION_RETURN_NULL, new Integer(occurLevel));
-	}
-
-	public static boolean returnNullIndicated(Hashtable env) {
-		return actionIndicated(env, INDICATION_RETURN_NULL);
-	}
-
-	public static void indicateRuntimeException(Hashtable env) {
-		indicateRuntimeException(env, 1);
-	}
-
-	public static void indicateRuntimeException(Hashtable env, int occurLevel) {
-		env.put(INDICATION_RUNTIME_EXCEPTION, new Integer(occurLevel));
-	}
-
-	public static boolean runtimeExceptionIndicated(Hashtable env) {
-		return actionIndicated(env, INDICATION_RUNTIME_EXCEPTION);
-	}
-
-	public static void indicateNullPointerException(Hashtable env) {
-		indicateNullPointerException(env, 1);
-	}
-
-	public static void indicateNullPointerException(Hashtable env,
-			int occurLevel) {
-		env.put(INDICATION_NULL_POINTER_EXCEPTION, new Integer(occurLevel));
-	}
-
-	public static boolean nullPointerExceptionIndicated(Hashtable env) {
-		return actionIndicated(env, INDICATION_NULL_POINTER_EXCEPTION);
-	}
-
-	public static void indicateNamingException(Hashtable env) {
-		indicateNamingException(env, 1);
-	}
-
-	public static void indicateNamingException(Hashtable env, int occurLevel) {
-		env.put(INDICATION_NAMING_EXCEPTION, new Integer(occurLevel));
-	}
-
-	public static boolean namingExceptionIndicated(Hashtable env) {
-		return actionIndicated(env, INDICATION_NAMING_EXCEPTION);
-	}
-
-	public static void issueIndicatedExceptions(Hashtable env)
-			throws NamingException {
-		if (nullPointerExceptionIndicated(env)) {
-			throw new NullPointerException("Simulated NullPointerException.");
-		} else if (namingExceptionIndicated(env)) {
-			throw new NamingException("Simulated NamingException.");
-		} else if (runtimeExceptionIndicated(env)) {
-			throw new RuntimeException("Simulated RuntimeException.");
-		}
-	}
-
-	/*
-	 * -------------------------------------------------------------------
-	 * Methods
-	 * -------------------------------------------------------------------
-	 */
-
-	// public void testDefaultConstructor() {
-	// log.setMethod("testDefaultConstructor()");
-	// // for coverage only, no meaning at all!
-	// try {
-	// NamingManager manager = new NamingManager();
-	// } catch (Throwable t) {
-	// }
-	// }
-	/**
-	 * Test the normal condition when the class name is properly set before
-	 * builder is set.
-	 */
-	public void testGetInitialContext_NoBuilder_Normal() throws NamingException {
-		log.setMethod("testGetInitialContext_NoBuilder_Normal()");
-		Context context = NamingManager.getInitialContext(props1);
-		assertTrue(context instanceof DazzleContext);
-	}
-
-	/**
-	 * Test the behavior when the class name is null before factory builder is
-	 * set.
-	 */
-	public void testGetInitialContext_NoBuilder_NullFactory()
-			throws NamingException {
-		log.setMethod("testGetInitialContext_NoBuilder_NullFactory()");
-		Hashtable envWithNoFac = new Hashtable();
-		try {
-			Context context = NamingManager.getInitialContext(envWithNoFac);
-			fail("Should throw NoInitialContextException.");
-		} catch (NoInitialContextException e) {
-		}
-	}
-
-	/**
-	 * Test the behavior when the class name is empty before factory builder is
-	 * set.
-	 */
-	public void testGetInitialContext_NoBuilder_EmptyFactory()
-			throws NamingException {
-		log.setMethod("testGetInitialContext_NoBuilder_EmptyFactory()");
-		Hashtable envWithEmptyFac = new Hashtable();
-		envWithEmptyFac.put(Context.INITIAL_CONTEXT_FACTORY, "");
-		try {
-			Context context = NamingManager.getInitialContext(envWithEmptyFac);
-			fail("Should throw NoInitialContextException.");
-		} catch (NoInitialContextException e) {
-		}
-	}
-
-	/**
-	 * Test the behavior when the class name is invalid before factory builder
-	 * is set.
-	 */
-	public void testGetInitialContext_NoBuilder_InvalidFactory()
-			throws NamingException {
-		log.setMethod("testGetInitialContext_NoBuilder_InvalidFactory()");
-		Hashtable envWithInvalidFac = new Hashtable();
-		envWithInvalidFac.put(Context.INITIAL_CONTEXT_FACTORY, "junk.Factory");
-		try {
-			Context context = NamingManager
-					.getInitialContext(envWithInvalidFac);
-			fail("Should throw NoInitialContextException.");
-		} catch (NoInitialContextException e) {
-		}
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with a
-	 * valid factory name which works properly. Should return an object
-	 * successfully.
-	 * 
-	 * Try the same when the fed object is Referenceable.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceValidFactory()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceValidFactory()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		Reference r = new Reference(
-				null,
-				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
-				null);
-		Object obj = NamingManager.getObjectInstance(r, null, null, env);
-
-		// if (null != obj) {
-		// log.log(obj.toString());
-		// } else {
-		// log.log("Null object returned!");
-		// }
-		assertEquals(new MockObject(r, null, null, env), obj);
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		obj = NamingManager.getObjectInstance(mr, null, null, env);
-		assertEquals(new MockObject(r, null, null, env), obj);
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with an
-	 * invalid factory name. Should return the original object.
-	 * 
-	 * Try the same when the fed object is Referenceable.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceInvalidFactory()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceInvalidFactory()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		Reference r = new Reference(null, "junk.factory", null);
-		Object obj = NamingManager.getObjectInstance(r, null, null, env);
-		assertSame(r, obj);
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		obj = NamingManager.getObjectInstance(mr, null, null, env);
-		assertSame(mr, obj);
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with a
-	 * valid factory name but the factory fails to create an object. Should
-	 * throw the exception.
-	 * 
-	 * Try the same when the fed object is Referenceable.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceException()
-			throws Exception {
-		log.setMethod("testGetObjectInstance_NoBuilder_ReferenceException()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		Reference r = new Reference(
-				null,
-				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
-				null);
-		indicateNullPointerException(env);
-		try {
-			Object obj = NamingManager.getObjectInstance(r, null, null, env);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-			// log.log(e);
-		}
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		indicateNamingException(env);
-		try {
-			Object obj = NamingManager.getObjectInstance(mr, null, null, env);
-			fail("Should throw NamingException.");
-		} catch (NamingException e) {
-			// log.log(e);
-		}
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with a
-	 * valid factory name but the factory returns null. Should return null.
-	 * 
-	 * Try the same when the fed object is Referenceable.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceReturnNull()
-			throws Exception {
-		log.setMethod("testGetObjectInstance_NoBuilder_ReferenceReturnNull()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		Reference r = new Reference(
-				null,
-				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
-				null);
-		indicateReturnNull(env);
-		Object obj = NamingManager.getObjectInstance(r, null, null, env);
-		assertNull(obj);
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		indicateReturnNull(env);
-		obj = NamingManager.getObjectInstance(mr, null, null, env);
-		assertNull(obj);
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with no
-	 * factory name, and there are one MockRefAddr which contains a valid URL
-	 * and another MockRefAddr whose type is null. Should return the original
-	 * object o.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceNullTypedNonStrAddr()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceNullTypedNonStrAddr()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		Reference r = new Reference(null);
-		MockRefAddr mockAddr = new MockRefAddr("URL", "ftp://www.apache.org/");
-		r.add(mockAddr);
-		mockAddr = new MockRefAddr(null, "ftp://www.apache.org/");
-		r.add(mockAddr);
-
-		Object obj = NamingManager.getObjectInstance(r, new CompositeName(
-				"compositename"), new MockContext(new Hashtable()), env);
-		assertSame(obj, r);
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with no
-	 * factory name, and there is a StringRefAddr whose type is null. Should
-	 * throw NullPointerException.
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceNullTypedStrAddr()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceNullTypedStrAddr()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		Reference r = new Reference(null);
-		StringRefAddr nullTypeAddr = new StringRefAddr(null,
-				"ftp://www.apache.org/");
-		r.add(nullTypeAddr);
-
-		try {
-			Object obj = NamingManager.getObjectInstance(r, new CompositeName(
-					"compositename"), new MockContext(new Hashtable()), env);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-			// log.log(e);
-		}
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		try {
-			Object obj = NamingManager.getObjectInstance(mr, new CompositeName(
-					"compositename"), new MockContext(new Hashtable()), env);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-			// log.log(e);
-		}
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with no
-	 * factory name, and there is a StringRefAddr with a valid URL which can be
-	 * used to create the object successfully. Before this URL, there are
-	 * several "invalid" URLs: one without scheme, and next without corresponding
-	 * factory, and a third one corresponding to a factory that returns null.
-	 * The types of these StringRefAddr is "URL". Before all these
-	 * StringRefAddr, there is a StringRefAddr whose type is neither "URL" nor
-	 * "url" but contains a vaild URL. Should return an object corresponding to
-	 * the URL mentioned in the beginning successfully.
-	 * 
-	 * Try the same when the fed object is Referenceable. Replace the address
-	 * type "URL" with "url" and try again.
-	 * 
-	 * URL_PKG_PREFIXES is contained in the fed environment properties.
-	 */
-	private void myTestGetObjectInstance_NoBuilder_ReferenceValidURL(String url)
-			throws Exception {
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		Reference r = new Reference(null);
-		StringRefAddr notUrlTypeAddr = new StringRefAddr("uurl",
-				"ftp://www.apache.org/");
-		r.add(notUrlTypeAddr);
-		StringRefAddr noSchemeAddr = new StringRefAddr("URL", "www.apache.org");
-		r.add(noSchemeAddr);
-		StringRefAddr noFactorySchemeAddr = new StringRefAddr(url,
-				"httpss://www.apache.org/");
-		r.add(noFactorySchemeAddr);
-		StringRefAddr returnNullFactoryAddr = new StringRefAddr(url,
-				"news://www.apache.org/");
-		r.add(returnNullFactoryAddr);
-		StringRefAddr validFactoryAddr = new StringRefAddr(url,
-				"ftp://www.apache.org/");
-		r.add(validFactoryAddr);
-
-		MockContext ctx = (MockContext) NamingManager.getObjectInstance(r,
-				new CompositeName("compositename"), new MockContext(
-						new Hashtable()), env);
-		// if (null != ctx) {
-		// log.log(ctx.getEnvironment().toString());
-		// } else {
-		// log.log("Null object returned!");
-		// }
-		assertTrue(ctx.parameterEquals(validFactoryAddr.getContent(),
-				new CompositeName("compositename"), new MockContext(
-						new Hashtable()), env));
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		ctx = (MockContext) NamingManager.getObjectInstance(mr,
-				new CompositeName("compositename"), new MockContext(
-						new Hashtable()), env);
-		assertTrue(ctx.parameterEquals(validFactoryAddr.getContent(),
-				new CompositeName("compositename"), new MockContext(
-						new Hashtable()), env));
-	}
-
-	public void testGetObjectInstance_NoBuilder_ReferenceValidURL_URL()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceValidURL_URL()");
-		myTestGetObjectInstance_NoBuilder_ReferenceValidURL("URL");
-	}
-
-	public void testGetObjectInstance_NoBuilder_ReferenceValidURL_url()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceValidURL_url()");
-		myTestGetObjectInstance_NoBuilder_ReferenceValidURL("url");
-	}
-
-	/**
-	 * Test the default URL context factory: com.sun.jndi.url
-	 */
-	public void testGetObjectInstance_NoBuilder_ReferenceDefaultURL()
-			throws Exception {
-		log.setMethod("testGetObjectInstance_NoBuilder_ReferenceDefaultURL()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-
-		Reference r = new Reference(null);
-		StringRefAddr addr = new StringRefAddr("url", "nntp://www.apache.org/");
-		r.add(addr);
-
-		nntpURLContextFactory.MockObject obj = (nntpURLContextFactory.MockObject) NamingManager
-				.getObjectInstance(r, new CompositeName("compositename"), null,
-						env);
-
-		assertEquals(obj, new nntpURLContextFactory.MockObject(addr
-				.getContent(), new CompositeName("compositename"), null, env));
-
-		// test Referenceable
-		MockReferenceable mr = new MockReferenceable(r);
-		obj = (nntpURLContextFactory.MockObject) NamingManager
-				.getObjectInstance(mr.getReference(), new CompositeName(
-						"compositename"), null, env);
-
-		assertEquals(obj, new nntpURLContextFactory.MockObject(addr
-				.getContent(), new CompositeName("compositename"), null, env));
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with no
-	 * factory name, and there is a StringRefAddr with a valid URL which results
-	 * in a NullPointerException when creating an object. After this URL there
-	 * is another URL which can be used to create the object successfully. The
-	 * types of these StringRefAddr is "URL". Should throw a
-	 * NullPointerException.
-	 * 
-	 * Try the same when the fed object is Referenceable. Replace the address
-	 * type "URL" with "url" and try again.
-	 * 
-	 * URL_PKG_PREFIXES is contained in the fed context's provider resource
-	 * file.
-	 * 
-	 */
-	private void myTestGetObjectInstance_NoBuilder_ReferenceExceptionalURL(
-			String url) throws Exception {
-		try {
-			// testGetStateToBind_obj_name_ctx_empty();
-			Hashtable env = new Hashtable();
-
-			Reference r = new Reference(null);
-			StringRefAddr exceptionalFactoryAddr = new StringRefAddr(url,
-					"http://www.apache.org/");
-			r.add(exceptionalFactoryAddr);
-			StringRefAddr validFactoryAddr = new StringRefAddr(url,
-					"ftp://www.apache.org/");
-			r.add(validFactoryAddr);
-
-			Hashtable ctxEnv = new Hashtable();
-			/*
-			 * ctxEnv.put( Context.INITIAL_CONTEXT_FACTORY,
-			 * "dazzle.jndi.testing.spi.DazzleContextFactory");
-			 */
-			// ctxEnv.put(Context.URL_PKG_PREFIXES,
-			// "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-			env
-					.put(Context.URL_PKG_PREFIXES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-
-			// writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-			// ctxEnv);
-			try {
-				indicateNullPointerException(env);
-				Object ctx = NamingManager.getObjectInstance(r,
-						new CompositeName("compositename"), new MockContext(
-								ctxEnv), env);
-				log.log(null == ctx ? "null object returned" : ctx.toString());
-				fail("Should throw NamingException with root cause - null pointer.");
-			} catch (NamingException e) {
-				assertTrue(e.getRootCause() instanceof NullPointerException);
-			}
-
-			// test Referenceable
-			MockReferenceable mr = new MockReferenceable(r);
-			try {
-				indicateNamingException(env);
-				MockContext ctx = (MockContext) NamingManager
-						.getObjectInstance(mr, new CompositeName(
-								"compositename"), new MockContext(ctxEnv), env);
-				log.log(null == ctx ? "null object returned" : ctx.toString());
-				fail("Should throw NamingException.");
-			} catch (NamingException e) {
-				assertNull(e.getRootCause());
-			}
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	private void myTestGetObjectInstance_NoBuilder_ReferenceExceptionalURL2(
-			String url) throws Exception {
-		try {
-			Hashtable env = new Hashtable();
-
-			Reference r = new Reference(null);
-			StringRefAddr exceptionalFactoryAddr = new StringRefAddr(url,
-					"http://www.apache.org/");
-			r.add(exceptionalFactoryAddr);
-			StringRefAddr validFactoryAddr = new StringRefAddr(url,
-					"ftp://www.apache.org/");
-			r.add(validFactoryAddr);
-
-			Hashtable ctxEnv = new Hashtable();
-
-			ctxEnv.put(Context.INITIAL_CONTEXT_FACTORY,
-					"dazzle.jndi.testing.spi.DazzleContextFactory");
-
-			ctxEnv.put(Context.URL_PKG_PREFIXES,
-					"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy", ctxEnv);
-			try {
-				indicateNullPointerException(ctxEnv);
-				Object ctx = NamingManager.getObjectInstance(r,
-						new CompositeName("compositename"), new MockContext(
-								ctxEnv), ctxEnv);
-				fail("Should throw NamingException with root cause - null pointer.");
-			} catch (NamingException e) {
-				assertTrue(e.getRootCause() instanceof NullPointerException);
-			}
-
-			// test Referenceable
-			MockReferenceable mr = new MockReferenceable(r);
-			try {
-				indicateNamingException(ctxEnv);
-				MockContext ctx = (MockContext) NamingManager
-						.getObjectInstance(mr, new CompositeName(
-								"compositename"), new MockContext(ctxEnv),
-								ctxEnv);
-				fail("Should throw NamingException.");
-			} catch (NamingException e) {
-				assertNull(e.getRootCause());
-			}
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	public void testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_URL()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_URL()");
-		myTestGetObjectInstance_NoBuilder_ReferenceExceptionalURL("URL");
-	}
-
-	public void testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_URL2()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_URL2()");
-		myTestGetObjectInstance_NoBuilder_ReferenceExceptionalURL2("URL");
-	}
-
-	public void testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_url()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_ReferenceExceptionalURL_url()");
-		myTestGetObjectInstance_NoBuilder_ReferenceExceptionalURL("url");
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is neither Reference
-	 * nor Referenceable (e.g., String), and the environment properties contains
-	 * a vaild factory name, while the fed context's provider resource file also
-	 * contains a vaild factory name. Should return an object created by the
-	 * factory specified by the fed environment properties.
-	 */
-	public void testGetObjectInstance_NoBuilder_NotRef_ValidFactory()
-			throws Exception {
-		log.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactory()");
-		try {
-			log
-					.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactory");
-			Hashtable env = new Hashtable();
-			env.put(Context.INITIAL_CONTEXT_FACTORY,
-					"dazzle.jndi.testing.spi.DazzleContextFactory");
-			env
-					.put(Context.OBJECT_FACTORIES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-
-			Hashtable ctxEnv = new Hashtable();
-			ctxEnv
-					.put(Context.OBJECT_FACTORIES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactoryNoException");
-			ctxEnv.put(Context.URL_PKG_PREFIXES,
-					"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy", ctxEnv);
-			Context ctx = new MockContext(ctxEnv);
-
-			Object obj = NamingManager.getObjectInstance("Junk",
-					new CompositeName("compositename"), ctx, env);
-			assertEquals(new MockObject("Junk", new CompositeName(
-					"compositename"), ctx, env), obj);
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	/**
-	 * When no factory builder is set and the fed object is Reference with no
-	 * factory name but contains several "invalid" URLs: one without scheme, and
-	 * next without corresponding factory, and a third one corresponding to a
-	 * factory that returns null. The types of these StringRefAddr is "url".
-	 * Before all these StringRefAddr, there is is a MockRefAddr whose type is
-	 * also "url" and contains a valid URL which can be used to create an object
-	 * successfully, and a StringRefAddr whose type is neither "URL" nor "url"
-	 * but contains a vaild URL. And fed context's provider resource file does
-	 * contain a vaild factory name following another factory that returns null.
-	 * Should return an object created by the factory specified by the fed
-	 * context's environment properties.
-	 * 
-	 */
-	public void testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull()");
-		try {
-			log
-					.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull");
-			Hashtable ctxEnv = new Hashtable();
-			ctxEnv
-					.put(
-							Context.OBJECT_FACTORIES,
-							":org.apache.harmony.jndi.tests.javax.naming.spi.news.newsURLContextFactory:"
-									+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-			// ctxEnv.put(Context.URL_PKG_PREFIXES,
-			// "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-			// writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-			// ctxEnv);
-
-			Hashtable env = new Hashtable();
-			env
-					.put(
-							Context.OBJECT_FACTORIES,
-							":org.apache.harmony.jndi.tests.javax.naming.spi.news.newsURLContextFactory:"
-									+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-
-			Context ctx = new MockContext(ctxEnv);
-
-			/*
-			 * env.put( Context.INITIAL_CONTEXT_FACTORY,
-			 * "dazzle.jndi.testing.spi.DazzleContextFactory");
-			 */
-			env
-					.put(Context.URL_PKG_PREFIXES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-
-			Reference r = new Reference("");
-			MockRefAddr mockAddr = new MockRefAddr("URL",
-					"ftp://www.apache.org/");
-			r.add(mockAddr);
-			StringRefAddr notUrlTypeAddr = new StringRefAddr("uurl",
-					"ftp://www.apache.org/");
-			r.add(notUrlTypeAddr);
-			StringRefAddr noSchemeAddr = new StringRefAddr("URL",
-					"www.apache.org");
-			r.add(noSchemeAddr);
-			StringRefAddr noFactorySchemeAddr = new StringRefAddr("url",
-					"httpss://www.apache.org/");
-			r.add(noFactorySchemeAddr);
-			StringRefAddr returnNullFactoryAddr = new StringRefAddr("url",
-					"news://www.apache.org/");
-			r.add(returnNullFactoryAddr);
-
-			Object obj = NamingManager.getObjectInstance(r, new CompositeName(
-					"compositename"), ctx, env);
-			// if (null != obj) {
-			// log.log(obj.toString());
-			// } else {
-			// log.log("Null object returned!");
-			// }
-			assertEquals(new MockObject(r, new CompositeName("compositename"),
-					ctx, env), obj);
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	public void testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_1()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_1()");
-		try {
-			log
-					.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_1");
-			Hashtable ctxEnv = new Hashtable();
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy", ctxEnv);
-
-			Context ctx = new MockContext(ctxEnv);
-
-			Hashtable env = new Hashtable();
-			env
-					.put(Context.URL_PKG_PREFIXES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-			env.put(Context.OBJECT_FACTORIES,
-					":org.apache.harmony.jndi.tests.javax.naming.spi.news.newsURLContextFactory");
-
-			Reference r = new Reference("");
-			MockRefAddr mockAddr = new MockRefAddr("URL",
-					"ftp://www.apache.org/");
-			r.add(mockAddr);
-			StringRefAddr notUrlTypeAddr = new StringRefAddr("uurl",
-					"ftp://www.apache.org/");
-			r.add(notUrlTypeAddr);
-			StringRefAddr noSchemeAddr = new StringRefAddr("URL",
-					"www.apache.org");
-			r.add(noSchemeAddr);
-			StringRefAddr noFactorySchemeAddr = new StringRefAddr("url",
-					"httpss://www.apache.org/");
-			r.add(noFactorySchemeAddr);
-			StringRefAddr returnNullFactoryAddr = new StringRefAddr("url",
-					"news://www.apache.org/");
-			r.add(returnNullFactoryAddr);
-
-			Object obj = NamingManager.getObjectInstance(r, new CompositeName(
-					"compositename"), ctx, env);
-			// if (null != obj) {
-			// log.log(obj.toString());
-			// } else {
-			// log.log("Null object returned!");
-			// }
-			assertEquals(r, obj);
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	public void testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_2()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_2()");
-		try {
-			log
-					.setMethod("testGetObjectInstance_NoBuilder_NotRef_ValidFactoryWithNull_2");
-			Hashtable ctxEnv = new Hashtable();
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy", ctxEnv);
-
-			Context ctx = new MockContext(ctxEnv);
-
-			Hashtable env = new Hashtable();
-			env.put(Context.INITIAL_CONTEXT_FACTORY,
-					"dazzle.jndi.testing.spi.DazzleContextFactory");
-			env
-					.put(Context.URL_PKG_PREFIXES,
-							"org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-			env
-					.put(
-							Context.OBJECT_FACTORIES,
-							":org.apache.harmony.jndi.tests.javax.naming.spi.news.newsURLContextFactory"
-									+ ":org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-
-			Reference r = new Reference("");
-			MockRefAddr mockAddr = new MockRefAddr("URL",
-					"ftp://www.apache.org/");
-			r.add(mockAddr);
-			StringRefAddr notUrlTypeAddr = new StringRefAddr("uurl",
-					"ftp://www.apache.org/");
-			r.add(notUrlTypeAddr);
-			StringRefAddr noSchemeAddr = new StringRefAddr("URL",
-					"www.apache.org");
-			r.add(noSchemeAddr);
-			StringRefAddr noFactorySchemeAddr = new StringRefAddr("url",
-					"httpss://www.apache.org/");
-			r.add(noFactorySchemeAddr);
-			StringRefAddr returnNullFactoryAddr = new StringRefAddr("url",
-					"news://www.apache.org/");
-			r.add(returnNullFactoryAddr);
-
-			Object obj = NamingManager.getObjectInstance(r, new CompositeName(
-					"compositename"), ctx, env);
-			// if (null != obj) {
-			// log.log(obj.toString());
-			// } else {
-			// log.log("Null object returned!");
-			// }
-			assertEquals(new MockObject(r, new CompositeName("compositename"),
-					ctx, env), obj);
-		} finally {
-			writeProviderResource("org.apache.harmony.jndi.tests.javax.naming.spi.dummy",
-					new Hashtable());
-		}
-	}
-
-	/**
-	 * When no factory builder is set, and all fed parameters are null. Should
-	 * return the original object.
-	 */
-	public void testGetObjectInstance_NoBuilder_AllNull() throws Exception {
-		log.setMethod("testGetObjectInstance_NoBuilder_AllNull()");
-		Object obj = NamingManager.getObjectInstance(null, null, null, null);
-		assertNull(obj);
-
-		Object originalObject = new MockObject(null, null, null, null);
-		obj = NamingManager.getObjectInstance(originalObject, null, null, null);
-		assertSame(obj, originalObject);
-	}
-
-	/**
-	 * When no factory builder is set, and all fed parameters are null except
-	 * the original object and the environment properties. The environment
-	 * properties contains an invalid factory name, and a valid factory name
-	 * that follows. Should return an object created by the valid factory.
-	 */
-	public void testGetObjectInstance_NoBuilder_NotRef_InvalidFactory()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_InvalidFactory()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env
-				.put(
-						Context.OBJECT_FACTORIES,
-						"junk.factory:"
-								+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-
-		Object obj = NamingManager.getObjectInstance(null, null, null, env);
-		assertEquals(new MockObject(null, null, null, env), obj);
-
-		obj = NamingManager.getObjectInstance(env, null, null, env);
-		assertEquals(new MockObject(env, null, null, env), obj);
-	}
-
-	/**
-	 * When no factory builder is set, and all fed parameters are null except
-	 * the original object and the environment properties. The environment
-	 * properties contains a valid factory that throws an exception, and a valid
-	 * factory name that follows. Should throw an exception.
-	 */
-	public void testGetObjectInstance_NoBuilder_NotRef_ExceptionalFactory()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_ExceptionalFactory()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env
-				.put(
-						Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory:"
-								+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactoryNoException");
-
-		try {
-			indicateNullPointerException(env);
-			Object obj = NamingManager.getObjectInstance(null, null, null, env);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-
-		try {
-			indicateNamingException(env);
-			Object obj = NamingManager.getObjectInstance(null, null, null, env);
-			fail("Should throw NamingException.");
-		} catch (NamingException e) {
-		}
-
-	}
-
-	/**
-	 * When no factory builder is set, and all fed parameters are null except
-	 * the original object and the environment properties. The environment
-	 * properties contains a valid factory that returns null. Should return the
-	 * original object.
-	 */
-	public void testGetObjectInstance_NoBuilder_NotRef_FactoryWithNull()
-			throws Exception {
-		log
-				.setMethod("testGetObjectInstance_NoBuilder_NotRef_FactoryWithNull()");
-		Hashtable env = new Hashtable();
-		env.put(Context.INITIAL_CONTEXT_FACTORY,
-				"dazzle.jndi.testing.spi.DazzleContextFactory");
-		env.put(Context.OBJECT_FACTORIES,
-				"org.apache.harmony.jndi.tests.javax.naming.spi.news.newsURLContextFactory");
-
-		Object obj = NamingManager.getObjectInstance(null, null, null, env);
-		assertNull(obj);
-
-		obj = NamingManager.getObjectInstance(env, null, null, env);
-		assertSame(env, obj);
-	}
-
-	public void testGetStateToBind_null_null_null_null() {
-		log.setMethod("testGetStateToBind_null_null_null_null()");
-		Object o = null;
-		Name n = null;
-		Context c = null;
-		Hashtable h = null;
-
-		try {
-			Object r = (Object) NamingManager.getStateToBind(o, n, c, h);
-			assertNull(r);
-		} catch (NamingException e) {
-			fail("should throw NullPointerException");
-		}
-	}
-
-	public void testGetStateToBind_null_null_null_hash() {
-		log.setMethod("testGetStateToBind_null_null_null_hash()");
-		Object o = null;
-		Name n = null;
-		Context c = null;
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	// public void testGetStateToBind_null_null_ctx_null() {
-	// log.setMethod("testGetStateToBind_null_null_ctx_null()");
-	// Object o = null;
-	// Name n = null;
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = null;
-	//
-	// try {
-	// Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	// public void testGetStateToBind_null_null_ctx_empty() {
-	// log.setMethod("testGetStateToBind_null_null_ctx_empty()");
-	// Object o = null;
-	// Name n = null;
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = new Hashtable();
-	//
-	// try {
-	// Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	public void testGetStateToBind_null_null_ctx_empty2() {
-		log.setMethod("testGetStateToBind_null_null_ctx_empty2()");
-		Object o = null;
-		Name n = null;
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-
-		try {
-			Object r = NamingManager.getStateToBind(o, n, c, h);
-			assertNull(r);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_null_name_ctx_hash() {
-		log.setMethod("testGetStateToBind_null_name_ctx_hash()");
-		Object o = null;
-		Name n = new CompositeName();
-		Context c = new MockDirContext(new Hashtable());
-		// lead to state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	// public void testGetStateToBind_obj_name_ctx_empty() {
-	// log.setMethod("testGetStateToBind_obj_name_ctx_empty()");
-	// Object o = "object";
-	// Name n = new CompositeName();
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = new Hashtable();
-	//
-	// try {
-	// Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	public void testGetStateToBind_obj_name_ctx_empty2() {
-		log.setMethod("testGetStateToBind_obj_name_ctx_empty2()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-
-		try {
-			Object r = NamingManager.getStateToBind(o, n, c, h);
-			assertSame(o, r);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_obj_name_ctx_hash() {
-		log.setMethod("testGetStateToBind_obj_name_ctx_hash()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockDirContext(new Hashtable());
-		// lead to state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_f1BadClassName_Success() {
-		log.setMethod("testGetStateToBind_f1BadClassName_Success()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(
-						Context.STATE_FACTORIES,
-						"bad.class.Name"
-								+ ":"
-								+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	// public void testGetStateToBind_f2Success() {
-	// log.setMethod("testGetStateToBind_f2Success()");
-	// Object o = "object";
-	// Name n = new CompositeName();
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = new Hashtable();
-	//
-	// try {
-	// Object ro = NamingManager.getStateToBind(o, n, c, h);
-	// Hashtable r = (Hashtable) ro;
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	// public void testGetStateToBind_f1BadClassName_f2Success() {
-	// log.setMethod("testGetStateToBind_f1BadClassName_f2Success()");
-	// Object o = "object";
-	// Name n = new CompositeName();
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = new Hashtable();
-	// h.put(Context.STATE_FACTORIES, "bad.class.Name");
-	//
-	// try {
-	// Object ro = NamingManager.getStateToBind(o, n, c, h);
-	// Hashtable r = (Hashtable) ro;
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	public void testGetStateToBind_f1NamingException_f2Success() {
-		log.setMethod("testGetStateToBind_f1NamingException_f2Success()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockDirContext(new Hashtable());
-		// lead to state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		indicateNamingException(h);
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-		} catch (NamingException e) {
-			assertTrue(e.getMessage().indexOf("Simulated") >= 0);
-		} catch (Throwable e) {
-			fail("should throw NamingException");
-		}
-	}
-
-	public void testGetStateToBind_f1RuntimeException_f2Success() {
-		log.setMethod("testGetStateToBind_f1RuntimeException_f2Success()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockDirContext(new Hashtable());
-		// lead to state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		indicateRuntimeException(h);
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-		} catch (RuntimeException e) {
-			assertTrue(e.getMessage().indexOf("Simulated") >= 0);
-		} catch (Throwable e) {
-			fail("should throw RuntimeException");
-		}
-	}
-
-	public void testGetStateToBind_f1ReturnNull_Success() {
-		log.setMethod("testGetStateToBind_f1ReturnNull_Success()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(
-						Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory"
-								+ ":"
-								+ "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicSuccessMockStateFactory");
-		indicateReturnNull(h);
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	// public void testGetStateToBind_f1ReturnNull_f2Success() {
-	// log.setMethod("testGetStateToBind_f1ReturnNull_f2Success()");
-	// Object o = "object";
-	// Name n = new CompositeName();
-	// Context c = new MockDirContext(new Hashtable());
-	// // lead to state factory
-	// Hashtable h = new Hashtable();
-	// h
-	// .put(Context.STATE_FACTORIES,
-	// "org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-	// indicateReturnNull(h);
-	//
-	// try {
-	// Object ro = NamingManager.getStateToBind(o, n, c, h);
-	// Hashtable r = (Hashtable) ro;
-	// assertEquals(r.get("o"), o);
-	// assertEquals(r.get("n"), n);
-	// assertEquals(r.get("c"), c);
-	// assertEquals(r.get("h"), h);
-	// } catch (Throwable e) {
-	// log.log(e);
-	// fail();
-	// }
-	// }
-
-	public void testGetStateToBind_f1Success_f2Success() {
-		log.setMethod("testGetStateToBind_f1Success_f2Success()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockDirContext(new Hashtable());
-		// lead to state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicSuccessMockStateFactory");
-		indicateRuntimeException(h);
-
-		try {
-			Hashtable r = (Hashtable) NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(r.get("o"), o);
-			assertEquals(r.get("n"), n);
-			assertEquals(r.get("c"), c);
-			assertEquals(r.get("h"), h);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_f1ReturnNull() {
-		log.setMethod("testGetStateToBind_f1ReturnNull()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		indicateReturnNull(h);
-
-		try {
-			Object result = NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(o, result);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_f1BadClassName() {
-		log.setMethod("testGetStateToBind_f1BadClassName()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h.put(Context.STATE_FACTORIES, "bad.class.Name");
-
-		try {
-			Object result = NamingManager.getStateToBind(o, n, c, h);
-			assertEquals(o, result);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetStateToBind_f1NamingException() {
-		log.setMethod("testGetStateToBind_f1NamingException()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		indicateNamingException(h);
-
-		try {
-			Object r = NamingManager.getStateToBind(o, n, c, h);
-		} catch (NamingException e) {
-			assertTrue(e.getMessage().indexOf("Simulated") >= 0);
-		} catch (Throwable e) {
-			fail("should throw NamingException");
-		}
-	}
-
-	public void testGetStateToBind_f1RuntimeException() {
-		log.setMethod("testGetStateToBind_f1RuntimeException()");
-		Object o = "object";
-		Name n = new CompositeName();
-		Context c = new MockContext(new Hashtable()); // no state factory
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.STATE_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
-		indicateRuntimeException(h);
-
-		try {
-			Object r = NamingManager.getStateToBind(o, n, c, h);
-		} catch (RuntimeException e) {
-			assertTrue(e.getMessage().indexOf("Simulated") >= 0);
-		} catch (Throwable e) {
-			fail("should throw RuntimeException");
-		}
-	}
-
-	public void testGetURLContext_null_null() {
-		log.setMethod("testGetURLContext_null_null()");
-		String schema = null;
-		Hashtable h = null;
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_empty_null() {
-		log.setMethod("testGetURLContext_empty_null()");
-		String schema = "";
-		Hashtable h = null;
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_null() {
-		log.setMethod("testGetURLContext_http_null()");
-		String schema = "http";
-		Hashtable h = null;
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_empty() {
-		log.setMethod("testGetURLContext_http_empty()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1Success() {
-		log.setMethod("testGetURLContext_http_f1Success()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h.put(Context.URL_PKG_PREFIXES,
-				"org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess");
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx.getEnvironment().get("o"));
-			assertNull(ctx.getEnvironment().get("n"));
-			assertNull(ctx.getEnvironment().get("c"));
-			assertSame(h, ctx.getEnvironment().get("h"));
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1BadClassName_f2Success() {
-		log.setMethod("testGetURLContext_http_f1BadClassName_f2Success()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h.put(Context.URL_PKG_PREFIXES,
-				"bad.class.name:org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess");
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx.getEnvironment().get("o"));
-			assertNull(ctx.getEnvironment().get("n"));
-			assertNull(ctx.getEnvironment().get("c"));
-			assertSame(h, ctx.getEnvironment().get("h"));
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1NamingException_f2Success() {
-		log.setMethod("testGetURLContext_http_f1NamingException_f2Success()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess");
-		indicateNamingException(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			fail("NamingException expected");
-		} catch (NamingException e) {
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1RuntimeException_f2Success() {
-		log.setMethod("testGetURLContext_http_f1RuntimeException_f2Success()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess");
-		indicateRuntimeException(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			fail("NamingException expected");
-		} catch (NamingException e) {
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1ReturnNull_f2Success() {
-		log.setMethod("testGetURLContext_http_f1ReturnNull_f2Success()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess");
-		indicateReturnNull(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1Success_f2RuntimeException() {
-		log.setMethod("testGetURLContext_http_f1Success_f2RuntimeException()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mocksuccess:org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		indicateRuntimeException(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx.getEnvironment().get("o"));
-			assertNull(ctx.getEnvironment().get("n"));
-			assertNull(ctx.getEnvironment().get("c"));
-			assertSame(h, ctx.getEnvironment().get("h"));
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1ReturnNull_f2ReturnNull() {
-		log.setMethod("testGetURLContext_http_f1ReturnNull_f2ReturnNull()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		indicateReturnNull(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1NamingException_f2NamingException() {
-		log
-				.setMethod("testGetURLContext_http_f1NamingException_f2NamingException()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		indicateNamingException(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			fail("NamingException expected");
-		} catch (NamingException e) {
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1RuntimeException_f2RuntimeException() {
-		log
-				.setMethod("testGetURLContext_http_f1RuntimeException_f2RuntimeException()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.URL_PKG_PREFIXES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.mock:org.apache.harmony.jndi.tests.javax.naming.spi.mock");
-		indicateRuntimeException(h);
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			fail("NamingException expected");
-		} catch (NamingException e) {
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetURLContext_http_f1BadClassName_f2BadClassName() {
-		log.setMethod("testGetURLContext_http_f1BadClassName_f2BadClassName()");
-		String schema = "http";
-		Hashtable h = new Hashtable();
-		h.put(Context.URL_PKG_PREFIXES, "bad.class.name:bad.class.name");
-
-		try {
-			Context ctx = NamingManager.getURLContext(schema, h);
-			assertNull(ctx);
-		} catch (Throwable e) {
-			log.log(e);
-			fail();
-		}
-	}
-
-	public void testGetContinuationContext_MockContext_null_null_null()
-			throws NamingException {
-		log
-				.setMethod("testGetContinuationContext_MockContext_null_null_null()");
-		CannotProceedException cpe = new CannotProceedException();
-		Object resolvedObj = new MockContext(new Hashtable());
-		cpe.setResolvedObj(resolvedObj);
-		Context r = NamingManager.getContinuationContext(cpe);
-		assertSame(resolvedObj, r);
-		assertSame(cpe, cpe.getEnvironment().get(NamingManager.CPE));
-	}
-
-	public void testGetContinuationContext_OBJ_name_context_h()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_name_context_h()");
-		CannotProceedException cpe = new CannotProceedException();
-		cpe.setResolvedObj("resolved object");
-		cpe.setAltName(new CompositeName("abc/abc"));
-		cpe.setAltNameCtx(new MockContext(new Hashtable()));
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockContextObjectFactory");
-		cpe.setEnvironment(h);
-		Context r = NamingManager.getContinuationContext(cpe);
-		assertTrue(r instanceof MockContext);
-	}
-
-	public void testGetContinuationContext_OBJ_name_context_badnameh()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_name_context_badnameh()");
-		CannotProceedException cpe = new CannotProceedException();
-		Object obj = "resolved object";
-		cpe.setResolvedObj(obj);
-		CompositeName altName = new CompositeName("abc/abc");
-		cpe.setAltName(altName);
-		MockContext context = new MockContext(new Hashtable());
-		cpe.setAltNameCtx(context);
-		Hashtable h = new Hashtable();
-		h.put(Context.OBJECT_FACTORIES, "bad name:asdfa");
-		cpe.setEnvironment(h);
-		try {
-			Context r = NamingManager.getContinuationContext(cpe);
-			fail();
-		} catch (CannotProceedException e) {
-			assertCPE(cpe, altName, context, h, e, obj);
-		}
-	}
-
-	private void assertCPE(CannotProceedException cpe, CompositeName altName,
-			MockContext context, Hashtable h, CannotProceedException e,
-			Object obj) {
-		assertNull(e.getExplanation());
-		assertNull(e.getMessage());
-		assertNull(e.getRootCause());
-		assertNull(e.getRemainingName());
-		assertNull(e.getRemainingNewName());
-		assertNull(e.getResolvedName());
-		assertSame(e.getAltName(), altName);
-		assertSame(e.getAltNameCtx(), context);
-		assertEquals(e.getResolvedObj(), obj);
-		assertSame(e, cpe);
-		if (h != null) {
-			assertSame(e.getEnvironment(), h);
-		} else {
-			assertSame(e.getEnvironment().get(NamingManager.CPE), e);
-		}
-	}
-
-	public void testGetContinuationContext_OBJ_name_context_wrongh()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_name_context_wrongh()");
-		CannotProceedException cpe = new CannotProceedException();
-		Object obj = "resolved object";
-		cpe.setResolvedObj(obj);
-
-		CompositeName altName = new CompositeName("abc/abc");
-		cpe.setAltName(altName);
-		MockContext context = new MockContext(new Hashtable());
-		cpe.setAltNameCtx(context);
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory");
-		cpe.setEnvironment(h);
-		try {
-			Context r = NamingManager.getContinuationContext(cpe);
-			fail();
-		} catch (CannotProceedException e) {
-			assertCPE(cpe, altName, context, h, e, obj);
-		}
-	}
-
-	public void testGetContinuationContext_null_name_context_h()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_null_name_context_h()");
-		CannotProceedException cpe = new CannotProceedException();
-		CompositeName altName = new CompositeName("abc/abc");
-		cpe.setAltName(altName);
-		MockContext context = new MockContext(new Hashtable());
-		cpe.setAltNameCtx(context);
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockContextObjectFactory");
-		cpe.setEnvironment(h);
-		try {
-			Context r = NamingManager.getContinuationContext(cpe);
-			fail();
-		} catch (CannotProceedException e) {
-			assertCPE(cpe, altName, context, h, e, null);
-		}
-	}
-
-	public void testGetContinuationContext_OBJ_null_ctx_h()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_null_ctx_h()");
-		CannotProceedException cpe = new CannotProceedException();
-		cpe.setResolvedObj("resolved object");
-		cpe.setAltNameCtx(new MockContext(new Hashtable()));
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockContextObjectFactory");
-		cpe.setEnvironment(h);
-		Context r = NamingManager.getContinuationContext(cpe);
-		assertTrue(r instanceof MockContext);
-	}
-
-	public void testGetContinuationContext_OBJ_name_null_h()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_name_null_h()");
-		CannotProceedException cpe = new CannotProceedException();
-		cpe.setResolvedObj("resolved object");
-		cpe.setAltName(new CompositeName("abc/abc"));
-		Hashtable h = new Hashtable();
-		h
-				.put(Context.OBJECT_FACTORIES,
-						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockContextObjectFactory");
-		cpe.setEnvironment(h);
-		Context r = NamingManager.getContinuationContext(cpe);
-		assertTrue(r instanceof MockContext);
-	}
-
-	public void testGetContinuationContext_OBJ_name_context_null()
-			throws NamingException {
-		log.setMethod("testGetContinuationContext_OBJ_name_context_null()");
-		CannotProceedException cpe = new CannotProceedException();
-		Object obj = "resolved object";
-		cpe.setResolvedObj(obj);
-		CompositeName altName = new CompositeName("abc/abc");
-		cpe.setAltName(altName);
-		MockContext context = new MockContext(new Hashtable());
-		cpe.setAltNameCtx(context);
-		try {
-			Context r = NamingManager.getContinuationContext(cpe);
-			fail();
-		} catch (CannotProceedException e) {
-			assertCPE(cpe, altName, context, null, e, obj);
-		}
-	}
-
-	public static void writeProviderResource(String ctxClassName, Hashtable res) {
-		try {
-			int dot = ctxClassName.lastIndexOf('.');
-			String pkg = dot >= 0 ? ctxClassName.substring(0, dot) : "";
-			File f = new File(System.getProperty("harmony.tests.cp1"), pkg
-					.replace('.', '/')
-					+ "/jndiprovider.properties");
-			f.getParentFile().mkdirs();
-
-			PrintStream out = new PrintStream(new FileOutputStream(f));
-			for (Iterator iter = res.entrySet().iterator(); iter.hasNext();) {
-				Map.Entry e = (Map.Entry) iter.next();
-				out.println(e.getKey() + "=" + e.getValue());
-			}
-			out.close();
-		} catch (Throwable e) {
-			log.log("Failed in writeProviderResource!!");
-			log.log(e);
-		}
-	}
-
-	public static void deleteProviderResource(String ctxClassName) {
-		try {
-			int dot = ctxClassName.lastIndexOf('.');
-			String pkg = dot >= 0 ? ctxClassName.substring(0, dot) : "";
-			File f = new File(System.getProperty("harmony.tests.cp1"), pkg
-					.replace('.', '/')
-					+ "/jndiprovider.properties");
-			f.delete();
-		} catch (Throwable e) {
-			log.log("Failed in deleteProviderResource!!");
-			log.log(e);
-			e.printStackTrace();
-		}
-	}
-
-	public static class MockObjectFactoryBuilder implements
-			ObjectFactoryBuilder {
-
-		private static MockObjectFactoryBuilder _builder = new MockObjectFactoryBuilder();
-
-		public static MockObjectFactoryBuilder getInstance() {
-			return _builder;
-		}
-
-		public ObjectFactory createObjectFactory(Object o, Hashtable envmt)
-				throws NamingException {
-			issueIndicatedExceptions(envmt);
-			if (returnNullIndicated(envmt)) {
-				return null;
-			}
-			return new MockObjectFactory(envmt);
-		}
-	}
-
-	public static class MockObjectFactory implements ObjectFactory {
-		Hashtable ht = null;
-
-		public Object getObjectInstance(Object o, Name n, Context c,
-				Hashtable envmt) throws Exception {
-			issueIndicatedExceptions(envmt);
-			if (returnNullIndicated(envmt)) {
-				return null;
-			}
-			return new MockObject(o, n, c, envmt);
-		}
-
-		public MockObjectFactory(Hashtable envmt) {
-			ht = envmt;
-		}
-
-		public MockObjectFactory() {
-		}
-	}
-
-	public static class MockObject {
-		private Object o;
-
-		private Name n;
-
-		private Context c;
-
-		private Hashtable envmt;
-
-		public MockObject(Object o, Name n, Context c, Hashtable envmt) {
-			this.o = o;
-			this.n = n;
-			this.c = c;
-			this.envmt = envmt;
-		}
-
-		public String toString() {
-			String s = "MockObject {";
-
-			s += "Object= " + o + "\n";
-			s += "Name= " + n + "\n";
-			s += "Context= " + c + "\n";
-			s += "Env= " + envmt;
-
-			s += "}";
-
-			return s;
-		}
-
-		public boolean equals(Object obj) {
-			if (obj instanceof MockObject) {
-				MockObject theOther = (MockObject) obj;
-				if (o != theOther.o) {
-					return false;
-				}
-
-				boolean nameEqual = (null == n ? null == theOther.n : n
-						.equals(theOther.n));
-				if (!nameEqual) {
-					return false;
-				}
-
-				if (c != theOther.c) {
-					return false;
-				}
-
-				boolean envmtEqual = (null == envmt ? null == theOther.envmt
-						: envmt.equals(theOther.envmt));
-				if (!envmtEqual) {
-					return false;
-				}
-
-				return true;
-			} else {
-				return false;
-			}
-		}
-	}
-
-	public static class MockObjectFactoryNoException implements ObjectFactory {
-
-		public Object getObjectInstance(Object o, Name n, Context c,
-				Hashtable envmt) throws Exception {
-			return "MockObjectNoException";
-		}
-	}
-
-	public static class MockContext implements Context {
-		Hashtable prop = null;
-
-		public MockContext(Hashtable prop) {
-			this.prop = prop;
-		}
-
-		public boolean equals(Object obj) {
-			if (obj instanceof MockContext) {
-				MockContext theOther = (MockContext) obj;
-				boolean envmtEqual = (null == prop ? null == theOther.prop
-						: prop.equals(theOther.prop));
-				if (!envmtEqual) {
-					return false;
-				}
-
-				return true;
-			} else {
-				return false;
-			}
-		}
-
-		public boolean parameterEquals(Object o, Name n, Context c, Hashtable h) {
-			Hashtable r = new Hashtable();
-			if (null != o) {
-				r.put("o", o);
-			}
-			if (null != n) {
-				r.put("n", n);
-			}
-			if (null != c) {
-				r.put("c", c);
-			}
-			if (null != h) {
-				r.put("h", h);
-			}
-			return r.equals(this.prop);
-		}
-
-		public Object addToEnvironment(String s, Object o)
-				throws NamingException {
-			return prop.put(s, o);
-		}
-
-		public void bind(Name n, Object o) throws NamingException {
-		}
-
-		public void bind(String s, Object o) throws NamingException {
-		}
-
-		public void close() throws NamingException {
-		}
-
-		public Name composeName(Name n, Name pfx) throws NamingException {
-			return null;
-		}
-
-		public String composeName(String s, String pfx) throws NamingException {
-			return null;
-		}
-
-		public Context createSubcontext(Name n) throws NamingException {
-			return null;
-		}
-
-		public Context createSubcontext(String s) throws NamingException {
-			return null;
-		}
-
-		public void destroySubcontext(Name n) throws NamingException {
-		}
-
-		public void destroySubcontext(String s) throws NamingException {
-		}
-
-		public Hashtable getEnvironment() throws NamingException {
-			return prop;
-		}
-
-		public String getNameInNamespace() throws NamingException {
-			return "MockNameSpace";
-		}
-
-		public NameParser getNameParser(Name n) throws NamingException {
-			return null;
-		}
-
-		public NameParser getNameParser(String s) throws NamingException {
-			return null;
-		}
-
-		public NamingEnumeration list(Name n) throws NamingException {
-			return null;
-		}
-
-		public NamingEnumeration list(String s) throws NamingException {
-			return null;
-		}
-
-		public NamingEnumeration listBindings(Name n) throws NamingException {
-			return null;
-		}
-
-		public NamingEnumeration listBindings(String s) throws NamingException {
-			return null;
-		}
-
-		public Object lookup(Name n) throws NamingException {
-			return null;
-		}
-
-		public Object lookup(String s) throws NamingException {
-			return null;
-		}
-
-		public Object lookupLink(Name n) throws NamingException {
-			return null;
-		}
-
-		public Object lookupLink(String s) throws NamingException {
-			return null;
-		}
-
-		public void rebind(Name n, Object o) throws NamingException {
-		}
-
-		public void rebind(String s, Object o) throws NamingException {
-		}
-
-		public Object removeFromEnvironment(String s) throws NamingException {
-			return null;
-		}
-
-		public void rename(Name nOld, Name nNew) throws NamingException {
-		}
-
-		public void rename(String sOld, String sNew) throws NamingException {
-		}
-
-		public void unbind(Name n) throws NamingException {
-		}
-
-		public void unbind(String s) throws NamingException {
-		}
-	}
-
-	public static class MagicMockStateFactory implements StateFactory {
-
-		public Object getStateToBind(Object o, Name n, Context c, Hashtable h)
-				throws NamingException {
-
-			issueIndicatedExceptions(h);
-			if (returnNullIndicated(h)) {
-				return null;
-			}
-
-			Hashtable r = new Hashtable();
-			if (null != o) {
-				r.put("o", o);
-			}
-			if (null != n) {
-				r.put("n", n);
-			}
-			if (null != c) {
-				r.put("c", c);
-			}
-			if (null != h) {
-				r.put("h", h);
-			}
-			return r;
-		}
-	}
-
-	public static class MagicSuccessMockStateFactory implements StateFactory {
-
-		public Object getStateToBind(Object o, Name n, Context c, Hashtable h)
-				throws NamingException {
-
-			Hashtable r = new Hashtable();
-			if (null != o) {
-				r.put("o", o);
-			}
-			if (null != n) {
-				r.put("n", n);
-			}
-			if (null != c) {
-				r.put("c", c);
-			}
-			if (null != h) {
-				r.put("h", h);
-			}
-			return r;
-		}
-	}
-
-	public static class MockReferenceable implements Referenceable {
-		private Reference ref;
-
-		public MockReferenceable() {
-		}
-
-		public MockReferenceable(Reference ref) {
-			this.ref = ref;
-		}
-
-		public Reference getReference() {
-			return ref;
-		}
-	}
-
-	public static class MockRefAddr extends RefAddr {
-		private String content;
-
-		public MockRefAddr(String type, String content) {
-			super(type);
-			this.content = content;
-		}
-
-		public Object getContent() {
-			return content;
-		}
-	}
-
-	public static class MockContextObjectFactory extends MockObjectFactory {
-		Hashtable ht = null;
-
-		public Object getObjectInstance(Object o, Name n, Context c,
-				Hashtable envmt) throws Exception {
-			return new MockContext(envmt);
-		}
-
-		public MockContextObjectFactory(Hashtable envmt) {
-			ht = envmt;
-		}
-
-		public MockContextObjectFactory() {
-		}
-	}
-}
-
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * 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.harmony.jndi.tests.javax.naming.spi;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.naming.CannotProceedException;
+import javax.naming.CompositeName;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NameParser;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.NoInitialContextException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.Referenceable;
+import javax.naming.StringRefAddr;
+import javax.naming.spi.NamingManager;
+import javax.naming.spi.ObjectFactory;
+import javax.naming.spi.ObjectFactoryBuilder;
+import javax.naming.spi.StateFactory;
+
+import junit.framework.TestCase;
+import org.apache.harmony.jndi.tests.javax.naming.spi.mock.MockDirContext;
+import org.apache.harmony.jndi.tests.javax.naming.util.Log;
+import com.sun.jndi.url.nntp.nntpURLContextFactory;
+
+
+import dazzle.jndi.testing.spi.DazzleContext;
+
+public class NamingManagerTest extends TestCase {
+
+	/*
+	 * ------------------------------------------------------------------- 
+	 * Class variables
+	 * -------------------------------------------------------------------
+	 */
+
+	static Log log = new Log(NamingManagerTest.class);
+
+	// Name of the property indicating a RuntimeException should be simulated.
+	private static final String INDICATION_RUNTIME_EXCEPTION = "indication.RuntimeException";
+
+	// Name of the property indicating a NullPointerException should be
+	// simulated.
+	private static final String INDICATION_NULL_POINTER_EXCEPTION = "indication.NullPointerException";
+
+	// Name of the property indicating a NamingException should be simulated.
+	private static final String INDICATION_NAMING_EXCEPTION = "indication.NamingException";
+
+	// Name of the property indicating a null should be returned.
+	private static final String INDICATION_RETURN_NULL = "indication.returnNull";
+
+	/*
+	 * -------------------------------------------------------------------
+	 * Instance variables (Should be private)
+	 * -------------------------------------------------------------------
+	 */
+	Hashtable props1 = new Hashtable();
+
+	/**
+	 * Constructor for NamingManagerTest.
+	 * 
+	 * @param arg0
+	 */
+	public NamingManagerTest(String arg0) {
+		super(arg0);
+	}
+
+	/*
+	 * @see TestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+		super.setUp();
+
+		props1.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		props1
+				.put(Context.STATE_FACTORIES,
+						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockStateFactory");
+
+		Hashtable env = new Hashtable();
+		env
+				.put(Context.STATE_FACTORIES,
+						"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MagicMockStateFactory");
+		writeProviderResource(MockContext.class.getName(), new Hashtable());
+		writeProviderResource(MockDirContext.class.getName(), env);
+	}
+
+	/*
+	 * @see TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		super.tearDown();
+		deleteProviderResource(MockContext.class.getName());
+		deleteProviderResource(MockDirContext.class.getName());
+	}
+
+	public static boolean actionIndicated(Hashtable env, String indicationName) {
+		if (null == env) {
+			return false;
+		} else {
+			Integer occurLevel = (Integer) env.get(indicationName);
+			if (null != occurLevel) {
+				if (occurLevel.intValue() <= 1) {
+					env.remove(indicationName);
+					return true;
+				} else {
+					env.put(indicationName, new Integer(
+							occurLevel.intValue() - 1));
+					return false;
+				}
+			} else {
+				return false;
+			}
+		}
+	}
+
+	public static void indicateReturnNull(Hashtable env) {
+		indicateReturnNull(env, 1);
+	}
+
+	public static void indicateReturnNull(Hashtable env, int occurLevel) {
+		env.put(INDICATION_RETURN_NULL, new Integer(occurLevel));
+	}
+
+	public static boolean returnNullIndicated(Hashtable env) {
+		return actionIndicated(env, INDICATION_RETURN_NULL);
+	}
+
+	public static void indicateRuntimeException(Hashtable env) {
+		indicateRuntimeException(env, 1);
+	}
+
+	public static void indicateRuntimeException(Hashtable env, int occurLevel) {
+		env.put(INDICATION_RUNTIME_EXCEPTION, new Integer(occurLevel));
+	}
+
+	public static boolean runtimeExceptionIndicated(Hashtable env) {
+		return actionIndicated(env, INDICATION_RUNTIME_EXCEPTION);
+	}
+
+	public static void indicateNullPointerException(Hashtable env) {
+		indicateNullPointerException(env, 1);
+	}
+
+	public static void indicateNullPointerException(Hashtable env,
+			int occurLevel) {
+		env.put(INDICATION_NULL_POINTER_EXCEPTION, new Integer(occurLevel));
+	}
+
+	public static boolean nullPointerExceptionIndicated(Hashtable env) {
+		return actionIndicated(env, INDICATION_NULL_POINTER_EXCEPTION);
+	}
+
+	public static void indicateNamingException(Hashtable env) {
+		indicateNamingException(env, 1);
+	}
+
+	public static void indicateNamingException(Hashtable env, int occurLevel) {
+		env.put(INDICATION_NAMING_EXCEPTION, new Integer(occurLevel));
+	}
+
+	public static boolean namingExceptionIndicated(Hashtable env) {
+		return actionIndicated(env, INDICATION_NAMING_EXCEPTION);
+	}
+
+	public static void issueIndicatedExceptions(Hashtable env)
+			throws NamingException {
+		if (nullPointerExceptionIndicated(env)) {
+			throw new NullPointerException("Simulated NullPointerException.");
+		} else if (namingExceptionIndicated(env)) {
+			throw new NamingException("Simulated NamingException.");
+		} else if (runtimeExceptionIndicated(env)) {
+			throw new RuntimeException("Simulated RuntimeException.");
+		}
+	}
+
+	/*
+	 * -------------------------------------------------------------------
+	 * Methods
+	 * -------------------------------------------------------------------
+	 */
+
+	// public void testDefaultConstructor() {
+	// log.setMethod("testDefaultConstructor()");
+	// // for coverage only, no meaning at all!
+	// try {
+	// NamingManager manager = new NamingManager();
+	// } catch (Throwable t) {
+	// }
+	// }
+	/**
+	 * Test the normal condition when the class name is properly set before
+	 * builder is set.
+	 */
+	public void testGetInitialContext_NoBuilder_Normal() throws NamingException {
+		log.setMethod("testGetInitialContext_NoBuilder_Normal()");
+		Context context = NamingManager.getInitialContext(props1);
+		assertTrue(context instanceof DazzleContext);
+	}
+
+	/**
+	 * Test the behavior when the class name is null before factory builder is
+	 * set.
+	 */
+	public void testGetInitialContext_NoBuilder_NullFactory()
+			throws NamingException {
+		log.setMethod("testGetInitialContext_NoBuilder_NullFactory()");
+		Hashtable envWithNoFac = new Hashtable();
+		try {
+			Context context = NamingManager.getInitialContext(envWithNoFac);
+			fail("Should throw NoInitialContextException.");
+		} catch (NoInitialContextException e) {
+		}
+	}
+
+	/**
+	 * Test the behavior when the class name is empty before factory builder is
+	 * set.
+	 */
+	public void testGetInitialContext_NoBuilder_EmptyFactory()
+			throws NamingException {
+		log.setMethod("testGetInitialContext_NoBuilder_EmptyFactory()");
+		Hashtable envWithEmptyFac = new Hashtable();
+		envWithEmptyFac.put(Context.INITIAL_CONTEXT_FACTORY, "");
+		try {
+			Context context = NamingManager.getInitialContext(envWithEmptyFac);
+			fail("Should throw NoInitialContextException.");
+		} catch (NoInitialContextException e) {
+		}
+	}
+
+	/**
+	 * Test the behavior when the class name is invalid before factory builder
+	 * is set.
+	 */
+	public void testGetInitialContext_NoBuilder_InvalidFactory()
+			throws NamingException {
+		log.setMethod("testGetInitialContext_NoBuilder_InvalidFactory()");
+		Hashtable envWithInvalidFac = new Hashtable();
+		envWithInvalidFac.put(Context.INITIAL_CONTEXT_FACTORY, "junk.Factory");
+		try {
+			Context context = NamingManager
+					.getInitialContext(envWithInvalidFac);
+			fail("Should throw NoInitialContextException.");
+		} catch (NoInitialContextException e) {
+		}
+	}
+
+	/**
+	 * When no factory builder is set and the fed object is Reference with a
+	 * valid factory name which works properly. Should return an object
+	 * successfully.
+	 * 
+	 * Try the same when the fed object is Referenceable.
+	 */
+	public void testGetObjectInstance_NoBuilder_ReferenceValidFactory()
+			throws Exception {
+		log
+				.setMethod("testGetObjectInstance_NoBuilder_ReferenceValidFactory()");
+		Hashtable env = new Hashtable();
+		env.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		Reference r = new Reference(
+				null,
+				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
+				null);
+		Object obj = NamingManager.getObjectInstance(r, null, null, env);
+
+		// if (null != obj) {
+		// log.log(obj.toString());
+		// } else {
+		// log.log("Null object returned!");
+		// }
+		assertEquals(new MockObject(r, null, null, env), obj);
+
+		// test Referenceable
+		MockReferenceable mr = new MockReferenceable(r);
+		obj = NamingManager.getObjectInstance(mr, null, null, env);
+		assertEquals(new MockObject(r, null, null, env), obj);
+	}
+
+	/**
+	 * When no factory builder is set and the fed object is Reference with an
+	 * invalid factory name. Should return the original object.
+	 * 
+	 * Try the same when the fed object is Referenceable.
+	 */
+	public void testGetObjectInstance_NoBuilder_ReferenceInvalidFactory()
+			throws Exception {
+		log
+				.setMethod("testGetObjectInstance_NoBuilder_ReferenceInvalidFactory()");
+		Hashtable env = new Hashtable();
+		env.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		Reference r = new Reference(null, "junk.factory", null);
+		Object obj = NamingManager.getObjectInstance(r, null, null, env);
+		assertSame(r, obj);
+
+		// test Referenceable
+		MockReferenceable mr = new MockReferenceable(r);
+		obj = NamingManager.getObjectInstance(mr, null, null, env);
+		assertSame(mr, obj);
+	}
+
+	/**
+	 * When no factory builder is set and the fed object is Reference with a
+	 * valid factory name but the factory fails to create an object. Should
+	 * throw the exception.
+	 * 
+	 * Try the same when the fed object is Referenceable.
+	 */
+	public void testGetObjectInstance_NoBuilder_ReferenceException()
+			throws Exception {
+		log.setMethod("testGetObjectInstance_NoBuilder_ReferenceException()");
+		Hashtable env = new Hashtable();
+		env.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		Reference r = new Reference(
+				null,
+				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
+				null);
+		indicateNullPointerException(env);
+		try {
+			Object obj = NamingManager.getObjectInstance(r, null, null, env);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+			// log.log(e);
+		}
+
+		// test Referenceable
+		MockReferenceable mr = new MockReferenceable(r);
+		indicateNamingException(env);
+		try {
+			Object obj = NamingManager.getObjectInstance(mr, null, null, env);
+			fail("Should throw NamingException.");
+		} catch (NamingException e) {
+			// log.log(e);
+		}
+	}
+
+	/**
+	 * When no factory builder is set and the fed object is Reference with a
+	 * valid factory name but the factory returns null. Should return null.
+	 * 
+	 * Try the same when the fed object is Referenceable.
+	 */
+	public void testGetObjectInstance_NoBuilder_ReferenceReturnNull()
+			throws Exception {
+		log.setMethod("testGetObjectInstance_NoBuilder_ReferenceReturnNull()");
+		Hashtable env = new Hashtable();
+		env.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		Reference r = new Reference(
+				null,
+				"org.apache.harmony.jndi.tests.javax.naming.spi.NamingManagerTest$MockObjectFactory",
+				null);
+		indicateReturnNull(env);
+		Object obj = NamingManager.getObjectInstance(r, null, null, env);
+		assertNull(obj);
+
+		// test Referenceable
+		MockReferenceable mr = new MockReferenceable(r);
+		indicateReturnNull(env);
+		obj = NamingManager.getObjectInstance(mr, null, null, env);
+		assertNull(obj);
+	}
+
+	/**
+	 * When no factory builder is set and the fed object is Reference with no
+	 * factory name, and there are one MockRefAddr which contains a valid URL
+	 * and another MockRefAddr whose type is null. Should return the original
+	 * object o.
+	 */
+	public void testGetObjectInstance_NoBuilder_ReferenceNullTypedNonStrAddr()
+			throws Exception {
+		log
+				.setMethod("testGetObjectInstance_NoBuilder_ReferenceNullTypedNonStrAddr()");
+		Hashtable env = new Hashtable();
+		env.put(Context.INITIAL_CONTEXT_FACTORY,
+				"dazzle.jndi.testing.spi.DazzleContextFactory");
+		env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.tests.javax.naming.spi.mock");
+		Reference r = new Reference(null);
+		MockRefAddr mockAddr = new MockRefAddr("URL", "ftp://www.apache.org/");
+		r.add(mockAddr);
+		mockAddr = new MockRefAddr(null, "ftp://www.apache.org/");
+		r.add(mockAddr);
+
+		Object obj = NamingManager.getObjectInstance(r, new CompositeName(

[... 1839 lines stripped ...]


Mime
View raw message