package javabeans; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.model.SelectItem; /** * * @author miguel */ @ManagedBean @RequestScoped public class PreciosBean { private List<SelectItem> memoria; private List<SelectItem> accesorios; /** Creates a new instance of PreciosBean */ public PreciosBean() { } public Connection obtenerConexion() { Connection cn = null; try { Class.forName("org.hsqldb.jdbcDriver"); cn = DriverManager.getConnection("jdbc:hsqldb:mem:myDB"); } catch (Exception e) { e.printStackTrace(); } return cn; } private void try_create_memoria () { try { Connection con = obtenerConexion(); Statement st = con.createStatement(); st.execute("create table memoria (" + "capacidad varchar(50), " + "precio varchar(50)" + ")"); st.execute("insert into memoria(capacidad,precio) values('2Gb', '200')"); st.execute("insert into memoria(capacidad,precio) values('4Gb', '300')"); st.execute("insert into memoria(capacidad,precio) values('8Gb', '400')"); con.close(); } catch (SQLException ex) { ex.printStackTrace(); } } private void try_create_accesorios () { try { Connection con = obtenerConexion(); Statement st = con.createStatement(); st.execute("create table accesorios (" + "nombre varchar(50), " + "precio varchar(50)" + ")"); st.execute("insert into accesorios(nombre,precio) values('Monitor TFT', '300')"); st.execute("insert into accesorios(nombre,precio) values('Lector Blue Ray', '300')"); st.execute("insert into accesorios(nombre,precio) values('Impresora Laser Color', '300')"); con.close(); } catch (SQLException ex) { ex.printStackTrace(); } } public List<SelectItem> getMemoria() { //obtiene la lista de precios de los //módulos de memoria try_create_memoria(); String sql = ""; ArrayList<SelectItem> totales = new ArrayList<SelectItem>(); try { Connection cn = obtenerConexion(); Statement st = cn.createStatement(); sql = "SELECT capacidad, precio FROM memoria"; ResultSet rs = st.executeQuery(sql); while (rs.next()) { totales.add(new SelectItem( rs.getString("precio"), rs.getString("capacidad"))); } cn.close(); } catch (Exception e) { e.printStackTrace(); } finally { memoria = totales; return memoria; } } public List<SelectItem> getAccesorios() { //obtiene la lista de precios de los //accesorios try_create_accesorios(); String sql = ""; ArrayList<SelectItem> totales = new ArrayList<SelectItem>(); try { Connection cn = obtenerConexion(); Statement st = cn.createStatement(); sql = "SELECT nombre, precio FROM accesorios"; ResultSet rs = st.executeQuery(sql); while (rs.next()) { totales.add(new SelectItem( rs.getString("precio"), rs.getString("nombre"))); } cn.close(); } catch (Exception e) { e.printStackTrace(); } finally { accesorios = totales; return accesorios; } } public void setMemoria(List<SelectItem> memoria) { this.memoria = memoria; } public void setAccesorios(List<SelectItem> accesorios) { this.accesorios = accesorios; } }