| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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.openejb.test.beans; |
| |
| import javax.ejb.EntityContext; |
| import javax.ejb.FinderException; |
| import javax.naming.InitialContext; |
| import java.sql.Connection; |
| import java.sql.PreparedStatement; |
| import java.sql.ResultSet; |
| import java.sql.Statement; |
| |
| public class EmployeeBean implements javax.ejb.EntityBean { |
| int id; |
| String lastName; |
| String firstName; |
| |
| EntityContext ejbContext; |
| |
| public int ejbHomeSum(final int one, final int two) { |
| return one + two; |
| } |
| |
| public Integer ejbFindByPrimaryKey(final Integer primaryKey) |
| throws javax.ejb.FinderException { |
| boolean found = false; |
| try { |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| |
| final Connection con = ds.getConnection(); |
| |
| try { |
| final PreparedStatement stmt = con.prepareStatement("select * from Employees where EmployeeID = ?"); |
| try { |
| stmt.setInt(1, primaryKey.intValue()); |
| final ResultSet rs = stmt.executeQuery(); |
| found = rs.next(); |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| throw new FinderException("FindByPrimaryKey failed"); |
| } |
| |
| if (found) |
| return primaryKey; |
| else |
| throw new javax.ejb.ObjectNotFoundException(); |
| |
| |
| } |
| |
| public java.util.Collection ejbFindAll() throws FinderException { |
| try { |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| |
| final Connection con = ds.getConnection(); |
| |
| java.util.Vector keys; |
| try { |
| final Statement stmt = con.createStatement(); |
| try { |
| final ResultSet rs = stmt.executeQuery("select EmployeeID from Employees"); |
| keys = new java.util.Vector(); |
| while (rs.next()) { |
| keys.addElement(new Integer(rs.getInt("EmployeeID"))); |
| } |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| return keys; |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| throw new FinderException("FindAll failed"); |
| } |
| } |
| |
| public Integer ejbCreate(final String fname, final String lname) |
| throws javax.ejb.CreateException { |
| try { |
| lastName = lname; |
| firstName = fname; |
| |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| |
| final Connection con = ds.getConnection(); |
| |
| try { |
| PreparedStatement stmt = con.prepareStatement("insert into Employees (FirstName, LastName) values (?,?)"); |
| try { |
| stmt.setString(1, firstName); |
| stmt.setString(2, lastName); |
| stmt.executeUpdate(); |
| |
| stmt = con.prepareStatement("select EmployeeID from Employees where FirstName = ? AND LastName = ?"); |
| stmt.setString(1, firstName); |
| stmt.setString(2, lastName); |
| final ResultSet set = stmt.executeQuery(); |
| while (set.next()) |
| id = set.getInt("EmployeeID"); |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| |
| return new Integer(id); |
| |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| throw new javax.ejb.CreateException("can't create"); |
| } |
| } |
| |
| public String getLastName() { |
| return lastName; |
| } |
| |
| public String getFirstName() { |
| return firstName; |
| } |
| |
| public void setLastName(final String lname) { |
| lastName = lname; |
| } |
| |
| public void setFirstName(final String fname) { |
| firstName = fname; |
| } |
| |
| public void ejbLoad() { |
| try { |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| |
| final Connection con = ds.getConnection(); |
| try { |
| final PreparedStatement stmt = con.prepareStatement("select * from Employees where EmployeeID = ?"); |
| try { |
| final Integer primaryKey = (Integer) ejbContext.getPrimaryKey(); |
| stmt.setInt(1, primaryKey.intValue()); |
| final ResultSet rs = stmt.executeQuery(); |
| while (rs.next()) { |
| lastName = rs.getString("LastName"); |
| firstName = rs.getString("FirstName"); |
| } |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| } |
| |
| } |
| |
| public void ejbStore() { |
| try { |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| final Connection con = ds.getConnection(); |
| |
| try { |
| final PreparedStatement stmt = con.prepareStatement("update Employees set FirstName = ?, LastName = ? where EmployeeID = ?"); |
| try { |
| stmt.setString(1, firstName); |
| stmt.setString(2, lastName); |
| stmt.setInt(3, id); |
| stmt.execute(); |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| } |
| |
| } |
| |
| public void ejbActivate() { |
| } |
| |
| public void ejbPassivate() { |
| } |
| |
| public void ejbRemove() { |
| |
| try { |
| final InitialContext jndiContext = new InitialContext(); |
| |
| final javax.sql.DataSource ds = |
| (javax.sql.DataSource) jndiContext.lookup("java:comp/env/jdbc/orders"); |
| |
| final Connection con = ds.getConnection(); |
| |
| try { |
| final PreparedStatement stmt = con.prepareStatement("delete from Employees where EmployeeID = ?"); |
| try { |
| final Integer primaryKey = (Integer) ejbContext.getPrimaryKey(); |
| stmt.setInt(1, primaryKey.intValue()); |
| stmt.executeUpdate(); |
| } finally { |
| stmt.close(); |
| } |
| } finally { |
| con.close(); |
| } |
| |
| } catch (final Exception e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| public void setEntityContext(final javax.ejb.EntityContext cntx) { |
| ejbContext = cntx; |
| } |
| |
| public void unsetEntityContext() { |
| } |
| } |
| |
| |