Example usage for org.springframework.web.servlet FlashMap setTargetRequestPath

List of usage examples for org.springframework.web.servlet FlashMap setTargetRequestPath

Introduction

In this page you can find the example usage for org.springframework.web.servlet FlashMap setTargetRequestPath.

Prototype

public void setTargetRequestPath(@Nullable String path) 

Source Link

Document

Provide a URL path to help identify the target request for this FlashMap.

Usage

From source file:org.sarons.spring4me.web.servlet.DispatcherServlet.java

private void prepareFlashMapForWidget(HttpServletRequest request, Object handler) {
    if (handler instanceof HandlerMethod) {
        HandlerMethod handlerMethod = (HandlerMethod) handler;
        ///*from   w  ww . j a  v  a  2s. c om*/
        Widget widget = AnnotationUtils.getAnnotation(handlerMethod.getBeanType(), Widget.class);
        if (widget != null) {
            //
            String widgetName = widget.value();
            if (!StringUtils.hasText(widgetName)) {
                String targetWidget = handlerMethod.getBeanType().getSimpleName();
                widgetName = StringUtils.uncapitalize(targetWidget);
            }
            //
            FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request);
            flashMap.setTargetRequestPath(widgetName);
            FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);
            flashMapManager.saveOutputFlashMap(flashMap, request, null);
        }
    }
}

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//w w  w.  ja v a  2s .  co 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:org.springframework.web.servlet.support.AbstractFlashMapManager.java

@Override
public final void saveOutputFlashMap(FlashMap flashMap, HttpServletRequest request,
        HttpServletResponse response) {//from  www  .j  a  va  2s .  com
    if (CollectionUtils.isEmpty(flashMap)) {
        return;
    }

    String path = decodeAndNormalizePath(flashMap.getTargetRequestPath(), request);
    flashMap.setTargetRequestPath(path);

    if (logger.isDebugEnabled()) {
        logger.debug("Saving FlashMap=" + flashMap);
    }
    flashMap.startExpirationPeriod(getFlashMapTimeout());

    Object mutex = getFlashMapsMutex(request);
    if (mutex != null) {
        synchronized (mutex) {
            List<FlashMap> allFlashMaps = retrieveFlashMaps(request);
            allFlashMaps = (allFlashMaps != null ? allFlashMaps : new CopyOnWriteArrayList<>());
            allFlashMaps.add(flashMap);
            updateFlashMaps(allFlashMaps, request, response);
        }
    } else {
        List<FlashMap> allFlashMaps = retrieveFlashMaps(request);
        allFlashMaps = (allFlashMaps != null ? allFlashMaps : new LinkedList<>());
        allFlashMaps.add(flashMap);
        updateFlashMaps(allFlashMaps, request, response);
    }
}

From source file:org.springframework.web.servlet.support.DefaultFlashMapManager.java

/**
 * Update a FlashMap before it is stored in the HTTP Session.
 * <p>The default implementation starts the expiration period and ensures the
 * target request path is decoded and normalized if it is relative. 
 * @param flashMap the flash map to be saved
 * @param request the current request// w  ww.  j  av a  2s.  c o m
 */
protected void onSaveFlashMap(FlashMap flashMap, HttpServletRequest request) {
    String targetPath = flashMap.getTargetRequestPath();
    flashMap.setTargetRequestPath(decodeAndNormalizePath(targetPath, request));
    flashMap.startExpirationPeriod(this.flashTimeout);
}