/** * Este arquivo é parte do Biblivre3. * * Biblivre3 é um software livre; você pode redistribuí-lo e/ou * modificá-lo dentro dos termos da Licença Pública Geral GNU como * publicada pela Fundação do Software Livre (FSF); na versão 3 da * Licença, ou (caso queira) qualquer versão posterior. * * Este programa é distribuído na esperança de que possa ser útil, * mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de * MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a * Licença Pública Geral GNU para maiores detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto * com este programa, Se não, veja em <http://www.gnu.org/licenses/>. * * @author Alberto Wagner <alberto@biblivre.org.br> * @author Danniel Willian <danniel@biblivre.org.br> * */ package biblivre3.administration; import biblivre3.administration.reports.dto.AuthorsSearchResultsDTO; import biblivre3.circulation.CirculationBO; import biblivre3.circulation.UsersDTO; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import mercury.ErrorDTO; import mercury.IFJson; import mercury.BaseHandler; import mercury.RootJsonHandler; import org.apache.commons.lang.StringUtils; import org.json.JSONObject; public class JsonReportsHandler extends RootJsonHandler { @Override public JSONObject process(HttpServletRequest request, HttpServletResponse response) { String submitButton = request.getParameter("submitButton"); Properties properties = BaseHandler.getI18nProperties(request, "biblivre3"); IFJson dto = null; if (submitButton == null || submitButton.isEmpty()) { } else if (submitButton.equals("search")) { dto = search(request); } else if (submitButton.equals("search_authors")) { dto = searchAuthors(request); } return dto.toJSONObject(properties); } public IFJson search(final HttpServletRequest request) { String searchName = request.getParameter("SEARCH_NAME"); int userId; try { userId = Integer.parseInt(request.getParameter("SEARCH_USER_ID")); } catch (Exception e) { userId = 0; } if (StringUtils.isBlank(searchName) && userId == 0) { return new ErrorDTO("MESSAGE_FOUND_NONE", "warning"); } int offset; try { offset = Integer.parseInt(request.getParameter("offset")); } catch (Exception e) { offset = 0; } CirculationBO cbo = new CirculationBO(); UsersDTO udto = cbo.list(searchName, userId, offset); if (udto != null && udto.size() > 0) { return udto; } else { return new ErrorDTO("MESSAGE_FOUND_NONE", "warning"); } } public IFJson searchAuthors(final HttpServletRequest request) { String searchName = request.getParameter("SEARCH_NAME"); if (StringUtils.isBlank(searchName) || searchName.trim().length() <= 3) { return new ErrorDTO("MESSAGE_SEARCH_MIN_LENGTH", "warning"); } int offset; try { offset = Integer.parseInt(request.getParameter("offset")); } catch (Exception e) { offset = 0; } ReportsBO bo = new ReportsBO(); AuthorsSearchResultsDTO dto = bo.searchAuthors(searchName, offset); if (dto != null && dto.size() > 0) { return dto; } else { return new ErrorDTO("MESSAGE_FOUND_NONE", "warning"); } } }