@Test public void testBooleanParameter() throws ServletRequestBindingException { MockHttpServletRequest request = new MockHttpServletRequest(); request.addParameter("param1", "true"); request.addParameter("param2", "e"); request.addParameter("param4", "yes"); request.addParameter("param5", "1"); request.addParameter("paramEmpty", ""); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param1").equals(Boolean.TRUE)); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param1", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param1")); assertFalse(ServletRequestUtils.getBooleanParameter(request, "param2", true)); assertFalse(ServletRequestUtils.getRequiredBooleanParameter(request, "param2")); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param3") == null); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param3", true)); try { ServletRequestUtils.getRequiredBooleanParameter(request, "param3"); fail("Should have thrown ServletRequestBindingException"); } catch (ServletRequestBindingException ex) { // expected } assertTrue(ServletRequestUtils.getBooleanParameter(request, "param4", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param4")); assertTrue(ServletRequestUtils.getBooleanParameter(request, "param5", false)); assertTrue(ServletRequestUtils.getRequiredBooleanParameter(request, "param5")); assertFalse(ServletRequestUtils.getRequiredBooleanParameter(request, "paramEmpty")); }
@Test public void testGetBooleanParameterWithDefaultValueHandlingIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); MockHttpServletRequest request = new MockHttpServletRequest(); StopWatch sw = new StopWatch(); sw.start(); for (int i = 0; i < 1000000; i++) { ServletRequestUtils.getBooleanParameter(request, "nonExistingParam", false); } sw.stop(); System.out.println(sw.getTotalTimeMillis()); assertTrue("getStringParameter took too long: " + sw.getTotalTimeMillis(), sw.getTotalTimeMillis() < 250); }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { boolean forceOld = ServletRequestUtils.getBooleanParameter(request, "forceold", false); if (!forceOld && Utils.isThreadingEnabled()) { return new ModelAndView(impl2Controller); } return new ModelAndView(impl1Controller); }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { boolean showAll = ServletRequestUtils.getBooleanParameter(request, "apps", false); List<LogDestination> uniqueList = logResolver.getLogDestinations(showAll); if (uniqueList != null) { return new ModelAndView(getViewName()).addObject("logs", uniqueList); } return new ModelAndView(errorView); }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { boolean finalization = ServletRequestUtils.getBooleanParameter(request, "fin", false); String referer = request.getHeader("Referer"); String redirectUrl; if (referer != null) { redirectUrl = referer.replaceAll(replacePattern, ""); } else { redirectUrl = request.getContextPath() + getViewName(); } if (finalization) { Runtime.getRuntime().runFinalization(); logger.debug("Advised finalization"); } else { Runtime.getRuntime().gc(); logger.debug("Advised Garbage Collection"); } logger.debug("Redirected to {}", redirectUrl); return new ModelAndView(new RedirectView(redirectUrl)); }
@Override public int doStartTag() throws JspException { boolean getSize = ServletRequestUtils.getBooleanParameter(pageContext.getRequest(), param, false); StringBuilder query = new StringBuilder(); query.append(param).append("=").append(!getSize); String encoding = pageContext.getResponse().getCharacterEncoding(); for (String name : Collections.list(pageContext.getRequest().getParameterNames())) { if (!param.equals(name)) { try { String value = ServletRequestUtils.getStringParameter(pageContext.getRequest(), name, ""); String encodedValue = URLEncoder.encode(value, encoding); query.append("&").append(name).append("=").append(encodedValue); } catch (UnsupportedEncodingException e) { throw new JspException(e); } } } try { pageContext.getOut().print(query); } catch (IOException e) { logger.debug("Exception printing query string to JspWriter", e); throw new JspException(e); } return EVAL_BODY_INCLUDE; }
@Override protected ModelAndView handleContext(String contextName, Context context, HttpServletRequest request, HttpServletResponse response) throws Exception { boolean compile = ServletRequestUtils.getBooleanParameter(request, "compile", false); HttpSession session = request.getSession(false); Summary summary = (Summary) session.getAttribute(SUMMARY_ATTRIBUTE); if (summary == null || !contextName.equals(summary.getName())) { summary = new Summary(); summary.setName(contextName); } getContainerWrapper().getTomcatContainer().listContextJsps(context, summary, compile); request.getSession(false).setAttribute(SUMMARY_ATTRIBUTE, summary); if (compile) { return new ModelAndView(new RedirectView( request.getRequestURI() + "?webapp=" + (contextName.length() == 0 ? "/" : contextName))); } return new ModelAndView(getViewName(), "summary", summary); }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { String logType = ServletRequestUtils.getStringParameter(request, "logType"); String webapp = ServletRequestUtils.getStringParameter(request, "webapp"); boolean context = ServletRequestUtils.getBooleanParameter(request, "context", false); boolean root = ServletRequestUtils.getBooleanParameter(request, "root", false); String logName = ServletRequestUtils.getStringParameter(request, "logName"); String logIndex = ServletRequestUtils.getStringParameter(request, "logIndex"); LogDestination dest = logResolver.getLogDestination(logType, webapp, context, root, logName, logIndex); ModelAndView modelAndView = null; boolean logFound = false; if (dest != null) { if (dest.getFile() != null && dest.getFile().exists()) { modelAndView = handleLogFile(request, response, dest); logFound = true; } else { logger.error("{}: file not found", dest.getFile()); } } else { logger.error("{}{} log{} not found", logType, root ? " root" : "", root ? "" : " '" + logName + "'"); } if (!logFound) { response.sendError(404); } return modelAndView; }
@Override protected ModelAndView handleContext(String contextName, Context context, HttpServletRequest request, HttpServletResponse response) throws Exception { boolean privileged = SecurityUtils.hasAttributeValueRole(getServletContext(), request); boolean calcSize = privileged && ServletRequestUtils.getBooleanParameter(request, "size", false); String sid = ServletRequestUtils.getStringParameter(request, "sid"); ApplicationSession appSession = ApplicationUtils .getApplicationSession(context.getManager().findSession(sid), calcSize, true); if (appSession != null) { appSession.setAllowedToViewValues(privileged); return new ModelAndView(getViewName(), "session", appSession); } return new ModelAndView(getViewName()); }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { boolean calcSize = ServletRequestUtils.getBooleanParameter(request, "size", false) && SecurityUtils.hasAttributeValueRole(getServletContext(), request); List<Context> apps; try { apps = getContainerWrapper().getTomcatContainer().findContexts(); } catch (NullPointerException ex) { throw new IllegalStateException( "No container found for your server: " + getServletContext().getServerInfo(), ex); } List<Application> applications = new ArrayList<>(apps.size()); boolean showResources = getContainerWrapper().getResourceResolver().supportsPrivateResources(); for (Context appContext : apps) { // check if this is not the ROOT webapp if (appContext.getName() != null) { applications.add(ApplicationUtils.getApplication(appContext, getContainerWrapper().getResourceResolver(), calcSize, getContainerWrapper())); } } if (!applications.isEmpty() && !showResources) { request.setAttribute("no_resources", Boolean.TRUE); } return new ModelAndView(getViewName(), "apps", applications); }
@Override protected ModelAndView handleContext(String contextName, Context context, HttpServletRequest request, HttpServletResponse response) throws Exception { boolean calcSize = ServletRequestUtils.getBooleanParameter(request, "size", false) && SecurityUtils.hasAttributeValueRole(getServletContext(), request); ResourceResolver resourceResolver = getContainerWrapper().getResourceResolver(); Application app = ApplicationUtils.getApplication(context, isExtendedInfo() ? resourceResolver : null, calcSize, getContainerWrapper()); if (isExtendedInfo() && getStatsCollection() != null) { String avgStatisticName = "app.avg_proc_time." + app.getName(); app.setAvgTime(getStatsCollection().getLastValueForStat(avgStatisticName)); } return new ModelAndView(getViewName()).addObject("app", app) .addObject("no_resources", !resourceResolver.supportsPrivateResources()) .addObject("collectionPeriod", getCollectionPeriod()); }
boolean highlight = ServletRequestUtils.getBooleanParameter(request, "highlight", true); Summary summary = (Summary) (request.getSession(false) != null ? request.getSession(false).getAttribute(DisplayJspController.SUMMARY_ATTRIBUTE)
HttpServletRequest request, HttpServletResponse response) throws Exception { boolean calcSize = ServletRequestUtils.getBooleanParameter(request, "size", false) && SecurityUtils.hasAttributeValueRole(getServletContext(), request);
/** * Get a boolean parameter, with a fallback value. Never throws an exception. * Can pass a distinguished value as default to enable checks of whether it was supplied. * <p>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 * @param defaultVal the default value to use as fallback */ public static boolean getBooleanParameter(ServletRequest request, String name, boolean defaultVal) { return org.springframework.web.bind.ServletRequestUtils.getBooleanParameter(request, name, defaultVal); }
boolean showLegend = ServletRequestUtils.getBooleanParameter(request, "l", true);
/** * Get a Boolean parameter, or {@code null} if not present. * Throws an exception if it the parameter value isn't a boolean. * <p>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 * @return the Boolean value, or {@code null} if not present * @throws ServletRequestBindingException a subclass of ServletException, * so it doesn't need to be caught */ public static Boolean getBooleanParameter(ServletRequest request, String name) throws ServletRequestBindingException { return org.springframework.web.bind.ServletRequestUtils.getBooleanParameter(request, name); }
@RequestMapping(value = { "/collection/{id:.+}/tab/cContent", "/collection/{id:.+}/tab/cContent/" }, method = RequestMethod.POST) public String removeCContent(@PathVariable("id") String id, Model model, HttpServletRequest request, Locale locale) { boolean performActionOnAllResources = ServletRequestUtils.getBooleanParameter(request, UriParamConst.PARAM_ALL_RESOURCES, false); String[] resourcesId = request.getParameterValues(UriParamConst.PARAM_RESOURCE_ID); if (ArrayUtils.isNotEmpty(resourcesId) || performActionOnAllResources) { collectionContentRemoverActionPerformer.performAction(id, performActionOnAllResources, resourcesId); } return ViewConstants.REDIRECT_PREFIX + "/collection/" + id + "/tab/cContent"; }
protected void performAction(String actionName, HttpServletRequest request) { ActionPerformer actionPerformer = actionPerformers.get(actionName); if (actionPerformer == null) { throw new GeneralBusinessException("Unknown action type {}", actionName); } boolean performActionOnAllResources = ServletRequestUtils.getBooleanParameter(request, UriParamConst.PARAM_ALL_RESOURCES, false); String[] resourcesId = request.getParameterValues(UriParamConst.PARAM_RESOURCE_ID); if (ArrayUtils.isNotEmpty(resourcesId) || performActionOnAllResources) { actionPerformer.performAction(null, performActionOnAllResources, resourcesId); } }
@RequestMapping(value="/containers/{containerName:.+}/services") public String listContainerServices(final Model model, final HttpServletRequest request, @PathVariable final String containerName) { int firstResult = ServletRequestUtils.getIntParameter(request, "firstResult", DEFAULT_FIRST_RESULT); int maxResults = ServletRequestUtils.getIntParameter(request, "maxResults", DEFAULT_MAX_RESULTS); boolean isAscending = ServletRequestUtils.getBooleanParameter(request, "order", true); ServiceSortField sortField = ServiceSortField.fromString(request.getParameter("field"), ServiceSortField.GLOBAL_ID); CountableResult<ServiceDetails> servicesDetails = platformManagmentService.listServices(containerName, firstResult, maxResults, sortField, isAscending); model.addAttribute("services", servicesDetails.getItems()); model.addAttribute("totalCount", servicesDetails.getTotalCount()); model.addAttribute("firstResult", firstResult); model.addAttribute("maxResults", maxResults); model.addAttribute("order", isAscending); model.addAttribute("sortField", sortField.getFieldName()); model.addAttribute("containerName", containerName); model.addAttribute("urlPrefix", "/containers/" + containerName + "/services"); return "console.platform.services"; }
@RequestMapping(value="/services", method=RequestMethod.GET) public String listServices(final Model model, final HttpServletRequest request) { int firstResult = ServletRequestUtils.getIntParameter(request, "firstResult", DEFAULT_FIRST_RESULT); int maxResults = ServletRequestUtils.getIntParameter(request, "maxResults", DEFAULT_MAX_RESULTS); boolean isAscending = ServletRequestUtils.getBooleanParameter(request, "order", true); ServiceSortField sortField = ServiceSortField.fromString(request.getParameter("field"), ServiceSortField.GLOBAL_ID); CountableResult<ServiceDetails> servicesDetails = platformManagmentService.listServices(firstResult, maxResults, sortField, isAscending); model.addAttribute("services", servicesDetails.getItems()); model.addAttribute("totalCount", servicesDetails.getTotalCount()); model.addAttribute("firstResult", firstResult); model.addAttribute("maxResults", maxResults); model.addAttribute("order", isAscending); model.addAttribute("sortField", sortField.getFieldName()); model.addAttribute("urlPrefix", "/services"); return "console.platform.services"; }