1717
1818import java .lang .annotation .Annotation ;
1919
20- import org .springframework .beans .factory .ListableBeanFactory ;
2120import org .springframework .beans .factory .config .BeanDefinition ;
2221import org .springframework .beans .factory .support .BeanDefinitionBuilder ;
23- import org .springframework .beans .factory .support .BeanDefinitionReaderUtils ;
2422import org .springframework .beans .factory .support .BeanDefinitionRegistry ;
2523import org .springframework .context .annotation .ImportBeanDefinitionRegistrar ;
2624import org .springframework .data .auditing .IsNewAwareAuditingHandler ;
2725import org .springframework .data .auditing .config .AuditingBeanDefinitionRegistrarSupport ;
2826import org .springframework .data .auditing .config .AuditingConfiguration ;
2927import org .springframework .data .cassandra .core .mapping .event .AuditingEntityCallback ;
3028import org .springframework .data .config .ParsingUtils ;
31- import org .springframework .data .mapping .context .PersistentEntities ;
32- import org .springframework .lang .Nullable ;
3329import org .springframework .util .Assert ;
3430
3531/**
3632 * {@link ImportBeanDefinitionRegistrar} to enable {@link EnableCassandraAuditing} annotation.
3733 *
3834 * @author Mark Paluch
35+ * @author Christoph Strobl
3936 * @since 2.2
4037 */
4138class CassandraAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
@@ -54,7 +51,7 @@ protected String getAuditingHandlerBeanName() {
5451 protected void postProcess (BeanDefinitionBuilder builder , AuditingConfiguration configuration ,
5552 BeanDefinitionRegistry registry ) {
5653
57- potentiallyRegisterCassandraPersistentEntities ( builder , registry );
54+ builder . setFactoryMethod ( "from" ). addConstructorArgReference ( "cassandraMappingContext" );
5855 }
5956
6057 @ Override
@@ -81,39 +78,4 @@ protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandle
8178 registerInfrastructureBeanWithId (listenerBeanDefinitionBuilder .getBeanDefinition (),
8279 AuditingEntityCallback .class .getName (), registry );
8380 }
84-
85- static void potentiallyRegisterCassandraPersistentEntities (BeanDefinitionBuilder builder ,
86- BeanDefinitionRegistry registry ) {
87-
88- String persistentEntitiesBeanName = detectPersistentEntitiesBeanName (registry );
89-
90- if (persistentEntitiesBeanName == null ) {
91-
92- persistentEntitiesBeanName = BeanDefinitionReaderUtils .uniqueBeanName ("cassandraPersistentEntities" , registry );
93-
94- // TODO: https://github.com/spring-projects/spring-framework/issues/28728
95- BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition (PersistentEntities .class ) //
96- .setFactoryMethod ("of" ) //
97- .addConstructorArgReference ("cassandraMappingContext" );
98-
99- registry .registerBeanDefinition (persistentEntitiesBeanName , definition .getBeanDefinition ());
100- }
101-
102- builder .addConstructorArgReference (persistentEntitiesBeanName );
103- }
104-
105- @ Nullable
106- private static String detectPersistentEntitiesBeanName (BeanDefinitionRegistry registry ) {
107-
108- if (registry instanceof ListableBeanFactory beanFactory ) {
109- for (String bn : beanFactory .getBeanNamesForType (PersistentEntities .class )) {
110- if (bn .startsWith ("cassandra" )) {
111- return bn ;
112- }
113- }
114- }
115-
116- return null ;
117- }
118-
11981}
0 commit comments