KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > rift > coad > hibernate > util > HibernateUtilTest


1 /*
2  * HibernateUtilTest.java
3  * JUnit based test
4  *
5  * Created on January 13, 2007, 3:47 PM
6  */

7
8 package com.rift.coad.hibernate.util;
9
10 import junit.framework.*;
11 import java.util.StringTokenizer JavaDoc;
12 import java.util.Map JavaDoc;
13 import java.util.HashMap JavaDoc;
14 import java.util.HashSet JavaDoc;
15 import java.util.Set JavaDoc;
16 import java.util.concurrent.ConcurrentHashMap JavaDoc;
17 import javax.naming.Context JavaDoc;
18 import javax.naming.InitialContext JavaDoc;
19 import javax.transaction.Transaction JavaDoc;
20 import javax.transaction.UserTransaction JavaDoc;
21 import javax.transaction.TransactionManager JavaDoc;
22 import javax.transaction.xa.XAException JavaDoc;
23 import javax.transaction.xa.XAResource JavaDoc;
24 import javax.transaction.xa.Xid JavaDoc;
25 import org.apache.log4j.Logger;
26 import org.hibernate.*;
27 import org.hibernate.cfg.*;
28
29 // object web imports
30
import org.objectweb.jotm.Jotm;
31
32 // coadunation imports
33
import com.rift.coad.lib.naming.NamingDirector;
34 import com.rift.coad.lib.naming.ContextManager;
35 import com.rift.coad.lib.db.DBSourceManager;
36
37 import com.rift.coad.lib.interceptor.InterceptorFactory;
38 import com.rift.coad.lib.security.RoleManager;
39 import com.rift.coad.lib.security.ThreadsPermissionContainer;
40 import com.rift.coad.lib.security.ThreadPermissionSession;
41 import com.rift.coad.lib.security.UserSession;
42 import com.rift.coad.lib.security.user.UserSessionManager;
43 import com.rift.coad.lib.security.user.UserStoreManager;
44 import com.rift.coad.lib.security.SessionManager;
45 import com.rift.coad.lib.security.login.LoginManager;
46 import com.rift.coad.lib.thread.CoadunationThreadGroup;
47
48 import com.rift.coad.lib.configuration.Configuration;
49 import com.rift.coad.lib.configuration.ConfigurationFactory;
50 import com.rift.coad.lib.transaction.TransactionDirector;
51
52
53 /**
54  *
55  * @author mincemeat
56  */

57 public class HibernateUtilTest extends TestCase {
58     
59     public HibernateUtilTest(String JavaDoc testName) {
60         super(testName);
61     }
62
63     protected void setUp() throws Exception JavaDoc {
64     }
65
66     protected void tearDown() throws Exception JavaDoc {
67     }
68
69     /**
70      * Test of class com.rift.coad.hibernate.util.HibernateUtil.
71      */

72     public void testHibernateUtil() throws Exception JavaDoc {
73         System.out.println("getInstance");
74         
75         // init the session information
76
ThreadsPermissionContainer permissions = new ThreadsPermissionContainer();
77         SessionManager.init(permissions);
78         UserStoreManager userStoreManager = new UserStoreManager();
79         UserSessionManager sessionManager = new UserSessionManager(permissions,
80                 userStoreManager);
81         LoginManager.init(sessionManager,userStoreManager);
82         // instanciate the thread manager
83
CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(sessionManager,
84                 userStoreManager);
85         
86         // add a user to the session for the current thread
87
RoleManager.getInstance();
88         
89         InterceptorFactory.init(permissions,sessionManager,userStoreManager);
90         
91         // add a new user object and add to the permission
92
Set JavaDoc set = new HashSet JavaDoc();
93         set.add("test");
94         UserSession user = new UserSession("test1", set);
95         permissions.putSession(new Long JavaDoc(Thread.currentThread().getId()),
96                 new ThreadPermissionSession(
97                 new Long JavaDoc(Thread.currentThread().getId()),user));
98         
99         // init the naming director
100
NamingDirector.init(threadGroup);
101         
102         // instanciate the transaction director
103
TransactionDirector transactionDirector = TransactionDirector.init();
104         
105         // init the database source
106
DBSourceManager.init();
107         
108         // check the hibernate util.
109
HibernateUtil result = HibernateUtil.getInstance(this.getClass());
110         assertEquals(HibernateUtil.getInstance(this.getClass()), result);
111         
112         // retrieve the user transaction
113
Context JavaDoc context = new InitialContext JavaDoc();
114         UserTransaction JavaDoc ut =
115                 (UserTransaction JavaDoc)context.lookup("java:comp/UserTransaction");
116         
117         ut.begin();
118         
119         Session session1 = HibernateUtil.getInstance(this.getClass()).
120                 getSession();
121         Session session2 = HibernateUtil.getInstance(this.getClass()).
122                 getSession();
123         assertEquals(session1, session2);
124         
125         ut.commit();
126     }
127
128     
129 }
130
Popular Tags