KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openejb > test > beans > CalculatorBean


1 /**
2  * Redistribution and use of this software and associated documentation
3  * ("Software"), with or without modification, are permitted provided
4  * that the following conditions are met:
5  *
6  * 1. Redistributions of source code must retain copyright
7  * statements and notices. Redistributions must also contain a
8  * copy of this document.
9  *
10  * 2. Redistributions in binary form must reproduce the
11  * above copyright notice, this list of conditions and the
12  * following disclaimer in the documentation and/or other
13  * materials provided with the distribution.
14  *
15  * 3. The name "Exolab" must not be used to endorse or promote
16  * products derived from this Software without prior written
17  * permission of Exoffice Technologies. For written permission,
18  * please contact info@exolab.org.
19  *
20  * 4. Products derived from this Software may not be called "Exolab"
21  * nor may "Exolab" appear in their names without prior written
22  * permission of Exoffice Technologies. Exolab is a registered
23  * trademark of Exoffice Technologies.
24  *
25  * 5. Due credit should be given to the Exolab Project
26  * (http://www.exolab.org/).
27  *
28  * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
29  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
30  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
31  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
32  * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
33  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39  * OF THE POSSIBILITY OF SUCH DAMAGE.
40  *
41  * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
42  *
43  * $Id: CalculatorBean.java 1096 2004-03-26 21:41:16Z dblevins $
44  */

45 package org.openejb.test.beans;
46
47 import java.sql.Connection JavaDoc;
48 import java.sql.ResultSet JavaDoc;
49 import java.sql.SQLException JavaDoc;
50 import java.sql.Statement JavaDoc;
51
52 import javax.ejb.SessionContext JavaDoc;
53 import javax.naming.InitialContext JavaDoc;
54 public class CalculatorBean implements javax.ejb.SessionBean JavaDoc {
55     
56     public SessionContext JavaDoc context;
57     public InitialContext JavaDoc jndiContext;
58     boolean testCreate, testAdd, testSub, testSetSessionContext, testRemove;
59     
60     public void ejbCreate( ){
61     }
62     
63     public int add(int a, int b){
64        return a+b;
65     }
66     protected void doJdbcCall(){
67
68         Connection JavaDoc con = null;
69         try{
70             
71         javax.sql.DataSource JavaDoc ds =
72         (javax.sql.DataSource JavaDoc)jndiContext.lookup("java:comp/env/jdbc/mydb");
73         
74         con = ds.getConnection();
75         
76         
77         Statement JavaDoc stmt = con.createStatement();
78         ResultSet JavaDoc rs = stmt.executeQuery("select * from Employees");
79         while(rs.next())
80             System.out.println(rs.getString(2));
81         
82         }catch(javax.naming.NamingException JavaDoc re){
83             throw new RuntimeException JavaDoc("Using JNDI failed");
84         }catch(java.sql.SQLException JavaDoc se){
85             throw new RuntimeException JavaDoc("Getting JDBC data source failed");
86         }finally{
87             if(con!=null){
88                 try{
89                 con.close();
90                 }catch(SQLException JavaDoc se){se.printStackTrace();}
91             }
92         }
93         
94     }
95     
96     public int sub(int a, int b){
97         return a-b;
98     }
99     
100     public void ejbPassivate( ){
101         // never called
102
}
103     public void ejbActivate(){
104         // never called
105
}
106     public void ejbRemove(){
107         if (testRemove) testAllowedOperations("ejbRemove");
108     }
109     public void setSessionContext(javax.ejb.SessionContext JavaDoc cntx){
110         context = cntx;
111         if (testSetSessionContext) testAllowedOperations("setSessionContext");
112         
113     }
114     
115     private void testAllowedOperations(String JavaDoc methodName){
116         System.out.println("******************************************************");
117         System.out.println("\nTesting Allowed Operations for "+methodName+"() method\n");
118         try{
119             context.getEJBObject();
120             System.out.println("SessionContext.getEJBObject() ......... Allowed");
121         }catch(IllegalStateException JavaDoc ise){
122             System.out.println("SessionContext.getEJBObject() ......... Failed");
123         }
124         try{
125             context.getEJBHome();
126             System.out.println("SessionContext.getEJBHome() ........... Allowed");
127         }catch(IllegalStateException JavaDoc ise){
128             System.out.println("SessionContext.getEJBHome() ........... Failed");
129         }
130         try{
131             context.getCallerPrincipal();
132             System.out.println("SessionContext.getCallerPrincipal() ... Allowed");
133         }catch(IllegalStateException JavaDoc ise){
134             System.out.println("SessionContext.getCallerPrincipal() ... Failed");
135         }
136         try{
137             context.isCallerInRole("ROLE");
138             System.out.println("SessionContext.isCallerInRole() ....... Allowed");
139         }catch(IllegalStateException JavaDoc ise){
140             System.out.println("SessionContext.isCallerInRole() ....... Failed");
141         }
142         try{
143             context.getRollbackOnly();
144             System.out.println("SessionContext.getRollbackOnly() ...... Allowed");
145         }catch(IllegalStateException JavaDoc ise){
146             System.out.println("SessionContext.getRollbackOnly() ...... Failed");
147         }
148         try{
149             context.setRollbackOnly();
150             System.out.println("SessionContext.setRollbackOnly() ...... Allowed");
151         }catch(IllegalStateException JavaDoc ise){
152             System.out.println("SessionContext.setRollbackOnly() ...... Failed");
153         }
154         try{
155             context.getUserTransaction();
156             System.out.println("SessionContext.getUserTransaction() ... Allowed");
157         }catch(IllegalStateException JavaDoc ise){
158             System.out.println("SessionContext.getUserTransaction() ... Failed");
159         }
160     }
161     
162 }
163    
Popular Tags