Erros em Persit, merge e remove, help-me

1 resposta
rbroz85

Boa tarde,

tenho um metodo para Atualizar um usuario e suas permições!
porem da dando:
java.util.ConcurrentModificationException

nao sei o que estou fazendo de errado…

se alguem puder me ajudar nessa

mt grato desde ja

private void mergeUsuario(Usuario usuario) {
        EntityManager em = null;
        Collection<Permissao> permOld = null;
        Collection<Permissao> permNew = null;
        try {
            em = getEntityManager();
            utx.begin();
            //usuario banco
            Usuario u = em.find(Usuario.class, usuario.getIdUsuario());
            //pega lista de rules do banco
            permOld = u.getPermissaoCollection();
            System.out.println(">>permOld: "+permOld.size());
            //pega lista de rules do formulario
            permNew = haveRules(usuario);
            System.out.println(">>permNew: "+permNew.size());
            
            
            for (Permissao p : permOld) {
                if (permNew.size()==0 || !areThereIn(permNew, p)) {
                    p = em.getReference(p.getClass(), p.getIdPermissao());
                    System.out.println(">>remover acesso: "+p.getAcesso()+" ,pk: "+p.getIdPermissao());
                    Usuario user = p.getUsuarioidUsuario();
                    user.getPermissaoCollection().remove(p);
                    user = em.merge(user);
                    em.remove(p);
                }
            }
            
            for (Permissao p : permNew) {
                if (!areThereIn(permOld, p)) {
                    em.persist(p);
                    Usuario user = p.getUsuarioidUsuario();
                    user.getPermissaoCollection().add(p);
                    user = em.merge(user);
                }
            }       
            
            utx.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            em.close();
        }
    }

1 Resposta

rbroz85

pow nao sei como vou apagar uma determinada Rule de um Usuario
dentro de um for…

aguem ae please ??

Criado 13 de novembro de 2008
Ultima resposta 13 de nov. de 2008
Respostas 1
Participantes 1