|
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