|
26 | 26 | import org.springframework.core.env.ConfigurableEnvironment; |
27 | 27 | import org.springframework.core.env.StandardEnvironment; |
28 | 28 | import org.springframework.core.io.ResourceLoader; |
| 29 | +import org.springframework.util.Assert; |
29 | 30 |
|
30 | 31 | /** |
31 | 32 | * Prepare an application context for AOT processing. |
@@ -75,25 +76,17 @@ private GenericApplicationContext createApplicationContext(SpringApplication app |
75 | 76 | } |
76 | 77 |
|
77 | 78 | private static ConfigurableEnvironment getOrCreateEnvironment(WebApplicationType webApplicationType) { |
78 | | - switch (webApplicationType) { |
79 | | - case SERVLET: |
80 | | - return new ApplicationServletEnvironment(); |
81 | | - case REACTIVE: |
82 | | - return new ApplicationReactiveWebEnvironment(); |
83 | | - default: |
84 | | - return new ApplicationEnvironment(); |
85 | | - } |
| 79 | + ConfigurableEnvironment environment = ApplicationContextFactory.DEFAULT.createEnvironment(webApplicationType); |
| 80 | + return (environment != null) ? environment : new ApplicationEnvironment(); |
86 | 81 | } |
87 | 82 |
|
88 | 83 | private static Class<? extends StandardEnvironment> deduceEnvironmentClass(WebApplicationType webApplicationType) { |
89 | | - switch (webApplicationType) { |
90 | | - case SERVLET: |
91 | | - return ApplicationServletEnvironment.class; |
92 | | - case REACTIVE: |
93 | | - return ApplicationReactiveWebEnvironment.class; |
94 | | - default: |
95 | | - return ApplicationEnvironment.class; |
| 84 | + Class<? extends ConfigurableEnvironment> environmentType = ApplicationContextFactory.DEFAULT.getEnvironmentType(webApplicationType); |
| 85 | + if (environmentType == null) { |
| 86 | + return ApplicationEnvironment.class; |
96 | 87 | } |
| 88 | + Assert.isAssignable(StandardEnvironment.class, environmentType); |
| 89 | + return (Class<? extends StandardEnvironment>) environmentType; |
97 | 90 | } |
98 | 91 |
|
99 | 92 | private void bindToSpringApplication(ConfigurableEnvironment environment, SpringApplication application) { |
|
0 commit comments