Example usage for org.springframework.web.servlet DispatcherServlet LOCALE_RESOLVER_ATTRIBUTE

List of usage examples for org.springframework.web.servlet DispatcherServlet LOCALE_RESOLVER_ATTRIBUTE

Introduction

In this page you can find the example usage for org.springframework.web.servlet DispatcherServlet LOCALE_RESOLVER_ATTRIBUTE.

Prototype

String LOCALE_RESOLVER_ATTRIBUTE

To view the source code for org.springframework.web.servlet DispatcherServlet LOCALE_RESOLVER_ATTRIBUTE.

Click Source Link

Document

Request attribute to hold the current LocaleResolver, retrievable by views.

Usage

From source file:com.technologicaloddity.saha.util.AjaxPageRendererImpl.java

public String render(ModelAndView modelAndView, HttpServletRequest request, HttpServletResponse response) {
    String result = null;//ww  w  . j  a  va2s . c  o  m

    StringWriter sout = new StringWriter();
    StringBuffer buffer = sout.getBuffer();

    HttpServletResponse fakeResponse = new SwallowingHttpServletResponse(response, sout,
            response.getCharacterEncoding());

    Locale locale = this.localeResolver.resolveLocale(request);
    fakeResponse.setLocale(locale);

    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, this.localeResolver);
    try {
        View view = viewResolver.resolveViewName(modelAndView.getViewName(), locale);
        view.render(modelAndView.getModel(), request, fakeResponse);
        result = buffer.toString();
    } catch (Exception e) {
        result = "Ajax render error:" + e.getMessage();
    }
    return result;
}

From source file:com.mtt.myapp.home.controller.HomeControllerTest.java

@Test
public void testHome() {
    MockHttpServletResponse res = new MockHttpServletResponse();
    MockHttpServletRequest req = new MockHttpServletRequest();
    CookieLocaleResolver localeResolver = new CookieLocaleResolver();
    req.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, localeResolver);
    User testUser2 = getTestUser();//w  w  w  . j a  v a2s  .  c  o  m
    testUser2.setUserLanguage("EN");
    ModelMap model = new ModelMap();
    String viewName = homeController.home(testUser2, null, null, model, res, req);
    assertThat(viewName).isEqualTo("index");

    User testUserError = Mockito.spy(testUser2);
    Mockito.when(testUserError.getRole()).thenReturn(Role.SYSTEM_USER);
    viewName = homeController.home(testUserError, "Test Error message!", null, model, res, req);
    assertThat(viewName).isEqualTo("login");

}

From source file:org.ngrinder.home.controller.HomeControllerTest.java

@Test
public void testHome() {
    MockHttpServletResponse res = new MockHttpServletResponse();
    MockHttpServletRequest req = new MockHttpServletRequest();
    CookieLocaleResolver localeResolver = new CookieLocaleResolver();
    req.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, localeResolver);
    User testUser2 = getTestUser();/*  w  ww .j  a va 2s.  com*/
    testUser2.setUserLanguage("EN");
    ModelMap model = new ModelMap();
    String viewName = homeController.home(testUser2, null, null, model, res, req);
    assertThat(viewName, is("index"));

    User testUserError = Mockito.spy(testUser2);
    Mockito.when(testUserError.getRole()).thenReturn(Role.SYSTEM_USER);
    viewName = homeController.home(testUserError, "Test Error message!", null, model, res, req);
    assertThat(viewName, is("login"));

}

From source file:org.hdiv.web.servlet.tags.AbstractTagTests.java

protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    SimpleWebApplicationContext wac = new SimpleWebApplicationContext();
    wac.setServletContext(sc);//from   w w  w  . j a  va  2 s . c  om
    wac.setNamespace("test");
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    if (inDispatcherServlet()) {
        request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
        LocaleResolver lr = new AcceptHeaderLocaleResolver();
        request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
        ThemeResolver tr = new FixedThemeResolver();
        request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
        request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);
    } else {
        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    }

    return new MockPageContext(sc, request, response);
}

From source file:ca.flop.jpublish.i18n.SpringI18nSupport.java

