Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Queria saber se meu metodo está correto.

Bom dia, tenho uma duvida, com o meu break, tenho o meu produto e esse produto pode ter varios fornecedores e na hora de carregar meu metodo para atualizar fiz dessa forma, crei um contador porque pode ter mais de um fornecedor, porem tava dando um erro de posição no meu metodo, ai usei o break,está correto?

@SuppressWarnings("unused")
    public Redirecionador carregar(Produto produto) {
        for(int i =0; i < produtos.size(); i++) {
            this.produto = produto;
            this.fornecedor = produto.getFornecedores().get(i);
            break;
        }
        return new Redirecionador("produto");
    }

e aqui minha view

<p:column headerText="Fornecedor">
                    <ui:repeat value="#{produto.fornecedores}" var="fornecedor">
                        <h:outputText value="#{fornecedor.nome}" />
                    </ui:repeat>
                </p:column>

                <p:column headerText="Celular">
                    <ui:repeat value="#{produto.fornecedores}" var="fornecedor">
                        <h:outputText value="#{fornecedor.celular}" />
                    </ui:repeat>
                </p:column>

                <p:column headerText="Opções">
                    <p:panelGrid columns="2">
                        <p:commandButton icon="fa fa-fw fa-edit"
                            action="#{produtoBean.carregar(produto)}" title="Editar" />
                    </p:panelGrid>
                </p:column>
8 respostas

Bom dia Alisson, seu laço só itera uma vez, pois o "break", quebra a estrutura, logo, sai do laço. Com isso, você só conseguirá acessar sempre o índice 0 da sua Collection.

Sim sim, pois então se não uso o break ele me retorna um erro de posiçao :( por esse motivo que coloquei o break

Esse produtos.size() vem de onde?

produtos vem da minha lista de produtos, o size é o tamanho da minha lista, agora vi to fazendo um forEach de produtos e nao de fabricantes kkkk. obrigado pela atenção vlw mano!

solução!

Será que não fica melhor assim ?

```
 public Redirecionador carregar(Produto produto) {
        for(int i =0; i < produto.getFornecedores().size(); i++) {
            this.produto = produto;
            this.fornecedor = produto.getFornecedores().get(i);
        }
        return new Redirecionador("produto");
    }

```

Por nada!

Marca como resolvida! Até mais..

Perfeito joao, valeu!