Skip to content

Commit a840fcc

Browse files
vaadin-bottepi
andauthored
feat: enable easier override for SpringServlet (#20276) (#20298)
Fixes #19994 Co-authored-by: Teppo Kurki <teppo.kurki@vaadin.com>
1 parent cc752d4 commit a840fcc

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

vaadin-spring/src/main/java/com/vaadin/flow/spring/SpringBootAutoConfiguration.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,21 @@ public ServletContextInitializer contextInitializer() {
8888
public ServletRegistrationBean<SpringServlet> servletRegistrationBean(
8989
ObjectProvider<MultipartConfigElement> multipartConfig,
9090
VaadinConfigurationProperties configurationProperties) {
91+
boolean rootMapping = RootMappedCondition
92+
.isRootMapping(configurationProperties.getUrlMapping());
93+
return configureServletRegistrationBean(multipartConfig,
94+
configurationProperties,
95+
new SpringServlet(context, rootMapping));
96+
}
97+
98+
public static ServletRegistrationBean<SpringServlet> configureServletRegistrationBean(
99+
ObjectProvider<MultipartConfigElement> multipartConfig,
100+
VaadinConfigurationProperties configurationProperties,
101+
SpringServlet servletInstance) {
102+
91103
String mapping = configurationProperties.getUrlMapping();
92-
Map<String, String> initParameters = new HashMap<>();
93104
boolean rootMapping = RootMappedCondition.isRootMapping(mapping);
94-
105+
Map<String, String> initParameters = new HashMap<>();
95106
if (rootMapping) {
96107
mapping = VaadinServletConfiguration.VAADIN_SERVLET_MAPPING;
97108
initParameters.put(
@@ -105,7 +116,7 @@ public ServletRegistrationBean<SpringServlet> servletRegistrationBean(
105116
initParameters.put(ApplicationConfig.JSR356_MAPPING_PATH, pushUrl);
106117

107118
ServletRegistrationBean<SpringServlet> registration = new ServletRegistrationBean<>(
108-
new SpringServlet(context, rootMapping), mapping);
119+
servletInstance, mapping);
109120
registration.setInitParameters(initParameters);
110121
registration
111122
.setAsyncSupported(configurationProperties.isAsyncSupported());

0 commit comments

Comments
 (0)