1515 */
1616package org .springframework .modulith .events .jdbc ;
1717
18- import java .util .List ;
19-
2018import javax .sql .DataSource ;
2119
22- import org .springframework .boot .autoconfigure .condition .ConditionOutcome ;
23- import org .springframework .boot .autoconfigure .condition .SpringBootCondition ;
20+ import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
2421import org .springframework .boot .jdbc .DatabaseDriver ;
2522import org .springframework .context .annotation .Bean ;
26- import org .springframework .context .annotation .ConditionContext ;
27- import org .springframework .context .annotation .Conditional ;
2823import org .springframework .context .annotation .Configuration ;
29- import org .springframework .core .env .Environment ;
3024import org .springframework .core .io .ResourceLoader ;
31- import org .springframework .core .type .AnnotatedTypeMetadata ;
3225import org .springframework .jdbc .core .JdbcTemplate ;
3326import org .springframework .modulith .events .EventSerializer ;
3427import org .springframework .modulith .events .config .EventPublicationConfigurationExtension ;
@@ -54,39 +47,10 @@ JdbcEventPublicationRepository jdbcEventPublicationRepository(JdbcTemplate jdbcT
5447 }
5548
5649 @ Bean
57- @ Conditional ( SchemaInitializationEnabled . class )
50+ @ ConditionalOnProperty ( name = "spring.modulith.events.jdbc.schema-initialization.enabled" , havingValue = "true" )
5851 DatabaseSchemaInitializer databaseSchemaInitializer (JdbcTemplate jdbcTemplate , ResourceLoader resourceLoader ,
5952 DatabaseType databaseType ) {
6053
6154 return new DatabaseSchemaInitializer (jdbcTemplate , resourceLoader , databaseType );
6255 }
63-
64- /**
65- * Combined condition to support the legacy schema initialization property as well as the new one.
66- *
67- * @author Oliver Drotbohm
68- */
69- static class SchemaInitializationEnabled extends SpringBootCondition {
70-
71- private static final String LEGACY = "spring.modulith.events.jdbc-schema-initialization.enabled" ;
72- private static final String CURRENT = "spring.modulith.events.jdbc.schema-initialization.enabled" ;
73-
74- /*
75- * (non-Javadoc)
76- * @see org.springframework.boot.autoconfigure.condition.SpringBootCondition#getMatchOutcome(org.springframework.context.annotation.ConditionContext, org.springframework.core.type.AnnotatedTypeMetadata)
77- */
78- @ Override
79- public ConditionOutcome getMatchOutcome (ConditionContext context , AnnotatedTypeMetadata metadata ) {
80-
81- Environment environment = context .getEnvironment ();
82-
83- var enabled = List .of (CURRENT , LEGACY ).stream ()
84- .map (it -> environment .getProperty (it , Boolean .class ))
85- .anyMatch (Boolean .TRUE ::equals );
86-
87- return enabled //
88- ? ConditionOutcome .match ("Schema initialization explicitly enabled." ) //
89- : ConditionOutcome .noMatch ("Schema initialization disabled by default." );
90- }
91- }
9256}
0 commit comments