Problemas para remover objeto de lista
Postado em
05/12/2010 00:00

0

0
Prezados,
Eu não consigo excluir um elemento da lista passando como parâmetro um objeto.
Eu gostaria de utilizar o método:
public boolean remove(Object o) da classe java.util.ArrayList
retorna true se o objeto foi removido, senão false.
def removeProdutoAjax = {
def produtoInstance = Produto.get(params.id)
def listaProdutos = session.listaProdutos
def removeu = listaProdutos.remove(produtoInstance)
session.listaProdutos = listaProdutos
render(template:"list", model:[produtoInstanceList:listaProdutos])
}
Debugando, a lista contém um objeto igual a produtoInstance.
Já tentei de tudo, alguém sabe me dizer o que estou fazendo errado?
Tags:
Groovy
eduardoribeiro
Pontos: 0

0

0
06/12/2010 00:00
Você sobrescreveu equals() e hashcode() na classe Produto? Se não fizer isso não dará certo, porque a instância atual do produto na lista gravada na session é diferente da instância capturada pelo método get(params.id).
fabianosobreira
Pontos: 0

0

0
07/12/2010 00:00
Interessante Fabiano, obrigado.
Não sabia disso, vou estudar essa questão.
Eu sobreescrevi, agora gera um erro:
Caused by: java.lang.StackOverflowError
nesse método:
def ajaxGetProdutos = {
def tipoProduto = TipoProduto.get(params.id)
render tipoProduto?.produtos as JSON
}
Alguma sugestão?
eduardoribeiro
Pontos: 0

0

0
07/12/2010 00:00
Por coincidência escrevi sobre isso ontem no meu blog.
<!-- m --><a class="postlink" href="http://blog.sobreira.eti.br/archives/475">http://blog.sobreira.eti.br/archives/475</a><!-- m -->
[]s
fabianosobreira
Pontos: 0

0

0
10/12/2010 00:00
muito bom, obrigado fabiano!
eduardoribeiro
Pontos: 0