use of org.springframework.web.context.support.GenericWebApplicationContext in project spring-framework by spring-projects.
the class DelegatingWebMvcConfigurationTests method configurePathPatternParser.
@Test
public void configurePathPatternParser() {
PathPatternParser patternParser = new PathPatternParser();
PathMatcher pathMatcher = mock(PathMatcher.class);
UrlPathHelper pathHelper = mock(UrlPathHelper.class);
WebMvcConfigurer configurer = new WebMvcConfigurer() {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setPatternParser(patternParser).setUrlPathHelper(pathHelper).setPathMatcher(pathMatcher);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/");
}
};
MockServletContext servletContext = new MockServletContext();
webMvcConfig.setConfigurers(Collections.singletonList(configurer));
webMvcConfig.setServletContext(servletContext);
webMvcConfig.setApplicationContext(new GenericWebApplicationContext(servletContext));
BiConsumer<UrlPathHelper, PathMatcher> configAssertion = (helper, matcher) -> {
assertThat(helper).isNotSameAs(pathHelper);
assertThat(matcher).isNotSameAs(pathMatcher);
};
RequestMappingHandlerMapping annotationsMapping = webMvcConfig.requestMappingHandlerMapping(webMvcConfig.mvcContentNegotiationManager(), webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(annotationsMapping).isNotNull();
assertThat(annotationsMapping.getPatternParser()).isSameAs(patternParser).isSameAs(webMvcConfig.mvcPatternParser());
configAssertion.accept(annotationsMapping.getUrlPathHelper(), annotationsMapping.getPathMatcher());
SimpleUrlHandlerMapping mapping = (SimpleUrlHandlerMapping) webMvcConfig.viewControllerHandlerMapping(webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(mapping).isNotNull();
assertThat(mapping.getPatternParser()).isSameAs(patternParser);
configAssertion.accept(mapping.getUrlPathHelper(), mapping.getPathMatcher());
mapping = (SimpleUrlHandlerMapping) webMvcConfig.resourceHandlerMapping(webMvcConfig.mvcContentNegotiationManager(), webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(mapping).isNotNull();
assertThat(mapping.getPatternParser()).isSameAs(patternParser);
configAssertion.accept(mapping.getUrlPathHelper(), mapping.getPathMatcher());
BeanNameUrlHandlerMapping beanNameMapping = webMvcConfig.beanNameHandlerMapping(webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(beanNameMapping).isNotNull();
assertThat(beanNameMapping.getPatternParser()).isSameAs(patternParser);
configAssertion.accept(beanNameMapping.getUrlPathHelper(), beanNameMapping.getPathMatcher());
assertThat(webMvcConfig.mvcResourceUrlProvider().getUrlPathHelper()).isSameAs(pathHelper);
assertThat(webMvcConfig.mvcResourceUrlProvider().getPathMatcher()).isSameAs(pathMatcher);
}
use of org.springframework.web.context.support.GenericWebApplicationContext in project spring-framework by spring-projects.
the class DelegatingWebMvcConfigurationTests method configurePathMatcher.
@Test
@SuppressWarnings("deprecation")
public void configurePathMatcher() {
PathMatcher pathMatcher = mock(PathMatcher.class);
UrlPathHelper pathHelper = mock(UrlPathHelper.class);
WebMvcConfigurer configurer = new WebMvcConfigurer() {
@Override
@SuppressWarnings("deprecation")
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseRegisteredSuffixPatternMatch(true).setUseTrailingSlashMatch(false).setUrlPathHelper(pathHelper).setPathMatcher(pathMatcher);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/");
}
};
MockServletContext servletContext = new MockServletContext();
webMvcConfig.setConfigurers(Collections.singletonList(configurer));
webMvcConfig.setServletContext(servletContext);
webMvcConfig.setApplicationContext(new GenericWebApplicationContext(servletContext));
BiConsumer<UrlPathHelper, PathMatcher> configAssertion = (helper, matcher) -> {
assertThat(helper).isSameAs(pathHelper);
assertThat(matcher).isSameAs(pathMatcher);
};
RequestMappingHandlerMapping annotationsMapping = webMvcConfig.requestMappingHandlerMapping(webMvcConfig.mvcContentNegotiationManager(), webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(annotationsMapping).isNotNull();
assertThat(annotationsMapping.useRegisteredSuffixPatternMatch()).isTrue();
assertThat(annotationsMapping.useSuffixPatternMatch()).isTrue();
assertThat(annotationsMapping.useTrailingSlashMatch()).isFalse();
configAssertion.accept(annotationsMapping.getUrlPathHelper(), annotationsMapping.getPathMatcher());
SimpleUrlHandlerMapping mapping = (SimpleUrlHandlerMapping) webMvcConfig.viewControllerHandlerMapping(webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(mapping).isNotNull();
configAssertion.accept(mapping.getUrlPathHelper(), mapping.getPathMatcher());
mapping = (SimpleUrlHandlerMapping) webMvcConfig.resourceHandlerMapping(webMvcConfig.mvcContentNegotiationManager(), webMvcConfig.mvcConversionService(), webMvcConfig.mvcResourceUrlProvider());
assertThat(mapping).isNotNull();
configAssertion.accept(mapping.getUrlPathHelper(), mapping.getPathMatcher());
configAssertion.accept(webMvcConfig.mvcResourceUrlProvider().getUrlPathHelper(), webMvcConfig.mvcResourceUrlProvider().getPathMatcher());
configAssertion.accept(webMvcConfig.mvcUrlPathHelper(), webMvcConfig.mvcPathMatcher());
}
use of org.springframework.web.context.support.GenericWebApplicationContext in project spring-framework by spring-projects.
the class ResourceHandlerRegistryTests method setup.
@BeforeEach
public void setup() {
GenericWebApplicationContext appContext = new GenericWebApplicationContext();
appContext.refresh();
this.registry = new ResourceHandlerRegistry(appContext, new MockServletContext(), new ContentNegotiationManager(), new UrlPathHelper());
this.registration = this.registry.addResourceHandler("/resources/**");
this.registration.addResourceLocations("classpath:org/springframework/web/servlet/config/annotation/");
this.response = new MockHttpServletResponse();
}
Aggregations