blob: b755f300b54e01cb5213a7d920c5e9a1aceae25a [file] [log] [blame]
/**
* 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() {
}
}