示例#1
0
  public ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response,
      SessionAPI session)
      throws Exception {

    // Comprobar si el usuario tiene asignadas las funciones adecuadas
    FunctionHelper.checkFunctions(
        request, session.getClientContext(), new int[] {ISecurityAPI.FUNC_INV_PROCEDURES_EDIT});

    int intTpObj = Integer.parseInt(request.getParameter("TpObj"));
    int intIdObj = Integer.parseInt(request.getParameter("IdObj"));

    // Prepara las API's a utilizar
    IInvesflowAPI invesFlowAPI = session.getAPI();
    ICatalogAPI catalogAPI = invesFlowAPI.getCatalogAPI();

    if (request.getParameter("idRule") != null) {
      catalogAPI.addPRuleEvent(
          intTpObj,
          intIdObj,
          Integer.parseInt(request.getParameter("codEvent")),
          Integer.parseInt(request.getParameter("idRule")));

      ActionForward forward = mapping.findForward("showevents");
      String path = forward.getPath() + "?TpObj=" + intTpObj + "&IdObj=" + intIdObj;
      return new ActionForward(forward.getName(), path, forward.getRedirect());
    }

    request.setAttribute("TpObj", String.valueOf(intTpObj));
    request.setAttribute("IdObj", String.valueOf(intIdObj));

    CacheFormatterFactory factory = CacheFormatterFactory.getInstance();
    String ispacbase = (String) servlet.getServletContext().getAttribute("ispacbase");

    if (request.getParameter("codEvent") != null) {
      request.setAttribute("codEvent", request.getParameter("codEvent"));
      IItemCollection rulecol = catalogAPI.getCTRules();
      List rulelist = CollectionBean.getBeanList(rulecol);

      request.setAttribute("RulesList", rulelist);

      BeanFormatter formatter =
          factory.getFormatter(getISPACPath("/formatters/events/ruleslistformatter.xml"));

      request.setAttribute("RulesListFormatter", formatter);
      request.setAttribute(
          "application", StaticContext.rewritePage(ispacbase, "common/events/ruleslist.jsp"));
    } else {
      List eventlist = DescriptionsPEvents.getDescEventsList(intTpObj, intIdObj);
      request.setAttribute("EventsList", eventlist);

      BeanFormatter formatter =
          factory.getFormatter(getISPACPath("/formatters/events/eventslistformatter.xml"));

      request.setAttribute("EventsListFormatter", formatter);
      request.setAttribute(
          "application", StaticContext.rewritePage(ispacbase, "common/events/eventslist.jsp"));
    }

    return mapping.findForward("success");
  }