Example usage for org.springframework.web.context.request RequestContextHolder setRequestAttributes

List of usage examples for org.springframework.web.context.request RequestContextHolder setRequestAttributes

Introduction

In this page you can find the example usage for org.springframework.web.context.request RequestContextHolder setRequestAttributes.

Prototype

public static void setRequestAttributes(@Nullable RequestAttributes attributes) 

Source Link

Document

Bind the given RequestAttributes to the current thread, not exposing it as inheritable for child threads.

Usage

From source file:org.cloudfoundry.identity.uaa.provider.oauth.XOAuthAuthenticationManagerTest.java

private UaaUser getInvitedUser() {
    UaaUser existingShadowUser = new UaaUser(new UaaUserPrototype().withUsername("marissa@bloggs.com")
            .withPassword("").withEmail("marissa@bloggs.com").withGivenName("Marissa_Old")
            .withFamilyName("Bloggs_Old").withId("user-id").withOrigin("the_origin").withZoneId("uaa")
            .withAuthorities(UaaAuthority.USER_AUTHORITIES));

    userDatabase.addUser(existingShadowUser);

    RequestAttributes attributes = new ServletRequestAttributes(new MockHttpServletRequest());
    attributes.setAttribute("IS_INVITE_ACCEPTANCE", true, RequestAttributes.SCOPE_SESSION);
    attributes.setAttribute("user_id", existingShadowUser.getId(), RequestAttributes.SCOPE_SESSION);
    RequestContextHolder.setRequestAttributes(attributes);

    return existingShadowUser;
}

From source file:org.codehaus.groovy.grails.web.util.WebUtils.java

/**
 * Helper method to store the given GrailsWebRequest for the current
 * request. Ensures consistency between RequestContextHolder and the
 * relevant request attribute. This is the preferred means of updating
 * the current web request.//from ww  w.  ja  v a 2s  . c o  m
 */
public static void storeGrailsWebRequest(GrailsWebRequest webRequest) {
    RequestContextHolder.setRequestAttributes(webRequest);
    webRequest.getRequest().setAttribute(GrailsApplicationAttributes.WEB_REQUEST, webRequest);
}

From source file:org.geoserver.importer.Importer.java

public Long runAsync(final ImportContext context, final ImportFilter filter, final boolean init) {
    // we store the current request spring context
    final RequestAttributes parentRequestAttributes = RequestContextHolder.getRequestAttributes();
    final Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    Thread parentThread = Thread.currentThread();
    // creating an asynchronous importer job
    return jobs.submit(new Job<ImportContext>() {

        @Override//from w ww .  j  a  va2  s  .c om
        protected ImportContext call(ProgressMonitor monitor) throws Exception {
            final Authentication oldAuth = SecurityContextHolder.getContext().getAuthentication();
            try {
                // set the parent request spring context, some interceptors like the security ones
                // for example may need to have access to the original request attributes
                RequestContextHolder.setRequestAttributes(parentRequestAttributes);
                SecurityContextHolder.getContext().setAuthentication(auth);
                if (init) {
                    init(context, true);
                }
                run(context, filter, monitor);
                return context;
            } finally {
                if (Thread.currentThread() != parentThread) {
                    // cleaning request spring context for the current thread
                    RequestContextHolder.resetRequestAttributes();
                    SecurityContextHolder.getContext().setAuthentication(oldAuth);
                }
            }
        }

        @Override
        public String toString() {
            return "Processing import " + context.getId();
        }
    });
}

From source file:org.jasig.portlet.calendar.adapter.exchange.ExchangeCredentialsInitializationServiceTest.java

@Test
public void testWithExistingRequestInitialize() {
    final RequestAttributes requestAttributes = new PortletRequestAttributes(request);
    requestAttributes.setAttribute("testAttr", "testVal", RequestAttributes.SCOPE_SESSION);
    RequestContextHolder.setRequestAttributes(requestAttributes);

    service.initialize(request);//ww  w .  jav  a 2 s  . c o m

    final RequestAttributes newRequestAttributes = RequestContextHolder.getRequestAttributes();
    final NTCredentials credentials = (NTCredentials) newRequestAttributes.getAttribute(
            ExchangeWsCredentialsProvider.EXCHANGE_CREDENTIALS_ATTRIBUTE, RequestAttributes.SCOPE_SESSION);
    assertEquals("user", credentials.getUserName());
    assertEquals("pass", credentials.getPassword());
    assertEquals("testVal", newRequestAttributes.getAttribute("testAttr", RequestAttributes.SCOPE_SESSION));
}

From source file:org.jtalks.jcommune.service.nontransactional.MentionedUsersTest.java

private void setupRequestAttributes() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setScheme("http");
    request.setServerName("localhost");
    request.setServerPort(8080);/* w ww  .  j a  v  a 2  s.  co  m*/
    request.setContextPath("/forum");
    RequestContextHolder.setRequestAttributes(new ServletWebRequest(request));
}

From source file:org.jtalks.jcommune.service.transactional.TransactionalUserServiceTest.java

private void boundMockHttpRequestToThread(String contextPath) {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setScheme("http");
    request.setServerName("testing.com");
    request.setServerPort(1234);/*from   ww  w.j  a v  a 2 s .c  o m*/
    request.setContextPath(contextPath);
    RequestContextHolder.setRequestAttributes(new ServletWebRequest(request));
}

From source file:org.onebusaway.sms.impl.TextmarksSessionInterceptor.java

