Example usage for org.springframework.web.servlet.support RequestContextUtils getInputFlashMap

List of usage examples for org.springframework.web.servlet.support RequestContextUtils getInputFlashMap

Introduction

In this page you can find the example usage for org.springframework.web.servlet.support RequestContextUtils getInputFlashMap.

Prototype

@SuppressWarnings("unchecked")
@Nullable
public static Map<String, ?> getInputFlashMap(HttpServletRequest request) 

Source Link

Document

Return read-only "input" flash attributes from request before redirect.

Usage

From source file:com.abuabdul.notedovn.controller.NoteDovnPadController.java

@RequestMapping(value = "/scratch/notedovnPad.go")
public String notedovnPad(ModelMap model, HttpServletRequest request) {
    log.debug("Entering notedovnPad() in " + this.getClass().getName());
    try {/*from w  w  w  . j a  v  a 2s.  c  om*/
        Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
        if (inputFlashMap != null) {
            model.addAttribute("saveNoteDetails", inputFlashMap.get("saveNoteDetails"));
        }
        model.addAttribute("scratchPadForm", new ScratchNote());
        model.addAttribute("loginForm", new NoteDovnLoginForm());
        LinkedList<NotesFolder> allNotesInFolder = wrapInFolder(noteDovnService.publishAllScratchNotes());
        model.addAttribute("notesFolder", allNotesInFolder);
        return "notedovnPad";
    } catch (NoteDovnServiceException ndse) {
        log.debug("NoteDovnServiceException - " + ndse.getMessage());
        throw new NoteDovnException(ndse.getMessage());
    }
}

From source file:jetx.ext.springmvc.SpringMvcFunctions.java

/**
 * ?InputFlashMap/*w  ww . j ava2  s  .  co m*/
 */
public static Map<String, ?> getInputFlashMap(JetPageContext ctx) {
    HttpServletRequest request = ExtendUtils.getHttpServletRequest(ctx);
    return RequestContextUtils.getInputFlashMap(request);
}

From source file:com.abuabdul.mytravelpal.controller.MyTravelPalLandingController.java

@RequestMapping(value = "/travel/plans.go")
public String myTravelPalPlan(ModelMap model, HttpServletRequest request) {
    log.debug("Entering myTravelPalPlan() in " + this.getClass().getName());
    Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
    if (inputFlashMap != null) {
        model.addAttribute("travelPlanned", inputFlashMap.get("travelPlanned"));
    }//from  www  . j  a v  a2s.  c o m
    model.addAttribute("travelModes", travelModes);
    model.addAttribute("travelTypes", travelTypes);
    model.addAttribute("myTravelPalPlan", new MyTravelPalPlan());
    return "travel/plan/form";
}

From source file:de.hybris.platform.secureportaladdon.interceptors.SecurePortalBeforeControllerHandler.java

/**
 * Maintains flash attributes to prevent data such as global messages to be lost when you are redirected to the login
 * page//from  ww w  .  j  av  a2 s. c  o m
 *
 * @param request
 *           Standard HTTP request
 * @param response
 *           Standard HTTP response
 */
protected void maintainFlashAttributes(final HttpServletRequest request, final HttpServletResponse response) {
    final Map<String, ?> lastAttributes = RequestContextUtils.getInputFlashMap(request); // should hold the attributes from your last request
    if (lastAttributes != null) {
        final FlashMap forNextRequest = RequestContextUtils.getOutputFlashMap(request); // will hold the attributes for your next request
        forNextRequest.putAll(lastAttributes);
        forNextRequest.setTargetRequestPath(request.getContextPath() + defaultLoginUri);//forNextRequest.setTargetRequestPath("/yb2bacceleratorstorefront/powertools/en/USD/secured/login");
        RequestContextUtils.getFlashMapManager(request).saveOutputFlashMap(forNextRequest, request, response);
    }
}

From source file:com.abuabdul.mytravelpal.controller.MyTravelPalLandingController.java

@RequestMapping(value = "/secure/travel/viewPlans.go")
public String myTravelPalViewPlan(ModelMap model, HttpServletRequest request) {
    log.debug("Entering myTravelPalViewPlan() in " + this.getClass().getName());
    Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
    if (inputFlashMap != null) {
        model.addAttribute("travelPlanRemoved", inputFlashMap.get("travelPlanRemoved"));
    }/*ww  w  .ja v  a 2  s .c  om*/
    List<MyTravelPalPlan> allTravelPlans = transform(myTravelPalService.retrieveAllTravelPlans(),
            fromTravelPalToTravelPlan);
    model.addAttribute("allTravelPlans", allTravelPlans);
    return "travel/plan/view/modify";
}

