예제 #1
0
  private void recuperaParams(HttpServletRequest request, ActionForm form) {
    LoteForm loteForm = (LoteForm) form;
    Map<Integer, LoteProdutoForm> perfumes = new HashMap<Integer, LoteProdutoForm>();

    for (String p : loteForm.getPerfume()) {
      Integer idPerfume = Integer.valueOf(p);
      LoteProdutoForm loteProduto = new LoteProdutoForm();
      loteProduto.setIdPerfume(idPerfume);
      perfumes.put(idPerfume, loteProduto);
    }

    for (Object key : request.getParameterMap().keySet()) {
      String keyStr = (String) key;
      if (keyStr.contains("quantidade")) {
        String qtd[] = keyStr.split(";");
        Integer idPerfume = Integer.valueOf(qtd[1]);
        LoteProdutoForm perf = perfumes.get(idPerfume);
        perf.setQuantidade(Integer.valueOf(request.getParameter(keyStr)));
      }

      if (keyStr.contains("preco")) {
        String prec[] = keyStr.split(";");
        Integer idPerfume = Integer.valueOf(prec[1]);
        LoteProdutoForm perf = perfumes.get(idPerfume);
        String value = request.getParameter(keyStr).replace(",", ".");
        perf.setPreco(Double.valueOf(value));
      }
    }
    loteForm.setLoteProdutoForm(perfumes.values());
  }