@Override
public String intercept(ActionInvocation invocation) throws Exception {

    processGoogleAnalytics();/*from  ww w  .  jav  a 2 s  . c  om*/

    ActionContext context = invocation.getInvocationContext();
    Map<String, Object> parameters = context.getParameters();

    Object phoneNumber = parameters.get(_phoneNumberParameterName);

    if (phoneNumber == null)
        return invocation.invoke();

    if (phoneNumber instanceof String[]) {
        String[] values = (String[]) phoneNumber;
        if (values.length == 0)
            return invocation.invoke();
        phoneNumber = values[0];
    }

    String sessionId = phoneNumber.toString();
    Map<String, Object> persistentSession = _sessionManager.getContext(sessionId);

    Map<String, Object> originalSession = context.getSession();
    context.setSession(persistentSession);

    XWorkRequestAttributes attributes = new XWorkRequestAttributes(context, sessionId);
    RequestAttributes originalAttributes = RequestContextHolder.getRequestAttributes();
    RequestContextHolder.setRequestAttributes(attributes);

    Object action = invocation.getAction();
    if (action instanceof SessionAware)
        ((SessionAware) action).setSession(persistentSession);

    try {
        return invocation.invoke();
    } finally {
        RequestContextHolder.setRequestAttributes(originalAttributes);
        context.setSession(originalSession);
    }
}

From source file:org.springframework.test.context.web.ServletTestExecutionListener.java

private void setUpRequestContextIfNecessary(TestContext testContext) {
    if (!isActivated(testContext) || alreadyPopulatedRequestContextHolder(testContext)) {
        return;//  w w  w.ja  v  a  2s  .com
    }

    ApplicationContext context = testContext.getApplicationContext();

    if (context instanceof WebApplicationContext) {
        WebApplicationContext wac = (WebApplicationContext) context;
        ServletContext servletContext = wac.getServletContext();
        Assert.state(servletContext instanceof MockServletContext, () -> String.format(
                "The WebApplicationContext for test context %s must be configured with a MockServletContext.",
                testContext));

        if (logger.isDebugEnabled()) {
            logger.debug(String.format(
                    "Setting up MockHttpServletRequest, MockHttpServletResponse, ServletWebRequest, and RequestContextHolder for test context %s.",
                    testContext));
        }

        MockServletContext mockServletContext = (MockServletContext) servletContext;
        MockHttpServletRequest request = new MockHttpServletRequest(mockServletContext);
        request.setAttribute(CREATED_BY_THE_TESTCONTEXT_FRAMEWORK, Boolean.TRUE);
        MockHttpServletResponse response = new MockHttpServletResponse();
        ServletWebRequest servletWebRequest = new ServletWebRequest(request, response);

        RequestContextHolder.setRequestAttributes(servletWebRequest);
        testContext.setAttribute(POPULATED_REQUEST_CONTEXT_HOLDER_ATTRIBUTE, Boolean.TRUE);
        testContext.setAttribute(RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE, Boolean.TRUE);

        if (wac instanceof ConfigurableApplicationContext) {
            @SuppressWarnings("resource")
            ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) wac;
            ConfigurableListableBeanFactory bf = configurableApplicationContext.getBeanFactory();
            bf.registerResolvableDependency(MockHttpServletResponse.class, response);
            bf.registerResolvableDependency(ServletWebRequest.class, servletWebRequest);
        }
    }
}

From source file:org.springframework.test.context.web.WebTestExecutionListener.java

/**
 * TODO [SPR-9864] Document setUpRequestContext().
 *
 * @param testContext//from   ww w  . j av a  2s . c om
 * @param servletContext
 */
private void setUpRequestContextIfNecessary(TestContext testContext) {

    ApplicationContext context = testContext.getApplicationContext();

    if (context instanceof WebApplicationContext) {
        WebApplicationContext wac = (WebApplicationContext) context;
        ServletContext servletContext = wac.getServletContext();
        if (!(servletContext instanceof MockServletContext)) {
            throw new IllegalStateException(String.format(
                    "The WebApplicationContext for test context %s must be configured with a MockServletContext.",
                    testContext));
        }

        if (logger.isDebugEnabled()) {
            logger.debug(String.format(
                    "Setting up MockHttpServletRequest, MockHttpServletResponse, ServletWebRequest, and RequestContextHolder for test context %s.",
                    testContext));
        }

        if (RequestContextHolder.getRequestAttributes() == null) {
            MockServletContext mockServletContext = (MockServletContext) servletContext;
            MockHttpServletRequest request = new MockHttpServletRequest(mockServletContext);
            MockHttpServletResponse response = new MockHttpServletResponse();
            ServletWebRequest servletWebRequest = new ServletWebRequest(request, response);

            RequestContextHolder.setRequestAttributes(servletWebRequest);

            if (wac instanceof ConfigurableApplicationContext) {
                ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) wac;
                ConfigurableListableBeanFactory bf = configurableApplicationContext.getBeanFactory();
                bf.registerResolvableDependency(MockHttpServletResponse.class, response);
                bf.registerResolvableDependency(ServletWebRequest.class, servletWebRequest);
            }
        }
    }
}

From source file:org.springframework.web.context.request.RequestContextListener.java

public void requestInitialized(ServletRequestEvent requestEvent) {
    if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
        throw new IllegalArgumentException(
                "Request is not an HttpServletRequest: " + requestEvent.getServletRequest());
    }//from ww w  . j a v  a  2 s .  c  o m
    HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
    ServletRequestAttributes attributes = new ServletRequestAttributes(request);
    request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
    LocaleContextHolder.setLocale(request.getLocale());
    RequestContextHolder.setRequestAttributes(attributes);
    if (logger.isDebugEnabled()) {
        logger.debug("Bound request context to thread: " + request);
    }
}