Example usage for org.springframework.web.bind ServletRequestUtils getBooleanParameters

List of usage examples for org.springframework.web.bind ServletRequestUtils getBooleanParameters

Introduction

In this page you can find the example usage for org.springframework.web.bind ServletRequestUtils getBooleanParameters.

Prototype

public static boolean[] getBooleanParameters(ServletRequest request, String name) 

Source Link

Document

Get an array of boolean parameters, return an empty array if not found.

Usage

From source file:com.netease.channel.util.ServletUtils.java

/**
 * Get an array of boolean parameters, return an empty array if not found.
 * <p>/*  ww w .ja  va  2s.  co  m*/
 * Accepts "true", "on", "yes" (any case) and "1" as values for true; treats
 * every other non-empty value as false (i.e. parses leniently).
 *
 * @param request
 *            current HTTP request
 * @param name
 *            the name of the parameter with multiple possible values
 */
public static boolean[] getBooleans(ServletRequest request, String name) {
    return ServletRequestUtils.getBooleanParameters(request, name);
}

From source file:ro.cs.logaudit.web.servlet.ReportServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    logger.debug("doPost START");
    ServletOutputStream sos = null;/*from   w  w w.  j av  a  2  s  .  com*/
    StopWatch sw = new StopWatch();
    sw.start("Retrieve report");
    try {
        //create the bean containing the report parameters which will be passed to the Report Web Service Client
        AuditEventsReportParams reportParams = new AuditEventsReportParams();

        //Retrieve the start date param for the report request
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm");
        Date startDate = sdf.parse(ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM), new ParsePosition(0));
        if (startDate != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM, startDate);
        }

        //Retrieve the end date param for the report request
        Date endDate = sdf.parse(ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM), new ParsePosition(0));
        if (endDate != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM, endDate);
        }

        //Retrieve the personId param for the report request
        String personId = ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM);
        if (personId != null && personId != "") {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM,
                    Integer.valueOf(personId));
        }

        //Retrieve the message param for the report request
        String message = ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM);
        if (message != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM, message);
        }

        //Retrieve the event param for the report request
        String event = ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM);
        if (event != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM, event);
        }

        //Retrieve the moduleId param for the report request
        Integer moduleId = ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM);
        if (moduleId != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM, moduleId);
        }

        //Retrieve the reportTitle param for the report request
        String reportTitle = ServletRequestUtils.getStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PARAM_REPORT_TITLE);
        if (reportTitle != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PARAM_REPORT_TITLE,
                    reportTitle);
        }

        //Retrieve the orientation param for the report request
        String orientation = ServletRequestUtils.getRequiredStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORIENTATION_PARAM);
        if (orientation != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORIENTATION_PARAM,
                    orientation);
        }

        //Retrieve the report format param for the report request
        String format = ServletRequestUtils.getRequiredStringParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_FORMAT_PARAM);
        if (format != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_FORMAT_PARAM,
                    format.toLowerCase());
        }

        //Retrieve the organisationId param for the report request
        Integer organisationId = ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM);
        if (organisationId != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM,
                    organisationId);
        }

        reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_LOCALE_PARAM,
                request.getSession().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME)
                        .toString().toLowerCase().substring(0, 2));

        //if the attachment param exists on the request, it means that the generated report must be a whole html page with head and body tags, 
        //otherwise the report must be embeddable in an existent html page(no head and body tags)
        if (ServletRequestUtils.getBooleanParameters(request, ATTACHMENT) != null) {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_HTML_IS_EMBEDDABLE, false);
        } else {
            reportParams.setProperty(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_HTML_IS_EMBEDDABLE, true);
        }

        //Servlet's OutputStream
        sos = response.getOutputStream();

        //get the requested report
        DataHandler reportFileReceived = ReportsWebServiceClient.getInstance()
                .getAuditEventsReport(reportParams);

        //set the response content type
        if (format.toLowerCase().equals("html")) {
            response.setContentType("text/html");
            if (ServletRequestUtils.getBooleanParameters(request, ATTACHMENT) != null) {
                response.setHeader("Content-Disposition",
                        "attachment; filename=\"".concat(reportTitle).concat(".html\""));
            } else {
                response.setHeader("Content-Disposition",
                        "inline; filename=\"".concat(reportTitle).concat(".html\""));
            }
        } else if (format.toLowerCase().equals("pdf")) {
            response.setContentType("application/pdf");
            response.setHeader("Content-Disposition",
                    "inline; filename=\"".concat(reportTitle).concat(".pdf\""));
        } else if (format.toLowerCase().equals("doc")) {
            response.setContentType("application/msword");
            response.setHeader("Content-Disposition",
                    "attachment; filename=\"".concat(reportTitle).concat(".doc\""));
        } else if (format.toLowerCase().equals("xls")) {
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-Disposition",
                    "attachment; filename=\"".concat(reportTitle).concat(".xls\""));
        }

        //write the received report bytes stream to response output stream
        byte buffer[] = new byte[4096];
        BufferedInputStream bis = new BufferedInputStream(reportFileReceived.getInputStream());
        int size = 0;
        int i;
        while ((i = bis.read(buffer, 0, 4096)) != -1) {
            sos.write(buffer, 0, i);
            size += i;
        }

        if (size == 0) {
            response.setContentType("text/plain");
            sos.write("No content !".getBytes());
        }

        bis.close();
        response.setContentLength(size);

        logger.debug("**** report transfer completed !");
    } catch (Exception ex) {
        logger.error("", ex);
        response.setContentType("text/html");
        String exceptionCode = null;
        ;
        if (((Integer) ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM))
                        .equals(new Integer(IConstant.NOM_MODULE_OM_LABEL_KEY))) {
            exceptionCode = ICodeException.AUDITOM_REPORT_CREATE;
        } else if (((Integer) ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM))
                        .equals(new Integer(IConstant.NOM_MODULE_DM_LABEL_KEY))) {
            exceptionCode = ICodeException.AUDITDM_REPORT_CREATE;
        } else if (((Integer) ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM))
                        .equals(new Integer(IConstant.NOM_MODULE_CM_LABEL_KEY))) {
            exceptionCode = ICodeException.AUDITCM_REPORT_CREATE;
        } else if (((Integer) ServletRequestUtils.getIntParameter(request,
                IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MODULE_ID_PARAM))
                        .equals(new Integer(IConstant.NOM_MODULE_TS_LABEL_KEY))) {
            exceptionCode = ICodeException.AUDITTS_REPORT_CREATE;
        }
        response.getWriter().write("<html xmlns=\"http://www.w3.org/1999/xhtml\">"
                + "<head>   <script type=\"text/javascript\" src=\"js/cs/cs_common.js\"></script>"
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/style.css\"/> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/fonts-min.css\" /> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/container.css\" /> </head> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/button.css\" />"
                + "<body> <div id=\"errorsContainer\" class=\"errorMessagesDiv\"> "
                + "<table class=\"errorMessagesTable\">" + "<tr>" + "<td>" + "</td>" + "<td>"
                + "<div class=\"hd\">" + "<div id=\"closeErrors\" class=\"messagesCloseButon\"></div>"
                + "</div>" + "</td>" + "</tr>" + "<tr>" + "<td>" + "<div class=\"bd\">"
                + "<div style=\"width:470px\"> "
                + messageSource.getMessage(CREATE_ERROR,
                        new Object[] { exceptionCode, ControllerUtils.getInstance().getFormattedCurrentTime() },
                        (Locale) request.getSession()
                                .getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME))
                + "<br/> " + "</div>" + "</div>" + "</td>" + "<td>" + "</td>" + "</tr>" + "</table>"
                + "<div class=\"ft\">&nbsp;</div>" + "</div>" + "<script> "
                + "if(typeof(YAHOO.widget.Module) != \"undefined\") { "
                + "YAHOO.audit.errorsContainer = new YAHOO.widget.Module(\"errorsContainer\", {visible:true} ); "
                + "YAHOO.audit.errorsContainer.render() ;" + "YAHOO.audit.errorsContainer.show();"
                + "YAHOO.util.Event.addListener(\"closeErrors\", \"click\", function () {   "
                + "YAHOO.audit.errorsContainer.hide();" + "YAHOO.audit.errorsContainer.destroy(); "
                + "}, YAHOO.audit.errorsContainer, true);" + "}" + "</script> </body></html>");
        response.getWriter().flush();
    } finally {
        if (sos != null) {
            //Flushing and Closing OutputStream
            sos.flush();
            sos.close();
            logger.debug("**** servlet output stream closed.");
        }
    }
    logger.debug("doPost END");
    //list all the tasks performed
    logger.debug(sw.prettyPrint());
    sw.stop();
}

