package control; import dao.AcessorioDao; import dao.FabricaDao; import domain.Acessorio; import domain.GrupoCarro; import groovyjarjarcommonscli.ParseException; import java.sql.SQLException; import java.util.Vector; import util.ConexaoException; import util.MinhaException; public class ControladoraAcessorio { private AcessorioDao acessorioDao; private Vector<Acessorio> vetAcessorio; private int marc; public int getMarc() { return marc; } public void setMarc(int marc) { this.marc = marc; } public ControladoraAcessorio() { this.acessorioDao = FabricaDao.getAcessorioDao("JDBC"); } public Vector<Acessorio> selecionarAcessoriosGrupo(GrupoCarro gc) throws MinhaException, SQLException, ConexaoException{ this.acessorioDao = FabricaDao.getAcessorioDao("JDBC"); Vector acessorios = this.acessorioDao.selecionarAcessorioGrupo(gc); return acessorios; } public Vector obterAcessoriosGrupo(GrupoCarro gc) throws MinhaException, SQLException, ConexaoException { Vector linhasAcessorios = new Vector(); Vector<Acessorio> acessorioGrupo = this.selecionarAcessoriosGrupo(gc); for (int i = 0; i < acessorioGrupo.size(); i++) { Acessorio acessorio = acessorioGrupo.get(i); linhasAcessorios.addElement(this.criarLinhaAcessorio(acessorio)); } return linhasAcessorios; } public void inserirNovoAcessorio(Vector linha) throws MinhaException, SQLException, ConexaoException { Acessorio acessorio = new Acessorio(); this.atualizarAcessorio(acessorio, linha); acessorioDao.inserirAcessorio(acessorio); } private void atualizarAcessorio(Acessorio acessorio, Vector linha) { acessorio.setDescAcessorio(linha.get(0).toString()); } private Vector<Acessorio> obterAcessorio() throws MinhaException, SQLException, ConexaoException { vetAcessorio = acessorioDao.selecionarTodosAcessorio(); return vetAcessorio; } @SuppressWarnings("unchecked") public Vector obterLinhasAcessorio() throws MinhaException, SQLException, ConexaoException { Vector<Acessorio> acessorios = obterAcessorio(); Vector linhas = new Vector(); // Montando as linhas for (int i = 0; i < acessorios.size(); i++) { Acessorio acesso = acessorios.get(i); linhas.addElement(this.criarLinhaAcessorio(acesso)); } return linhas; } private Vector criarLinhaAcessorio(Acessorio acessorio) { Vector linha = new Vector(); linha.addElement(acessorio.getCodAcessorio()); linha.addElement(acessorio.getDescAcessorio()); return linha; } public void deletarAcessorio() throws SQLException, ClassNotFoundException, MinhaException, ConexaoException { Acessorio acess = this.vetAcessorio.get(marc); acessorioDao.removerAcessorio(acess); this.vetAcessorio.remove(marc); } public void alterarAcessorio(Vector linha) throws ConexaoException, SQLException, ParseException, ClassNotFoundException, MinhaException { Acessorio acess = new Acessorio(); this.atualizarAcessorio(acess, linha); acess.setCodAcessorio(Integer.parseInt(linha.get(1).toString())); acessorioDao.alterarAcessorio(acess); } }