/* * Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ package samples.ejb.bmp.robean.ejb; import javax.ejb.*; import javax.naming.*; import java.sql.*; import javax.sql.DataSource; public class CustomerRefreshEJB implements javax.ejb.EntityBean { //database fields double balance; EntityContext ejbContext = null; InitialContext ic = null; DataSource dataSource = null; public double getBalance() { return balance; } public void setEntityContext(EntityContext cntx) { ejbContext = cntx; try { ic = new InitialContext(); dataSource = (DataSource)ic.lookup("java:comp/env/jdbc/bmp-robean"); } catch (NamingException e) { System.out.println("Naming exception occured while trying to lookup the datasource"); } } public void unsetEntityContext() { ejbContext = null; } public String ejbFindByPrimaryKey(String SSN) throws FinderException { try { Connection conn = null; conn = dataSource.getConnection(); Statement statement = conn.createStatement(); String query = "SELECT * FROM customer1 where SSN = '" + SSN + "'"; ResultSet results = statement.executeQuery(query); conn.close(); if (results.next()) { return SSN; } else { System.out.println("ERROR!! No entry matching the entered Social Security Number!"); return ""; } } catch (SQLException e) { System.out.println("SQLException occured in ejbFindbyPrimaryKey method."); return ""; } } public String ejbCreate() { return null; } public void ejbPostCreate() { } public void ejbRemove() { } public void ejbStore() { // No need to implement EJB store since its ROB } public void ejbLoad() { try { Connection conn = null; String primaryKey = (String)ejbContext.getPrimaryKey(); conn = dataSource.getConnection(); Statement statement = conn.createStatement(); String query = "SELECT balance FROM customer1 where SSN = '" + primaryKey + "'"; ResultSet results = statement.executeQuery(query); if (results.next()) { this.balance = results.getDouble("balance"); } else { System.out.println("ERROR!! No entry matching the entered Social Security Number!"); } conn.close(); } catch (SQLException e) { System.out.println("SQLException occurred in ejbLoad() method"); } } public void ejbActivate() { } public void ejbPassivate() { } }