Java tutorial
/******************************************************************************* * Copyright (c) 2009 David Harrison. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl-3.0.html * * Contributors: * David Harrison - initial API and implementation ******************************************************************************/ package com.sfs.whichdoctor.search.http; import com.sfs.DataFilter; import com.sfs.beans.UserBean; import com.sfs.whichdoctor.beans.BulkEmailBean; import com.sfs.whichdoctor.beans.SearchBean; import com.sfs.whichdoctor.search.sql.BulkEmailSqlHandler; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; /** * The Class BulkEmailInputHandler. * * @author David Harrison */ public class BulkEmailInputHandler extends InputHandlerBase { /** The bulk email sql handler. */ @Resource private BulkEmailSqlHandler bulkEmailSqlHandler; /** * Process the incoming HttpRequest for search parameters. * * @param request the request * @param user the user * * @return the search bean */ public final SearchBean process(final HttpServletRequest request, final UserBean user) { SearchBean search = bulkEmailSqlHandler.initiate(user); BulkEmailBean searchCriteria = (BulkEmailBean) search.getSearchCriteria(); BulkEmailBean searchConstraints = (BulkEmailBean) search.getSearchConstraints(); /* Process search form */ String strName = DataFilter.getHtml(request.getParameter("senderName")); String strSubject = DataFilter.getHtml(request.getParameter("subject")); String strCreatedA = DataFilter.getHtml(request.getParameter("createdA")); String strCreatedB = DataFilter.getHtml(request.getParameter("createdB")); String strUpdatedA = DataFilter.getHtml(request.getParameter("updatedA")); String strUpdatedB = DataFilter.getHtml(request.getParameter("updatedB")); /* Set sender name requirements */ if (StringUtils.isNotBlank(strName)) { searchCriteria.setSenderName(DataFilter.getHtml(strName.trim())); } /* Set subject requirements */ if (StringUtils.isNotBlank(strSubject)) { searchCriteria.setSubject(DataFilter.getHtml(strSubject.trim())); } if (StringUtils.isNotEmpty(strCreatedA)) { searchCriteria.setCreatedDate(DataFilter.parseDate(strCreatedA, false)); } if (StringUtils.isNotEmpty(strCreatedB)) { searchConstraints.setCreatedDate(DataFilter.parseDate(strCreatedB, false)); if (StringUtils.equals(strCreatedB, "+")) { /* All dates above Date A requested */ searchConstraints.setCreatedDate(getMaximumDate()); } if (StringUtils.equals(strCreatedB, "-")) { /* Add dates below Date A requested */ searchConstraints.setCreatedDate(getMinimumDate()); } } if (StringUtils.isNotEmpty(strUpdatedA)) { searchCriteria.setCreatedDate(DataFilter.parseDate(strUpdatedA, false)); } if (StringUtils.isNotEmpty(strUpdatedB)) { searchConstraints.setCreatedDate(DataFilter.parseDate(strUpdatedB, false)); if (StringUtils.equals(strUpdatedB, "+")) { /* All dates above Date A requested */ searchConstraints.setCreatedDate(getMaximumDate()); } if (StringUtils.equals(strUpdatedB, "-")) { /* Add dates below Date A requested */ searchConstraints.setCreatedDate(getMinimumDate()); } } search.setSearchCriteria(searchCriteria); search.setSearchConstraints(searchConstraints); return search; } /** * Return a standard search bean. * * @param user the user * * @return the search bean */ public final SearchBean process(final UserBean user) { SearchBean search = bulkEmailSqlHandler.initiate(user); BulkEmailBean searchCriteria = (BulkEmailBean) search.getSearchCriteria(); BulkEmailBean searchConstraints = (BulkEmailBean) search.getSearchConstraints(); search.setSearchCriteria(searchCriteria); search.setSearchConstraints(searchConstraints); return search; } }