package com.n2bb.sysmonui.alerts;

import com.n2bb.action.AbstractAction;
import com.tandbergtv.workflow.web.common.StaticCodes;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Takes user to alert pattern details page,
 * for editing/adding alert pattern.
 *
 * @author kmatsuoka
 * @version $Id: EditAlertPatternAction.java,v 1.1 2006/08/30 18:34:04 kmehta Exp $
 */
public final class EditAlertPatternAction extends AbstractAction {

  public ActionForward executeAction(ActionMapping mapping, ActionForm form,
          HttpServletRequest request, HttpServletResponse response)
          throws Exception {

      String name = request.getParameter("name");
      boolean add = mapping.getParameter().equals("add") ||
              name == null || name.equals("");

      EditAlertPatternForm editForm = (EditAlertPatternForm) form;
      editForm.setAdd(add);

      if (!add) {
          AlertPatternBean bean = AlertManager.getAlertPattern(name);
          editForm.setName(bean.getName());
          editForm.setPattern(bean.getPattern());
          
          // hack to enable modify menu item
          request.setAttribute(StaticCodes.MODIFY_ALERT_PATTERN_TAB_ITEM, StaticCodes.MODIFY_ALERT_PATTERN_TAB_ITEM);
      }

      return mapping.findForward("success");
  }

}