From source file:com.poscoict.license.web.controller.ManagementController.java

@RequestMapping(value = { "progressUserInfom" }, method = { RequestMethod.GET, RequestMethod.POST })
public ModelAndView getProgressUserInfom(@RequestParam(value = "objectId", required = false) String objectId,
        HttpServletRequest request) {//from w ww  .j  a  va 2s .co m
    Map<String, ?> flashMap = RequestContextUtils.getInputFlashMap(request);
    if (flashMap != null)
        objectId = (String) flashMap.get("objectId");

    Map<String, Object> map = getManagementService.getProgressUserInfo(objectId);
    ModelAndView mv = new ModelAndView();
    mv.setViewName("mainPage");
    mv.addObject("page", "licenseManagement/progressUserInfom");
    mv.addObject("user", map.get("user"));
    mv.addObject("file", map.get("file"));
    mv.addObject("comment", map.get("comment"));
    mv.addObject("log", map.get("log"));
    mv.addObject("category", "progress");

    return mv;
}

From source file:org.schedoscope.metascope.controller.MetascopeMainController.java

private String getParameter(HttpServletRequest request, String parameterKey) {
    Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
    String[] parameterValues = request.getParameterMap().get(parameterKey);
    if (parameterValues != null && parameterValues.length > 0) {
        return parameterValues[0];
    }// w  w  w  . ja  v  a 2s .c  o  m
    if (inputFlashMap != null) {
        Object val = inputFlashMap.get(parameterKey);
        if (val != null) {
            return String.valueOf(val);
        }
    }
    return null;
}

From source file:de.iteratec.iteraplan.presentation.dialog.GuiController.java

/**
 * Store all error messages from the complete redirect-chain into the request-scope attribute 'MVC_ERROR_MESSAGES_KEY'.
 * Must be called at least once, most suitable at the very end of {@link Theme} controller's method(s).
 * Can be called several times without harm.
 * /*  w ww .  ja va 2 s  . co  m*/
 * Use in JSP like this:  ${requestScope['iteraplanMvcErrorMessages']}
 * 
 * Concerning the usage of FlashMap/-Attributes, please refer to comment in
 * "springmvc-servlet.xml", bean "DefaultAnnotationHandlerMapping".
 * 
 * @param request  The {@link HttpServletRequest}
 */
@SuppressWarnings("unchecked")
protected void storeErrorMessagesInRequestScope(HttpServletRequest request) {
    List<String> errorMessages = Lists.newArrayList();

    // Add error messages from previous requests of the redirect-chain
    Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
    if (inputFlashMap != null && inputFlashMap.containsKey(SessionConstants.MVC_ERROR_MESSAGES_KEY)) {
        errorMessages.addAll((List<String>) inputFlashMap.get(SessionConstants.MVC_ERROR_MESSAGES_KEY));
    }

    // Add error messages from the current (and last!) request of the redirect-chain
    FlashMap outputFlashMap = RequestContextUtils.getOutputFlashMap(request);
    if (outputFlashMap.containsKey(SessionConstants.MVC_ERROR_MESSAGES_KEY)) {
        errorMessages.addAll((List<String>) outputFlashMap.get(SessionConstants.MVC_ERROR_MESSAGES_KEY));
    }

    // Use same key for request attribute like for FlashMap key.
    ImmutableList<String> unqiueErrorMessages = ImmutableSortedSet.copyOf(errorMessages).asList();
    request.setAttribute(SessionConstants.MVC_ERROR_MESSAGES_KEY, unqiueErrorMessages);
}

From source file:org.dspace.EDMExport.controller.homeController.java

/**
 * Controller para la url /viewXml.htm con mtodo GET y sin parmetros.
 * Se recogen los datos del formulario con la configuracin de elementos EDM para mostrar el xml de los tems seleccionados.
 * Si hay errores se redirige a la lista de tems seleccionados, si no se muestra el xml con los datos en EDM.
 * Si el xml a mostrar excede los 2MB y no se comprime con el servlet se comprime el contenido y se enva tambin.
 * //from   w w w.  j  a  v a  2s.c  o m
 * @param edmExportBOFormEDMData objeto que recoge los datos pasados del formulario {@link EDMExportBOFormEDMData}
 * @param result objeto con el que se une la peticin y se valida {@link BindingResult}
 * @param model objeto de Spring Model con la peticin {@link Model}
 * @param request objeto de la peticin http para recoger los datos del objeto flash (como la sesin pero dura una peticin)
 * @return cadena con la vista a renderizar y mostrar
 */
