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
Erro na Collections (Postei o codigo agora)
D
2 Respostas
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