public double getSomaValor() {
   double valor = 0.0f;
   if (produtos != null)
     for (Produto produto : produtos) {
       valor += produto.getPreco();
     }
   return valor;
 }
 @Transactional
 public void grava() {
   if (produto.getPreco() != 0) {
     if (produto.getId() == null) dao.adiciona(produto);
     else dao.atualiza(produto);
     this.produtos = dao.listaTodos();
     limparFormularioJSF();
   }
 }
 public BigDecimal getTotalProdutos() {
   BigDecimal total = BigDecimal.ZERO;
   for (Produto produto : this.produtos) {
     if (produto == null || produto.getPreco() == null) {
       continue;
     }
     total = total.add(BigDecimal.valueOf(produto.getPreco()));
   }
   return total;
 }