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



 


Esqueceu sua senha?
 
Grails Brasil é mantido por itexto Desenvolvimento de Projetos Ltda.
Em caso de problemas, sinta-se livre para procurar Henrique Lobo Weissmann (Kico) por e-mail: kicolobo@itexto.net
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão (clique no logo à direita para maiores detalhes)