List funcoesDaEstrutura = new EstruturaFuncaoDao(request).getFuncoes(estrutura);
if (funcoes != null) {
for (int i = 0; i < funcoes.length; i++) {
EstruturaFuncaoEttf estruturaFuncao = new EstruturaFuncaoEttf();
/* carrega a fun��o */
FuncaoFun funcao = (FuncaoFun) (new FuncaoDao(request).buscar(
FuncaoFun.class, Long.valueOf(funcoes[i])));
estruturaFuncao.setFuncaoFun(funcao);
estruturaFuncao.setEstruturaEtt(estrutura);
if(funcoesDaEstrutura.contains(funcao)) {
estruturaFuncao = (EstruturaFuncaoEttf) new EstruturaFuncaoDao(request).pesquisar(estruturaFuncao, null).iterator().next();
}
else {
estruturaFuncao.setLabelEttf(funcao.getLabelPadraoFun());
// // Robson - incluir valores do campo documentacao da fun��o no estruturaFuncao
estruturaFuncao.setDocumentacaoEttf(funcao.getDocumentacaoFun());
// // seta alguns valores default para atributos.
estruturaFuncao.setIndPodeBloquearEttf("N");
estruturaFuncao.setIndListagemImpressaResEttf("N");
estruturaFuncao.setIndListagemImpressCompEttf("S");
estruturaFuncao.setIndRevisaoEttf("S");
estruturaFuncao.setIndExibirHistoricoEttf("S");
}
/* adiciona numa cole��o de EstruturaFuncao */
retorno.add(estruturaFuncao);
escolhidas.add(estruturaFuncao);