package coreservlets;

import javax.servlet.http.*;
import org.apache.struts.action.*;

public class SignupAction1 extends Action {
  public ActionForward execute(ActionMapping mapping,
                               ActionForm form,
                               HttpServletRequest request,
                               HttpServletResponse response)
      throws Exception {
    ContactFormBean userBean = (ContactFormBean)form;
    String firstName = userBean.getFirstName();
    String lastName = userBean.getLastName();
    String email = userBean.getEmail();
    String faxNumber = userBean.getFaxNumber();
    MessageBean messageBean = new MessageBean();
    request.setAttribute("messageBean", messageBean);
    if (isMissing(firstName)) {
      makeWarning(request, "first name");
      return(mapping.findForward("missing-value"));
    } else if (isMissing(lastName)) {
      makeWarning(request, "last name");
      return(mapping.findForward("missing-value"));
    } else if ((isMissing(email)) ||
               (email.indexOf("@") == -1)) {
      makeWarning(request, "email address");
      return(mapping.findForward("missing-value"));
    } else if (isMissing(faxNumber)) {
      makeWarning(request, "fax number");
      return(mapping.findForward("missing-value"));
    } else {
      return(mapping.findForward("success"));
    }
  }

  private boolean isMissing(String value) {
    return((value == null) || (value.trim().equals("")));
  }

  protected void makeWarning(HttpServletRequest request,
                             String message) {
    MessageBean messageBean =
      (MessageBean)request.getAttribute("messageBean");
    messageBean.setMessage(message);
  }
}