@RequestMapping(value = "/viewXml.htm", method = RequestMethod.GET)
public String getViewXML(@ModelAttribute(value = "FormEDMData") EDMExportBOFormEDMData edmExportBOFormEDMData,
        BindingResult result, Model model, HttpServletRequest request) {
    logger.debug("homeController.getViewXML");
    Map<String, ?> map = RequestContextUtils.getInputFlashMap(request);
    if (map == null) {
        logger.debug("No FlashMap");
        return "redirect:selectedItems.htm";
    }
    if (result.hasErrors()) {
        logErrorValid(result);
        return "redirect:selectedItems.htm";
    } else {
        edmExportServiceXML.setEdmExportServiceListItems(edmExportServiceListItems);
        String edmXML = edmExportServiceXML.showEDMXML(edmExportBOFormEDMData, servletContext.getRealPath(""));
        logger.debug(edmXML);
        String edmXMLEncoded = "";
        String encoding = request.getHeader("Content-Encoding");
        //while (edmXML.length() <= 1500000) edmXML += edmXML;
        if (edmXML.length() > 1500000 && (encoding == null || (encoding != null && encoding.isEmpty()))) {
            ByteArrayOutputStream output = null;
            GZIPOutputStream gzOut = null;
            try {
                output = new ByteArrayOutputStream();
                gzOut = new GZIPOutputStream(output);
                gzOut.write(edmXML.getBytes("UTF-8"));
                gzOut.finish();
                byte[] encoded = Base64.encodeBase64(output.toByteArray());
                edmXMLEncoded = new String(encoded, "UTF-8");
            } catch (IOException e) {
                logger.debug("IOException", e);
            } finally {
                try {
                    if (output != null)
                        output.close();
                    if (gzOut != null)
                        gzOut.close();
                } catch (IOException e) {
                    logger.debug("IOException", e);
                }

            }
        }
        logger.debug(edmXMLEncoded);
        model.addAttribute("formatXML", edmExportBOFormEDMData.getXmlFormat());
        model.addAttribute("edmXML", edmXML);
        model.addAttribute("edmXMLEncoded", edmXMLEncoded);
        model.addAttribute("listElementsFilled", edmExportServiceXML.getListElementsFilled());
        return returnView("viewXml", model);
    }
}

From source file:co.paralleluniverse.springframework.web.servlet.mvc.method.annotation.FiberRequestMappingHandlerAdapter.java

/**
 * Invoke the {@link RequestMapping} handler method preparing a {@link ModelAndView}
 * if view resolution is required.//from www. j  av  a2 s .  c om
 */
private ModelAndView invokeHandleMethod(HttpServletRequest request, HttpServletResponse response,
        HandlerMethod handlerMethod) throws Exception {
    ServletWebRequest webRequest = new ServletWebRequest(request, response);

    WebDataBinderFactory binderFactory = getDataBinderFactory(handlerMethod);
    ModelFactory modelFactory = getModelFactory(handlerMethod, binderFactory);
    FiberServletInvocableHandlerMethod requestMappingMethod = createRequestMappingMethod(handlerMethod,
            binderFactory);

    ModelAndViewContainer mavContainer = new ModelAndViewContainer();
    mavContainer.addAllAttributes(RequestContextUtils.getInputFlashMap(request));
    modelFactory.initModel(webRequest, mavContainer, requestMappingMethod);
    mavContainer.setIgnoreDefaultModelOnRedirect(this.ignoreDefaultModelOnRedirect);

    AsyncWebRequest asyncWebRequest = WebAsyncUtils.createAsyncWebRequest(request, response);
    asyncWebRequest.setTimeout(this.asyncRequestTimeout);

    final WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request);
    asyncManager.setTaskExecutor(this.taskExecutor);
    asyncManager.setAsyncWebRequest(asyncWebRequest);
    asyncManager.registerCallableInterceptors(this.callableInterceptors);
    asyncManager.registerDeferredResultInterceptors(this.deferredResultInterceptors);

    if (asyncManager.hasConcurrentResult()) {
        Object result = asyncManager.getConcurrentResult();
        mavContainer = (ModelAndViewContainer) asyncManager.getConcurrentResultContext()[0];
        asyncManager.clearConcurrentResult();

        if (logger.isDebugEnabled()) {
            logger.debug("Found concurrent result value [" + result + "]");
        }
        requestMappingMethod = requestMappingMethod.wrapConcurrentResult(result);
    }

    requestMappingMethod.invokeAndHandle(webRequest, mavContainer);

    if (asyncManager.isConcurrentHandlingStarted()) {
        return null;
    }

    return getModelAndView(mavContainer, modelFactory, webRequest);
}