/** * Obtém os registros da pessoa desejada, de determinada categoria de talento e de determinada * página * * @param objPessoa Pessoa desejada * @param objCategoriaTalento Categoria de talento desejada * @param int Número da página a ser mostrada * @param int Quantidade de registros * @return List Contendo os POJOs representando os registro obtidos * @throws CDException se ocorrer algum erro relacionado ao negócio */ public List obterPorPessoaCategoriaTalentoPorPagina( Pessoa objPessoa, CategoriaTalento objCategoriaTalento, int intNumeroPagina, int intMaximoPagina) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e obtém os registros da página TalentoDAO objTalentoDAO = new TalentoDAO(); List lstRetorno = new ArrayList(); try { List lstTalentos = objTalentoDAO.obterPorPessoaCategoriaTalentoPorPagina( objPessoa, objCategoriaTalento, intNumeroPagina, intMaximoPagina); Iterator itrTalentos = lstTalentos.iterator(); while (itrTalentos.hasNext()) { Talento objTalento = (Talento) itrTalentos.next(); TalentoVisualizacao objTalentoVisualizacao = new TalentoVisualizacao(); Copia.criar(objTalento, objTalentoVisualizacao); objTalentoVisualizacao.setDescricao(obterDescricao(objTalento)); lstRetorno.add(objTalentoVisualizacao); } } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } return lstRetorno; }
/** * Exclui um registro * * @param objTalento POJO representando o objeto a ser incluído * @throws CDException se ocorrer algum erro relacionado ao negócio */ public void excluir(Talento objTalento) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e inclui registro AtributoTalentoValoradoDAO objAtributoTalentoValoradoDAO = new AtributoTalentoValoradoDAO(); TalentoDAO objTalentoDAO = new TalentoDAO(); try { // Inicia transação DAO.iniciarTransacao(); // Exclui valorações objAtributoTalentoValoradoDAO.excluirPorTalento(objTalento); // Exclui objTalentoDAO.excluir(objTalento); // Realiza transação DAO.realizarTransacao(); } catch (Exception daoe) { DAO.desfazerTransacao(); CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } }
/** * Inclui um registro * * @param objTalento POJO representando o objeto a ser incluído * @param lstAtributosTalentoValoros List contendo as valorações do talento a serem incluídas * @throws CDException se ocorrer algum erro relacionado ao negócio * @return retorna a chave do objeto que foi incluido */ public String incluir(Talento objTalento, List lstAtributosTalentoValorados) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e inclui registro TalentoDAO objTalentoDAO = new TalentoDAO(); CategoriaTalentoDAO objCategoriaTalentoDAO = new CategoriaTalentoDAO(); String strChave = null; try { // Não é permitido que a pessoa tenha mais de uma categoria cadastrada se ela for perfil CategoriaTalento objCategoriaTalento = (CategoriaTalento) objCategoriaTalentoDAO.obterPelaChave( String.valueOf(objTalento.getCategoriaTalento().getIdentificador())); if ("S".equals(objCategoriaTalento.getIndicativoUnicidade())) { if (objTalentoDAO.verificarExistenciaPorPessoaCategoriaTalento( objTalento.getPessoa(), objTalento.getCategoriaTalento())) { throw new NegocioException( "Não é possível inserir mais de um talento se a categoria " + "em questão é perfil"); } } // Verifica as valorações obrigatórios verificarValoracoesObrigatorias( objTalento.getCategoriaTalento(), lstAtributosTalentoValorados); // Inicia transação DAO.iniciarTransacao(); // Preenche dados de talento objTalento.setDataLancamento(DataNova.formatarCalendar(DataNova.obterDataAtual())); // Inclui talento strChave = objTalentoDAO.incluir(objTalento); objTalento.setIdentificador(Integer.valueOf(strChave)); // Inclui valorações incluirValoracoes(objTalento, lstAtributosTalentoValorados); // Realiza transação DAO.realizarTransacao(); } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } // Retorna chave return strChave; }
/** * Obtém todos os registros * * @return List Contendo os POJOs representando os registro obtidos * @throws CDException se ocorrer algum erro relacionado ao negócio */ public List obterTodos() throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e obtém todos os registros TalentoDAO objTalentoDAO = new TalentoDAO(); List lstRetorno = null; try { lstRetorno = objTalentoDAO.obterTodos(); } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } return lstRetorno; }
/** * Obtém o total de registros por pessoa * * @param objPessoa Pessoa desejada * @return int Contendo o total * @throws CDException se ocorrer algum erro relacionado ao negócio */ public int obterTotalRegistrosPorPessoa(Pessoa objPessoa) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e obtém os registros da página TalentoDAO objTalentoDAO = new TalentoDAO(); int intTotalRegistros = 0; try { intTotalRegistros = objTalentoDAO.obterTotalRegistrosPorPessoa(objPessoa); } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } return intTotalRegistros; }
/** * Obtém um registro a partir da chave * * @param strChave Chave do registro a ser obtido * @return Talento POJO representando o registro obtido * @throws CDException se ocorrer algum erro relacionado ao negócio */ public Talento obterPelaChave(String strChave) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e obtém o registro pela chave TalentoDAO objTalentoDAO = new TalentoDAO(); Talento objTalento = null; try { objTalento = (Talento) objTalentoDAO.obterPelaChave(strChave); objTalentoDAO.inicializarCategoriaTalento(objTalento); } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } return objTalento; }
/** * Obtém um registro a partir da chave, incluindo também a descrição * * @param strChave Chave do registro a ser obtido * @return TalentoVisualizacao POJO (extendido) representando o registro obtido * @throws CDException se ocorrer algum erro relacionado ao negócio */ public TalentoVisualizacao obterPelaChaveComDescricao(String strChave) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e obtém o registro pela chave TalentoDAO objTalentoDAO = new TalentoDAO(); Talento objTalento = null; TalentoVisualizacao objTalentoVisualizacao = null; try { objTalento = (Talento) objTalentoDAO.obterPelaChave(strChave); objTalentoVisualizacao = new TalentoVisualizacao(); Copia.criar(objTalento, objTalentoVisualizacao); objTalentoVisualizacao.setDescricao(obterDescricao(objTalento)); } catch (Exception daoe) { CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } return objTalentoVisualizacao; }
/** * Altera um registro * * @param objTalento POJO representando o objeto a ser incluído * @throws CDException se ocorrer algum erro relacionado ao negócio */ public void alterar(Talento objTalento, List lstAtributosTalentoValorados) throws CDException { if (log.isDebugEnabled()) { log.debug("Entrada no metodo"); } // Instancia DAO e altera registro TalentoDAO objTalentoDAO = new TalentoDAO(); AtributoTalentoValoradoDAO objAtributoTalentoValoradoDAO = new AtributoTalentoValoradoDAO(); try { // Verifica as valorações obrigatórios verificarValoracoesObrigatorias( objTalento.getCategoriaTalento(), lstAtributosTalentoValorados); // Inicia transação DAO.iniciarTransacao(); // Preenche dados de talento objTalento.setDataLancamento(DataNova.formatarCalendar(DataNova.obterDataAtual())); // Exclui valorações anteriores objAtributoTalentoValoradoDAO.excluirPorTalento(objTalento); // Reinclui valorações incluirValoracoes(objTalento, lstAtributosTalentoValorados); // Altera objTalentoDAO.alterar(objTalento); // Realiza transação DAO.realizarTransacao(); } catch (Exception daoe) { DAO.desfazerTransacao(); CDException.dispararExcecao(daoe); } finally { DAO.desconectar(); } }