public void associarProdutos(List<Produto> produtos) { ProdutoComparator comparator = new ProdutoComparator(); List<Produto> conflic = new LinkedList<Produto>(); for (Produto produto : produtos) { if (categoriaColaborador.equals(produto.getCategoria())) { Collections.sort(this.produtos, comparator); if (Collections.binarySearch(this.produtos, produto, comparator) < 0) { this.produtos.add(produto); } } else { conflic.add(produto); } } if (conflic.size() > 0) { showTypeConflictMessage( "Somente " + getCategoriaColaborador() + "s serão associados.", conflic); } }
public void resyncByCategoria() { List<Produto> remove = new LinkedList<Produto>(); for (Produto produto : produtos) { if (!categoriaColaborador.equals(produto.getCategoria())) { remove.add(produto); } } this.produtos.removeAll(remove); if (remove.size() > 0) { showTypeConflictMessage( "Os não " + getCategoriaColaborador() + "s deste " + getCategoriaColaborador().getColaborador() + " foram desassociados.", remove); } }