package com.beer.business.data; import java.sql.Connection; import java.util.Collection; import java.util.ArrayList; import java.util.Random; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.beer.business.domain.Beer; import com.beer.business.domain.State; import com.beer.common.BaseDao; import com.beer.common.Constants; //import com.beer.business.service.BeerServiceImpl; public class BeerDaoImpl extends BaseDao implements BeerDao { public BeerDaoImpl() { //BeerServiceImpl impl = new BeerServiceImpl(); //impl.runThis(); } public Collection findAll(String sql) { Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; Collection results = new ArrayList(); try { conn = this.getConnection(); stmt = conn.prepareStatement(sql); rs = stmt.executeQuery(); while (rs.next()) { Beer beer = new Beer(); beer.setName(rs.getString("beer_name")); beer.setBrewer(rs.getString("brewer")); beer.setDateReceived(rs.getString("date_received")); results.add(beer); } } catch (SQLException se) { throw new RuntimeException(se); } finally { closeDbConnection(rs, stmt, conn); } return results; } public Collection findAllStates(String sql) { Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; Collection states = new ArrayList(); try { conn = this.getConnection(); stmt = conn.prepareStatement(sql); rs = stmt.executeQuery(); while (rs.next()) { State state = new State(); state.setState(rs.getString("state")); state.setDescription(rs.getString("description")); states.add(state); } } catch (SQLException se) { se.printStackTrace(); } finally { closeDbConnection(rs, stmt, conn); } return states; } public int create(String sql, Beer beer) { Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; System.out.println("beer.getName()=" + beer.getName()); System.out.println("beer.getBrewer()=" + beer.getBrewer()); Random generator = new Random(); int r = generator.nextInt(); String s = Integer.toString(r); try { conn = this.getConnection(); stmt = conn.prepareStatement(sql); stmt.setString(1, s); stmt.setString(2, beer.getName()); stmt.setString(3, beer.getBrewer()); stmt.executeUpdate(); conn.commit(); } catch (SQLException se) { throw new RuntimeException(se); } finally { closeDbConnection(rs, stmt, conn); } return 0; } }