/**
 * Execute the action using the given context.
 *
 * @param context       The current context
 * @param configuration The configuration
 * @throws Exception Any error//from   w ww .jav a2  s  . c  o m
 */
public void execute(JPublishContext context, Configuration configuration) throws Exception {
    HttpServletRequest request = (HttpServletRequest) context.get("request");
    HttpServletResponse response = (HttpServletResponse) context.get("response");
    Page page = ((Page) context.get("page"));

    if (page != null) {
        Locale locale = page.getLocale();

        ApplicationContext applicationContext = getApplicationContext(context);
        context.put(SPRING, applicationContext);
        HandlerInterceptor localeChangeInterceptor = (HandlerInterceptor) applicationContext
                .getBean("localeChangeInterceptor");

        if (localeChangeInterceptor != null) {
            try {
                LocaleResolver localeResolver = (LocaleResolver) applicationContext.getBean("localeResolver");
                if (localeResolver != null) {
                    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, localeResolver);
                    localeChangeInterceptor.preHandle(request, response, null);
                    locale = localeResolver.resolveLocale(request);
                    MessageSource messageSource = (MessageSource) applicationContext.getBean("messageSource");
                    if (messageSource != null) {
                        context.put(I18N, new MessageSourceAccessor(messageSource, locale));
                    } else {
                        log.error("There is no 'messageSource' defined in your application context."
                                + " Please define one.");
                    }
                } else {
                    log.error("please define a 'localeResolver' bean in your Application context");
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("Cannot handle the locale change event");
            }
        }
        page.setLocale(locale);
    }
}

From source file:org.hdiv.web.servlet.view.freemarker.FreeMarkerMacroTests.java

public void setUp() throws Exception {
    wac = new StaticWebApplicationContext();
    wac.setServletContext(new MockServletContext());

    //final Template expectedTemplate = new Template();
    fc = new FreeMarkerConfigurer();
    fc.setPreferFileSystemAccess(false);
    fc.afterPropertiesSet();//w w  w. j  a v  a  2s .  c o  m

    wac.getDefaultListableBeanFactory().registerSingleton("freeMarkerConfigurer", fc);
    wac.refresh();

    request = new MockHttpServletRequest();
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new AcceptHeaderLocaleResolver());
    request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, new FixedThemeResolver());
    response = new MockHttpServletResponse();
}

From source file:org.toobsframework.tags.FormatHelper.java

/**
 * Public Tag - Message - insert a resource bundle message in the result stream
 * <p>//  ww  w.  ja va2s .c  o m
 * <pre><code>
 *   &lt;fmt:message key="<i>key</i>"&gt;
 *   &lt;/fmt:message>
 * </code></pre>
 * 
 * implicit DTD for message
 * 
 * <pre><code>
 * &lt;!ELEMENT fmt:message (fmt:param*)&gt
 * &lt;!ATTLIST fmt:message
 * key CDATA #REQUIRED
 * </code></pre>
 * 
 * Where
 * <p>
 * <ul>
 * <li>key - is the resource bundle message key
 * </ul>
 */
@SuppressWarnings("unchecked")
public void message(XSLProcessorContext processorContext, ElemExtensionCall extensionElement)
        throws TransformerException {

    // Initialize
    TransformerImpl transformer = processorContext.getTransformer();
    ComponentTransformerHelper transformerHelper = getTransformerHelper(processorContext);

    // Get attributes
    String messageKey = getRequiredStringProperty("key",
            "the property key needs to be provided for the message tag", processorContext, extensionElement);

    // Obtain parameters
    List<String> parameterList = new ArrayList<String>();
    Object oldParameterList = transformer.getParameter(FORMAT_HELPER_PARAMETERS);
    if (extensionElement.hasChildNodes()) {
        transformer.setParameter(FORMAT_HELPER_PARAMETERS, parameterList);
        transformer.executeChildTemplates(extensionElement, true);
        transformer.setParameter(FORMAT_HELPER_PARAMETERS,
                oldParameterList == null ? new Boolean(false) : oldParameterList);
    }

    // Compute Results
    IRequest request = getComponentRequest(processorContext);
    if (request == null) {
        throw new TransformerException("Internal error: Invalid request passed to the layout through the "
                + IXMLTransformer.TRANSFORMER_HELPER);
    }
    try {
        LocaleResolver localeResolver = (LocaleResolver) request.getHttpRequest()
                .getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE);
        Locale locale = localeResolver.resolveLocale(request.getHttpRequest());

        String message = transformerHelper.getApplicationContext().getMessage(messageKey,
                parameterList.toArray(), locale);

        if (oldParameterList == null) {
            serialize(processorContext, extensionElement, message, false);
        } else if (oldParameterList instanceof List) {
            ((List<String>) oldParameterList).add(message);
        }
    } catch (Exception ex) {
        throw new TransformerException("Error getting message for key=" + messageKey + ": " + ex.getMessage(),
                ex);
    }
}

