public void createNotificationSchedulersForUser(UserBean userBean) {
    for (int i = 0; i < m_oAllUserNotificationUnit.size(); i++) {
      UserNotificationUnit notficationUnit = m_oAllUserNotificationUnit.get(i);

      EmailBean notificatonEmail = createEmailByTemplate(userBean, notficationUnit.getTemplate());

      NotificationScheduler scheduler = null;
      if (notficationUnit.getTemplate().getTemplateType()
          == WebConstants.FREE_TRIAL_EXPIRED_TEMPLATE) {
        scheduler =
            new EmailNotificationSechedularOfFreeTrialEnd(
                userBean.getExpired_date() + notficationUnit.getTime(),
                notificatonEmail,
                EmailHandler.getInstance());
      } else {
        scheduler =
            new EmailNotificationScheduler(
                userBean.getExpired_date() + notficationUnit.getTime(),
                notificatonEmail,
                EmailHandler.getInstance());
      }

      addNotificationSchedulear(userBean.getId(), scheduler);

      // store into DB
      SchedulerNotificationsBean notification = new SchedulerNotificationsBean();
      notification.setId(0);
      notification.setTemplate_type(notficationUnit.getTemplate().getTemplateType());
      notification.setTime(userBean.getExpired_date() + notficationUnit.getTime());
      notification.setUser_id(userBean.getId());

      DBAccessor.getInstance().storeSchedulerNotification(notification);
    }
  }
  protected ActionForward executeAction(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws IOException, ServletException {
    SearchMemberForm searchMemberForm = (SearchMemberForm) form;

    String memberName = searchMemberForm.getSearch_name();
    String memberEmail = searchMemberForm.getSearch_email();

    // for log info
    UserBean currentAdmin = (UserBean) request.getSession().getAttribute(AdminConstants.USER_KEY);
    LogTools.getInstance()
        .insertLog(
            DebugLevel.INFO,
            "Request SearchMemberAction from Account:"
                + currentAdmin.getLogin_name()
                + ", search member name:"
                + memberName
                + ", search email:"
                + memberEmail);

    String forwardName = AdminConstants.FORWARD_SUCCESS;

    List<UserBean> searchResult =
        new MemberController().searchMember(memberName, memberEmail, CommonDefine.ALL_MEMBER_TYPE);

    Comparator<UserBean> comp = new UserBeanAToZComparator();
    Collections.sort(searchResult, comp);

    request.setAttribute(AdminConstants.MEMBER_LIST, searchResult);

    Map<Long, List<StrategyBean>> marketStrategy = new MemberController().getMarketStrategyMap();
    request.setAttribute(AdminConstants.MARKET_STRATEGY_MAP, marketStrategy);

    return mapping.findForward(forwardName);
  }