Erro na Collections (Postei o codigo agora)

2 respostas
D

Tenho uma aplicacao web, onde tenho uma coleção de telefones, qndo os telefones forem atualizados na tela necessito apagar a colecao p recriar.
Consigo dar um clear nela, mas na hora de salvar ele volta todos os telefones.
Com isso estou inserindo varias vezes os mesmoso telefones

2 Respostas

wariows

Se você faz um .clear() nela, então ela está apagando tudo. Aparentemente é na sua lógica que vc está reinserindo os telefones.

Posta o código dessa parte que fica mais fácil da gente ajudar…

D

meu codigo :

Primeiro p encher a colecao p tela :

protected void buildListHabilidades() {


        this.getActionForm().setLstHabilidades(new ArrayList<LabelValueBean>());
        this.getActionForm().setCmbHabilidadeSelecionados(new String[0]);

        if ((this.getActionForm() != null) && (this.getActionForm().getPersistable() != null)) {
            if ((this.getActionForm().getPersistable().getHabilidades() != null) &&
                    (this.getActionForm().getPersistable().getHabilidades().size() > 0)) {
                String[] selecionados = new String[this.getActionForm().getPersistable().getHabilidades().size()];

                int i = 0;
                for (Iterator it = this.getActionForm().getPersistable().getHabilidades().iterator(); it.hasNext();) {
                    Habilidade elem = (Habilidade) it.next();
                    // String dddTel = "(" + elem.getDdd() + ")" + " " + elem.getNumero();
                    String descHabilidade = elem.getDescricao();
                    this.getActionForm().getLstHabilidades().add(new LabelValueBean(descHabilidade, elem.getId().toString()));
                    selecionados[i++] = descHabilidade;
                }
            }
        }
    }

Retorno da Tela p salvar

O certo seria ele apagar tudo q estava armazenada e colocar a lista alterada da tela

this.getActionForm().getPersistable().setHabilidades (new HashSet< Habilidade > () );
//        this.getActionForm().getPersistable().setHabilidades( this.getBusinessMaintainer().listHabilidadeByArtista(this.getActionForm().getPersistable().getId() ) );
        
        this.getActionForm().getPersistable().getHabilidades().clear();
        
        if (this.getActionForm().getCmbHabilidadeSelecionados() != null) {
            String[] habsSelecionados = this.getActionForm().getCmbHabilidadeSelecionados();
            for (String elem : habsSelecionados) {
                Habilidade hab = new Habilidade();

                hab.setDescricao(elem);

                this.getActionForm().getPersistable().addHabilidade ( hab );

            }
        }
Criado 8 de setembro de 2008
Ultima resposta 9 de set. de 2008
Respostas 2
Participantes 2