From source file:org.hdiv.web.servlet.view.freemarker.FreeMarkerViewTests.java

@Test
public void testValidTemplateName() throws Exception {
    FreeMarkerView fv = new FreeMarkerView();

    MockControl wmc = MockControl.createNiceControl(WebApplicationContext.class);
    WebApplicationContext wac = (WebApplicationContext) wmc.getMock();
    MockServletContext sc = new MockServletContext();

    wac.getBeansOfType(FreeMarkerConfig.class, true, false);
    Map configs = new HashMap();
    FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
    configurer.setConfiguration(new FreeMarkerTestConfiguration());
    configs.put("configurer", configurer);
    wmc.setReturnValue(configs);//from w ww.j a v a 2  s .  c  o m
    wac.getParentBeanFactory();
    wmc.setReturnValue(null);
    wac.getServletContext();
    wmc.setReturnValue(sc, 5);
    wmc.replay();

    fv.setUrl("templateName");
    fv.setApplicationContext(wac);

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addPreferredLocale(Locale.US);
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new AcceptHeaderLocaleResolver());
    HttpServletResponse response = new MockHttpServletResponse();

    Map model = new HashMap();
    model.put("myattr", "myvalue");
    fv.render(model, request, response);

    wmc.verify();
    assertEquals(AbstractView.DEFAULT_CONTENT_TYPE, response.getContentType());
}

From source file:org.hdiv.web.servlet.view.freemarker.FreeMarkerViewTests.java

@Test
public void testKeepExistingContentType() throws Exception {
    FreeMarkerView fv = new FreeMarkerView();

    MockControl wmc = MockControl.createNiceControl(WebApplicationContext.class);
    WebApplicationContext wac = (WebApplicationContext) wmc.getMock();
    MockServletContext sc = new MockServletContext();

    wac.getBeansOfType(FreeMarkerConfig.class, true, false);
    Map configs = new HashMap();
    FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
    configurer.setConfiguration(new FreeMarkerTestConfiguration());
    configs.put("configurer", configurer);
    wmc.setReturnValue(configs);/*  www .  ja  v  a  2 s  . c om*/
    wac.getParentBeanFactory();
    wmc.setReturnValue(null);
    wac.getServletContext();
    wmc.setReturnValue(sc, 5);
    wmc.replay();

    fv.setUrl("templateName");
    fv.setApplicationContext(wac);

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addPreferredLocale(Locale.US);
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new AcceptHeaderLocaleResolver());
    HttpServletResponse response = new MockHttpServletResponse();
    response.setContentType("myContentType");

    Map model = new HashMap();
    model.put("myattr", "myvalue");
    fv.render(model, request, response);

    wmc.verify();
    assertEquals("myContentType", response.getContentType());
}

From source file:com.javaetmoi.core.mvc.tag.TestHtml5InputTag.java

protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    StaticWebApplicationContext wac = new StaticWebApplicationContext();
    wac.setServletContext(sc);//from  ww  w  .ja  v  a2s .  co m
    wac.setNamespace("test");
    wac.registerSingleton("validator",
            org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.class);
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    LocaleResolver lr = new AcceptHeaderLocaleResolver();
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
    ThemeResolver tr = new FixedThemeResolver();
    request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
    request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);

    return new MockPageContext(sc, request, response);
}