KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > configuration > MockStaticMemoryInitialContextFactory


1 /*
2  * Copyright (C) The Spice Group. All rights reserved.
3  *
4  * This software is published under the terms of the Spice
5  * Software License version 1.1, a copy of which has been included
6  * with this distribution in the LICENSE.txt file.
7  */

8
9 package org.apache.commons.configuration;
10
11 import java.util.Hashtable JavaDoc;
12
13 import javax.naming.Context JavaDoc;
14 import javax.naming.NamingException JavaDoc;
15 import javax.naming.spi.InitialContextFactory JavaDoc;
16
17 import org.codehaus.spice.jndikit.DefaultNameParser;
18 import org.codehaus.spice.jndikit.DefaultNamespace;
19 import org.codehaus.spice.jndikit.memory.MemoryContext;
20
21 /**
22  * Initial context factory for memorycontext. This factory will
23  * retrieve the {@link MemoryContext} from a static variable.
24  * Thus this factory will always return the same instance of
25  * memory context.
26  *
27  * @author <a HREF="mailto:peter@apache.org">Peter Donald</a>
28  * @version $Revision: 155408 $
29  */

30 public class MockStaticMemoryInitialContextFactory
31     implements InitialContextFactory JavaDoc
32 {
33     private static final MemoryContext MEMORY_CONTEXT = createMemoryContext();
34
35     public Context JavaDoc getInitialContext(final Hashtable JavaDoc environment)
36         throws NamingException JavaDoc
37     {
38         return MEMORY_CONTEXT;
39     }
40
41     /**
42      * Method to create the inital {@link MemoryContext}.
43      *
44      * @return the new {@link MemoryContext}.
45      */

46     private static final MemoryContext createMemoryContext()
47     {
48         final DefaultNamespace namespace =
49             new DefaultNamespace(new DefaultNameParser());
50         MemoryContext me = new MemoryContext(namespace, new Hashtable JavaDoc(), null);
51         
52         try
53         {
54             Context JavaDoc testContext = me.createSubcontext("test");
55             testContext.bind("key", "jndivalue");
56             testContext.bind("key2","jndivalue2");
57             testContext.bind("short","1");
58             testContext.bind("boolean","true");
59             testContext.bind("byte","10");
60             testContext.bind("double","10.25");
61             testContext.bind("float","20.25");
62             testContext.bind("integer","10");
63             testContext.bind("long","1000000");
64             testContext.bind("onlyinjndi","true");
65         }
66         catch (NamingException JavaDoc ne)
67         {
68             throw new RuntimeException JavaDoc(ne);
69         }
70         return me;
71     }
72 }
73
Popular Tags