From source file:ro.cs.ts.web.servlet.ReportServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    logger.debug("doPost START");
    ServletOutputStream sos = response.getOutputStream();
    try {//retrieve the params from the context
        //         ***********************************************************************
        //Servlet's OutputStream
        //get the report type
        String reportType = request.getParameter(IConstant.REPORT_TYPE);
        logger.debug("Report type: " + reportType);

        String uid = (String) request.getParameter(IConstant.REPORT_UID);
        logger.debug("Retrieved UID in  report servlet: " + uid);
        Map<String, ReportParams> reportParamsMap = (Map<String, ReportParams>) TSContext
                .getFromContext(IConstant.REPORT_PARAM_MAP);
        ReportParams reportParams = reportParamsMap.get(uid);

        String format = (String) reportParams.getProperties()
                .get(IConstant.TS_PROJECT_REPORT_SEARCH_CRITERIA_FORMAT);
        // we set the is embeddable attribute
        if (format.toLowerCase().equals("html")
                && ServletRequestUtils.getBooleanParameters(request, ATTACHMENT) == null) {
            logger.debug("The report is HTML embeddable");
            reportParams.setProperty(IConstant.TS_PROJECT_REPORT_IS_EMBEDDABLE, true);
        } else {/*  ww w . j  a v  a 2 s. co  m*/
            reportParams.setProperty(IConstant.TS_PROJECT_REPORT_IS_EMBEDDABLE, false);
        }

        logger.debug(ReportsMessageTools.viewReportParams(reportParams));

        DataHandler reportFileReceived = null;
        String reportTitle = null;
        if (reportType.equals(IConstant.REPORT_TYPE_PROJECT)) {
            logger.debug("Retrieving project report:  ");
            reportFileReceived = ReportsWebServiceClient.getInstance().getProjectReport(reportParams);
            reportTitle = (String) reportParams.getProperties()
                    .get(IConstant.TS_PROJECT_REPORT_REPORT_TITLE_PARAM);
        } else if (reportType.equals(IConstant.REPORT_TYPE_TIME_SHEET)) {
            logger.debug("Retrieving time sheet report:  ");
            reportFileReceived = ReportsWebServiceClient.getInstance().getTimeSheetReport(reportParams);
            reportTitle = (String) reportParams.getProperties()
                    .get(IConstant.TS_TIME_SHEET_REPORT_REPORT_TITLE_PARAM);
        } else {
            logger.error("We do not have a report type on the request!!!!");
            throw new BusinessException(ICodeException.REPORT_CREATE, null);
        }

        //set the response content type
        if (format.toLowerCase().equals("html")) {
            response.setContentType("text/html");
            if (ServletRequestUtils.getBooleanParameters(request, ATTACHMENT) != null) {
                response.setHeader("Content-Disposition",
                        "attachment; filename=\"".concat(reportTitle).concat(".html\""));
            } else {
                response.setHeader("Content-Disposition",
                        "inline; filename=\"".concat(reportTitle).concat(".html\""));
            }
        } else if (format.toLowerCase().equals("pdf")) {
            response.setContentType("application/pdf");
            response.setHeader("Content-Disposition",
                    "inline; filename=\"".concat(reportTitle).concat(".pdf\""));
        } else if (format.toLowerCase().equals("doc")) {
            response.setContentType("application/msword");
            response.setHeader("Content-Disposition",
                    "attachment; filename=\"".concat(reportTitle).concat(".doc\""));
        } else if (format.toLowerCase().equals("xls")) {
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-Disposition",
                    "attachment; filename=\"".concat(reportTitle).concat(".xls\""));
        }

        //write the received report bytes stream to response output stream
        byte buffer[] = new byte[4096];
        BufferedInputStream bis = new BufferedInputStream(reportFileReceived.getInputStream());

        int size = 0;
        int i;
        while ((i = bis.read(buffer, 0, 4096)) != -1) {
            sos.write(buffer, 0, i);
            size += i;
        }

        if (size == 0) {
            response.setContentType("text/plain");
            sos.write("No content !".getBytes());
        }

        bis.close();
        response.setContentLength(size);

        logger.debug("**** report transfer completed !");
    } catch (Exception ex) {
        logger.error("", ex);
        response.setContentType("text/html");
        String exceptionCode = ICodeException.REPORT_CREATE;

        sos.write(("<html xmlns=\"http://www.w3.org/1999/xhtml\">"
                + "<head>   <script type=\"text/javascript\" src=\"js/cs/cs_common.js\"></script>"
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/style.css\"/> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/fonts-min.css\" /> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/container.css\" /> </head> "
                + "<link rel=\"stylesheet\" type=\"text/css\" href=\"themes/standard/css/yui/button.css\" />"
                + "<body> <div id=\"errorsContainer\" class=\"errorMessagesDiv\"> "
                + "<table class=\"errorMessagesTable\">" + "<tr>" + "<td>" + "</td>" + "<td>"
                + "<div class=\"hd\">" + "<div id=\"closeErrors\" class=\"messagesCloseButon\"></div>"
                + "</div>" + "</td>" + "</tr>" + "<tr>" + "<td>" + "<div class=\"bd\">"
                + "<div style=\"width:470px\"> "
                + messageSource.getMessage(CREATE_ERROR,
                        new Object[] { exceptionCode, ControllerUtils.getInstance().getFormattedCurrentTime() },
                        (Locale) request.getSession()
                                .getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME))
                + "<br/> " + "</div>" + "</div>" + "</td>" + "<td>" + "</td>" + "</tr>" + "</table>"
                + "<div class=\"ft\">&nbsp;</div>" + "</div>" + "<script> "
                + "if(typeof(YAHOO.widget.Module) != \"undefined\") { "
                + "YAHOO.ts.errorsContainer = new YAHOO.widget.Module(\"errorsContainer\", {visible:true} ); "
                + "YAHOO.ts.errorsContainer.render() ;" + "YAHOO.ts.errorsContainer.show();"
                + "YAHOO.util.Event.addListener(\"closeErrors\", \"click\", function () {   "
                + "YAHOO.ts.errorsContainer.hide();" + "YAHOO.ts.errorsContainer.destroy(); "
                + "}, YAHOO.ts.errorsContainer, true);" + "}" + "</script> </body></html>").getBytes());
    } finally {
        if (sos != null) {
            //Flushing and Closing OutputStream
            sos.flush();
            sos.close();
            logger.debug("**** servlet output stream closed.");
        }
    }
    logger.debug("doPost END");
}