1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.mc.test.core.mock;
20
21 import java.util.Hashtable;
22 import javax.naming.Context;
23 import javax.naming.NamingException;
24 import javax.naming.spi.InitialContextFactory;
25
26
27
28
29
30 public class MockInitialContextFactory implements InitialContextFactory
31 {
32
33 private static ThreadLocal<Context> currentInstance = new ThreadLocal<Context>();
34
35 public Context getInitialContext(Hashtable<?, ?> environment)
36 throws NamingException
37 {
38 return currentInstance.get();
39 }
40
41 public static void setCurrentContext(Context context)
42 {
43 currentInstance.set(context);
44 }
45
46 public static void clearCurrentContext()
47 {
48 currentInstance.remove();
49 }
50
51 public static void bind(String name, Object obj)
52 {
53 try
54 {
55 currentInstance.get().bind(name, obj);
56 }
57 catch (NamingException e)
58 {
59 throw new RuntimeException(e);
60 }
61 }
62
63 }