예제 #1
0
  public ActionForward createEdit(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    try {
      LoteForm loteForm = new LoteForm();
      String idStrLote = request.getParameter("idLote");

      if (StringUtils.isNotBlank(idStrLote)) {
        loteForm = this.loteService.getLoteById(Integer.valueOf(idStrLote));
      }

      loteForm.setFornecedores(this.fornecedorService.getAllFornecedorForm());
      loteForm.setPerfumes(perfumeService.getAllPerfumeForm());

      request.setAttribute("model", loteForm);
      return mapping.findForward("cadastro");
    } catch (Exception e) {
      e.printStackTrace();
      return mapping.findForward("falha");
    }
  }
예제 #2
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());
  }