Deprecate support for theme
As seen in gh-28868, the support for Themes is now deprecated as of Spring Framework 6.0 and will be removed in a future release. Closes gh-29114
This commit is contained in:
@@ -64,8 +64,6 @@ import org.springframework.web.servlet.mvc.ParameterizableViewController;
|
||||
import org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter;
|
||||
import org.springframework.web.servlet.support.RequestContext;
|
||||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
import org.springframework.web.servlet.theme.SessionThemeResolver;
|
||||
import org.springframework.web.servlet.theme.ThemeChangeInterceptor;
|
||||
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
|
||||
@@ -79,13 +77,16 @@ public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
||||
@SuppressWarnings("deprecation")
|
||||
public void refresh() throws BeansException {
|
||||
registerSingleton(DispatcherServlet.LOCALE_RESOLVER_BEAN_NAME, SessionLocaleResolver.class);
|
||||
registerSingleton(DispatcherServlet.THEME_RESOLVER_BEAN_NAME, SessionThemeResolver.class);
|
||||
registerSingleton(DispatcherServlet.THEME_RESOLVER_BEAN_NAME,
|
||||
org.springframework.web.servlet.theme.SessionThemeResolver.class);
|
||||
|
||||
LocaleChangeInterceptor interceptor1 = new LocaleChangeInterceptor();
|
||||
LocaleChangeInterceptor interceptor2 = new LocaleChangeInterceptor();
|
||||
interceptor2.setParamName("locale2");
|
||||
ThemeChangeInterceptor interceptor3 = new ThemeChangeInterceptor();
|
||||
ThemeChangeInterceptor interceptor4 = new ThemeChangeInterceptor();
|
||||
org.springframework.web.servlet.theme.ThemeChangeInterceptor interceptor3 =
|
||||
new org.springframework.web.servlet.theme.ThemeChangeInterceptor();
|
||||
org.springframework.web.servlet.theme.ThemeChangeInterceptor interceptor4 =
|
||||
new org.springframework.web.servlet.theme.ThemeChangeInterceptor();
|
||||
interceptor4.setParamName("theme2");
|
||||
UserRoleAuthorizationInterceptor interceptor5 = new UserRoleAuthorizationInterceptor();
|
||||
interceptor5.setAuthorizedRoles("role1", "role2");
|
||||
@@ -126,7 +127,8 @@ public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
||||
pvs = new MutablePropertyValues();
|
||||
pvs.add("order", 0);
|
||||
pvs.add("basename", "org.springframework.web.servlet.complexviews");
|
||||
registerSingleton("viewResolver", org.springframework.web.servlet.view.ResourceBundleViewResolver.class, pvs);
|
||||
registerSingleton("viewResolver",
|
||||
org.springframework.web.servlet.view.ResourceBundleViewResolver.class, pvs);
|
||||
|
||||
pvs = new MutablePropertyValues();
|
||||
pvs.add("suffix", ".jsp");
|
||||
@@ -410,6 +412,7 @@ public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
||||
public static class ComplexLocaleChecker implements MyHandler {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void doSomething(HttpServletRequest request) throws ServletException, IllegalAccessException {
|
||||
WebApplicationContext wac = RequestContextUtils.findWebApplicationContext(request);
|
||||
if (!(wac instanceof ComplexWebApplicationContext)) {
|
||||
@@ -445,7 +448,8 @@ public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
||||
if (!TimeZone.getDefault().equals(LocaleContextHolder.getTimeZone())) {
|
||||
throw new ServletException("Incorrect TimeZone");
|
||||
}
|
||||
if (!(RequestContextUtils.getThemeResolver(request) instanceof SessionThemeResolver)) {
|
||||
if (!(RequestContextUtils.getThemeResolver(request)
|
||||
instanceof org.springframework.web.servlet.theme.SessionThemeResolver)) {
|
||||
throw new ServletException("Incorrect ThemeResolver");
|
||||
}
|
||||
if (!"theme".equals(RequestContextUtils.getThemeResolver(request).resolveThemeName(request))) {
|
||||
|
||||
@@ -42,10 +42,10 @@ import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
* @author Juergen Hoeller
|
||||
* @since 21.05.2003
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class SimpleWebApplicationContext extends StaticWebApplicationContext {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void refresh() throws BeansException {
|
||||
registerSingleton("/locale.do", LocaleChecker.class);
|
||||
|
||||
@@ -67,7 +67,6 @@ public class SimpleWebApplicationContext extends StaticWebApplicationContext {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static class LocaleChecker implements Controller, org.springframework.web.servlet.mvc.LastModified {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -161,6 +161,8 @@ import static org.assertj.core.api.InstanceOfAssertFactories.BOOLEAN;
|
||||
* @author Sam Brannen
|
||||
* @author Marten Deinum
|
||||
*/
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class MvcNamespaceTests {
|
||||
|
||||
public static final String VIEWCONTROLLER_BEAN_NAME =
|
||||
|
||||
@@ -50,12 +50,14 @@ import static org.assertj.core.api.Assertions.fail;
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Eko Kurniawan Khannedy
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class InterceptorRegistryTests {
|
||||
|
||||
private InterceptorRegistry registry;
|
||||
|
||||
private final HandlerInterceptor interceptor1 = new LocaleChangeInterceptor();
|
||||
|
||||
@Deprecated
|
||||
private final HandlerInterceptor interceptor2 = new ThemeChangeInterceptor();
|
||||
|
||||
private TestWebRequestInterceptor webInterceptor1;
|
||||
@@ -177,7 +179,6 @@ public class InterceptorRegistryTests {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private List<HandlerInterceptor> getInterceptorsForPath(String lookupPath) {
|
||||
PathMatcher pathMatcher = new AntPathMatcher();
|
||||
List<HandlerInterceptor> result = new ArrayList<>();
|
||||
|
||||
@@ -69,7 +69,6 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.HandlerMapping;
|
||||
import org.springframework.web.servlet.LocaleResolver;
|
||||
import org.springframework.web.servlet.RequestToViewNameTranslator;
|
||||
import org.springframework.web.servlet.ThemeResolver;
|
||||
import org.springframework.web.servlet.ViewResolver;
|
||||
import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
|
||||
import org.springframework.web.servlet.handler.ConversionServiceExposingInterceptor;
|
||||
@@ -85,7 +84,6 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl
|
||||
import org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver;
|
||||
import org.springframework.web.servlet.resource.ResourceUrlProviderExposingInterceptor;
|
||||
import org.springframework.web.servlet.support.SessionFlashMapManager;
|
||||
import org.springframework.web.servlet.theme.FixedThemeResolver;
|
||||
import org.springframework.web.servlet.view.BeanNameViewResolver;
|
||||
import org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator;
|
||||
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
@@ -335,12 +333,14 @@ public class WebMvcConfigurationSupportTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void defaultThemeResolverConfiguration() {
|
||||
ApplicationContext context = initContext(WebConfig.class);
|
||||
ThemeResolver themeResolver = context.getBean(THEME_RESOLVER_BEAN_NAME, ThemeResolver.class);
|
||||
org.springframework.web.servlet.ThemeResolver themeResolver =
|
||||
context.getBean(THEME_RESOLVER_BEAN_NAME, org.springframework.web.servlet.ThemeResolver.class);
|
||||
|
||||
assertThat(themeResolver).isNotNull();
|
||||
assertThat(themeResolver).isInstanceOf(FixedThemeResolver.class);
|
||||
assertThat(themeResolver).isInstanceOf(org.springframework.web.servlet.theme.FixedThemeResolver.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.springframework.web.testfixture.servlet.MockServletContext;
|
||||
* @author Juergen Hoeller
|
||||
* @author Sam Brannen
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public abstract class AbstractTagTests {
|
||||
|
||||
protected MockPageContext createPageContext() {
|
||||
|
||||
@@ -36,6 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* @author Juergen Hoeller
|
||||
* @author Alef Arendsen
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
class ThemeTagTests extends AbstractTagTests {
|
||||
|
||||
@Test
|
||||
|
||||
@@ -30,6 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* @author Juergen Hoeller
|
||||
* @since 19.06.2003
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class ThemeResolverTests {
|
||||
|
||||
private static final String TEST_THEME_NAME = "test.theme";
|
||||
|
||||
@@ -64,6 +64,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
* @author Sam Brannen
|
||||
* @since 18.06.2003
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class ViewResolverTests {
|
||||
|
||||
private final StaticWebApplicationContext wac = new StaticWebApplicationContext();
|
||||
|
||||
@@ -57,6 +57,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* @author Sam Brannen
|
||||
* @since 25.01.2005
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class FreeMarkerMacroTests {
|
||||
|
||||
private static final String TEMPLATE_FILE = "test.ftl";
|
||||
|
||||
Reference in New Issue
Block a user