List of usage examples for org.springframework.web.bind ServletRequestDataBinder bind
public void bind(ServletRequest request)
From source file:org.jasig.cas.web.ServiceValidateController.java
@Override protected final ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response) throws Exception { final WebApplicationService service = this.argumentExtractor.extractService(request); final String serviceTicketId = service != null ? service.getArtifactId() : null; if (service == null || serviceTicketId == null) { logger.debug("Could not identify service and/or service ticket. Service: {}, Service ticket id: {}", service, serviceTicketId); return generateErrorView("INVALID_REQUEST", "INVALID_REQUEST", null); }// w w w.j a v a 2 s .c o m try { final Credential serviceCredential = getServiceCredentialsFromRequest(request); String proxyGrantingTicketId = null; if (serviceCredential != null) { try { proxyGrantingTicketId = this.centralAuthenticationService .delegateTicketGrantingTicket(serviceTicketId, serviceCredential); } catch (final AuthenticationException e) { logger.info("Failed to authenticate service credential {}", serviceCredential); } catch (final TicketException e) { logger.error("Failed to create proxy granting ticket for {}", serviceCredential, e); } if (StringUtils.isEmpty(proxyGrantingTicketId)) { return generateErrorView("INVALID_PROXY_CALLBACK", "INVALID_PROXY_CALLBACK", new Object[] { serviceCredential.getId() }); } } final Assertion assertion = this.centralAuthenticationService.validateServiceTicket(serviceTicketId, service); final ValidationSpecification validationSpecification = this.getCommandClass(); final ServletRequestDataBinder binder = new ServletRequestDataBinder(validationSpecification, "validationSpecification"); initBinder(request, binder); binder.bind(request); if (!validationSpecification.isSatisfiedBy(assertion)) { logger.debug("Service ticket [{}] does not satisfy validation specification.", serviceTicketId); return generateErrorView("INVALID_TICKET", "INVALID_TICKET_SPEC", null); } String proxyIou = null; if (serviceCredential != null && proxyGrantingTicketId != null && this.proxyHandler.canHandle(serviceCredential)) { proxyIou = this.proxyHandler.handle(serviceCredential, proxyGrantingTicketId); if (StringUtils.isEmpty(proxyIou)) { return generateErrorView("INVALID_PROXY_CALLBACK", "INVALID_PROXY_CALLBACK", new Object[] { serviceCredential.getId() }); } } onSuccessfulValidation(serviceTicketId, assertion); logger.debug("Successfully validated service ticket {} for service [{}]", serviceTicketId, service.getId()); return generateSuccessView(assertion, proxyIou); } catch (final TicketValidationException e) { return generateErrorView(e.getCode(), e.getCode(), new Object[] { serviceTicketId, e.getOriginalService().getId(), service.getId() }); } catch (final TicketException te) { return generateErrorView(te.getCode(), te.getCode(), new Object[] { serviceTicketId }); } catch (final UnauthorizedProxyingException e) { return generateErrorView(e.getMessage(), e.getMessage(), new Object[] { service.getId() }); } catch (final UnauthorizedServiceException e) { return generateErrorView(e.getMessage(), e.getMessage(), null); } }
From source file:org.nextframework.controller.MultiActionController.java
/** * Bind request parameters onto the given command bean * //w ww . j ava2 s .c o m * @param request * request from which parameters will be bound * @param command * command object, that must be a JavaBean * @throws Exception * in case of invalid state or arguments */ @SuppressWarnings("deprecation") protected ServletRequestDataBinder bind(WebRequestContext request, Object command, boolean validate) throws Exception { logger.debug("Binding request parameters onto MultiActionController command"); ServletRequestDataBinder binder = createBinder(request.getServletRequest(), command, getCommandName(command)); onCreateBinderForCommand(binder, command); if (command.getClass().equals(Object.class)) { return binder; } binder.bind(request.getServletRequest()); onCommandBind(binder, command); if (validate) { validate(request, command, binder); } String acao = request.getParameter(ACTION_PARAMETER); customValidation(request, command, new BindException(binder.getBindingResult()), acao); onCommandValidation(binder, command); return binder; }
From source file:org.onecmdb.ui.gwt.desktop.server.servlet.ChangeServiceServlet.java
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ChangeUploadCommand cmd = new ChangeUploadCommand(); ServletRequestDataBinder binder = new ServletRequestDataBinder(cmd); binder.bind(req); try {/*from w ww. j a v a 2 s . com*/ cmd.handleRequest(req, resp); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.getMessage()); } }
From source file:org.onecmdb.ui.gwt.desktop.server.servlet.QueryServiceServlet.java
protected void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { QueryCommand cmd = new QueryCommand(); ServletRequestDataBinder binder = new ServletRequestDataBinder(cmd); binder.bind(req); Properties prop = new Properties(); for (Enumeration attrs = req.getParameterNames(); attrs.hasMoreElements();) { String key = (String) attrs.nextElement(); Object value = req.getParameter(key); prop.put(key, value);//from www .j a v a 2 s . co m } cmd.setAttrMap(prop); try { resp.setContentType(cmd.getContentType()); //resp.setCharacterEncoding("UTF-8"); OutputStream out = resp.getOutputStream(); cmd.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.toString()); } }
From source file:org.onecmdb.ui.gwt.desktop.server.servlet.TransformServiceServlet.java
protected void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException { File root = ContentParserFactory.get().getRootPath(); if (root == null) { resp.sendError(404, "Root path not found!"); return;/* w w w .ja v a2 s. c o m*/ } ExportQueryCommand cmd = new ExportQueryCommand(); if ("true".equals(ConfigurationFactory.get("RequireLoginForReport"))) { cmd.setUser(null); cmd.setPwd(null); if (req.getCookies() != null) { for (Cookie cookie : req.getCookies()) { if (cookie.getName().equals("auth_token")) { cmd.setToken(cookie.getValue()); } } } } cmd.setRoot(root.getCanonicalPath()); ServletRequestDataBinder binder = new ServletRequestDataBinder(cmd); binder.bind(req); Properties prop = new Properties(); for (Enumeration attrs = req.getParameterNames(); attrs.hasMoreElements();) { String key = (String) attrs.nextElement(); Object value = req.getParameter(key); if ("user".equals(key)) { if (value instanceof String) { cmd.setUser((String) value); } cmd.setToken(null); } if ("pwd".equals(key)) { if (value instanceof String) { cmd.setPwd((String) value); } cmd.setToken(null); continue; } prop.put(key, value); } cmd.setAttrMap(prop); try { resp.setContentType(cmd.getContentType()); //resp.setCharacterEncoding(cmd.getEncoding()); OutputStream out = resp.getOutputStream(); cmd.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.toString()); } }
From source file:org.onecmdb.utils.servletcontroller.RemoteController.java
public ModelAndView exportHandler(HttpServletRequest request, HttpServletResponse resp) throws Exception { getLog().info("ExportHandler()"); ExportCommand command = new ExportCommand(); command.setContext(onecmdb);/* w w w.j a v a2s . c om*/ ServletRequestDataBinder binder = new ServletRequestDataBinder(command); binder.bind(request); try { resp.setContentType(command.getContentType()); //resp.setContentLength(-1); OutputStream out = resp.getOutputStream(); command.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.getMessage()); } return (null); }
From source file:org.onecmdb.web.remote.RemoteController.java
/** * Command(s)/*w ww . j a va2 s . c o m*/ */ /* * Auth Command. */ public ModelAndView authHandler(HttpServletRequest request, HttpServletResponse resp) throws Exception { getLog().info("AuthHandler()"); AuthCommand command = new AuthCommand(this.onecmdb); ServletRequestDataBinder binder = new ServletRequestDataBinder(command); binder.bind(request); try { String token = command.getToken(); resp.setContentLength(token.length()); resp.setContentType("text/plain"); resp.getOutputStream().write(token.getBytes()); } catch (Exception e) { resp.setStatus(HttpServletResponse.SC_NOT_ACCEPTABLE, "Authentication Failed!"); } return (null); }
From source file:org.onecmdb.web.remote.RemoteController.java
/** * Query command//from w w w . j av a 2s . c o m * * @param request * @param resp * @return * @throws Exception */ public ModelAndView queryHandler(HttpServletRequest request, HttpServletResponse resp) throws Exception { long start = System.currentTimeMillis(); try { getLog().info("QueryHandler()"); QueryCommand command = new QueryCommand(this.onecmdb); ServletRequestDataBinder binder = new ServletRequestDataBinder(command); binder.bind(request); try { resp.setContentType(command.getContentType()); //resp.setContentLength(-1); OutputStream out = resp.getOutputStream(); command.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.getMessage()); } return (null); } finally { long stop = System.currentTimeMillis(); System.out.println("Query:" + (stop - start) + "ms"); } }
From source file:org.onecmdb.web.remote.RemoteController.java
/** * Export command// w w w . ja va 2 s . c om * * @param request * @param resp * @return * @throws Exception */ public ModelAndView exportHandler(HttpServletRequest request, HttpServletResponse resp) throws Exception { long start = System.currentTimeMillis(); try { getLog().info("ExportHandler()"); ExportCommand command = new ExportCommand(this.onecmdb); ServletRequestDataBinder binder = new ServletRequestDataBinder(command); binder.bind(request); try { resp.setContentType(command.getContentType()); //resp.setContentLength(-1); OutputStream out = resp.getOutputStream(); command.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.getMessage()); } return (null); } finally { long stop = System.currentTimeMillis(); System.out.println("Query:" + (stop - start) + "ms"); } }
From source file:org.onecmdb.web.remote.RemoteController.java
/** * Update command/*from ww w . ja v a 2s. co m*/ * * @param request * @param resp * @return * @throws Exception */ public ModelAndView updateHandler(HttpServletRequest request, HttpServletResponse resp) throws Exception { long start = System.currentTimeMillis(); try { getLog().info("UpdateHandler()"); UpdateCommand command = new UpdateCommand(this.onecmdb); ServletRequestDataBinder binder = new ServletRequestDataBinder(command); binder.bind(request); try { resp.setContentType(command.getContentType()); //resp.setContentLength(-1); OutputStream out = resp.getOutputStream(); command.transfer(out); out.flush(); } catch (Throwable e) { e.printStackTrace(); resp.setStatus(HttpServletResponse.SC_BAD_REQUEST, "Error:" + e.getMessage()); } return (null); } finally { long stop = System.currentTimeMillis(); System.out.println("Update:" + (stop - start) + "ms"); } }