Skip to content

Commit

Permalink
Migrate configuration to Spring 3
Browse files Browse the repository at this point in the history
  • Loading branch information
nk2IsHere committed Aug 7, 2023
1 parent f2f3e44 commit e3217cf
Show file tree
Hide file tree
Showing 134 changed files with 2,587 additions and 1,453 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;

import org.springframework.boot.ssl.SslBundles;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.support.GenericApplicationContext;

Expand All @@ -20,9 +21,34 @@ public CassandraInitializer(CassandraProperties properties) {

@Override
public void initialize(GenericApplicationContext context) {
CassandraAutoConfiguration configuration = new CassandraAutoConfiguration();
context.registerBean(CqlSession.class, () -> configuration.cassandraSession(context.getBean(CqlSessionBuilder.class)));
context.registerBean(CqlSessionBuilder.class, () -> configuration.cassandraSessionBuilder(properties, context.getBean(DriverConfigLoader.class), context.getBeanProvider(CqlSessionBuilderCustomizer.class)));
context.registerBean(DriverConfigLoader.class, () -> configuration.cassandraDriverConfigLoader(properties, context.getBeanProvider(DriverConfigLoaderBuilderCustomizer.class)));
CassandraAutoConfiguration configuration = new CassandraAutoConfiguration(properties);

context.registerBean(
CqlSession.class,
() -> configuration.cassandraSession(context.getBean(CqlSessionBuilder.class))
);

context.registerBean(
CassandraConnectionDetails.class,
configuration::cassandraConnectionDetails
);

context.registerBean(
CqlSessionBuilder.class,
() -> configuration.cassandraSessionBuilder(
context.getBean(DriverConfigLoader.class),
context.getBean(CassandraConnectionDetails.class),
context.getBeanProvider(CqlSessionBuilderCustomizer.class),
context.getBeanProvider(SslBundles.class)
)
);

context.registerBean(
DriverConfigLoader.class,
() -> configuration.cassandraDriverConfigLoader(
context.getBean(CassandraConnectionDetails.class),
context.getBeanProvider(DriverConfigLoaderBuilderCustomizer.class)
)
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,104 @@
*/
public class CassandraDataInitializer implements ApplicationContextInitializer<GenericApplicationContext> {

private final CassandraProperties properties;
private final CassandraProperties properties;

public CassandraDataInitializer(CassandraProperties properties) {
this.properties = properties;
}
public CassandraDataInitializer(CassandraProperties properties) {
this.properties = properties;
}

@Override
public void initialize(GenericApplicationContext context) {
Supplier<CassandraDataAutoConfiguration> configurationSupplier = () -> new CassandraDataAutoConfiguration(context.getBean(CqlSession.class));
@Override
public void initialize(GenericApplicationContext context) {
Supplier<CassandraDataAutoConfiguration> configurationSupplier = () -> new CassandraDataAutoConfiguration(
context.getBean(CqlSession.class)
);

context.registerBean(CassandraCustomConversions.class, () -> configurationSupplier.get().cassandraCustomConversions());
context.registerBean(CassandraMappingContext.class, () -> getCassandraMappingContext(context, configurationSupplier));
context.registerBean(CassandraConverter.class, () -> configurationSupplier.get().cassandraConverter(context.getBean(CassandraMappingContext.class), context.getBean(CassandraCustomConversions.class)));
context.registerBean(SessionFactoryFactoryBean.class, () -> getCassandraSessionFactoryBean(context, configurationSupplier));
context.registerBean(CassandraTemplate.class, () -> getCassandraTemplate(context, configurationSupplier));
}
context.registerBean(
CassandraCustomConversions.class,
() -> configurationSupplier
.get()
.cassandraCustomConversions()
);
context.registerBean(
CassandraMappingContext.class,
() -> getCassandraMappingContext(
context,
configurationSupplier
)
);
context.registerBean(
CassandraConverter.class,
() -> configurationSupplier
.get()
.cassandraConverter(
context.getBean(CassandraMappingContext.class),
context.getBean(CassandraCustomConversions.class)
)
);
context.registerBean(
SessionFactoryFactoryBean.class,
() -> getCassandraSessionFactoryBean(
context,
configurationSupplier
)
);
context.registerBean(
CassandraTemplate.class,
() -> getCassandraTemplate(
context,
configurationSupplier
)
);
}

private CassandraMappingContext getCassandraMappingContext(GenericApplicationContext context, Supplier<CassandraDataAutoConfiguration> configurationSupplier) {
try {
return configurationSupplier.get().cassandraMapping(context.getBeanFactory(), context.getBean(CassandraCustomConversions.class));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
private CassandraMappingContext getCassandraMappingContext(
GenericApplicationContext context,
Supplier<CassandraDataAutoConfiguration> configurationSupplier
) {
try {
return configurationSupplier
.get()
.cassandraMappingContext(
CassandraDataAutoConfiguration.cassandraManagedTypes(context.getBeanFactory()),
context.getBean(CassandraCustomConversions.class)
);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}

private CassandraTemplate getCassandraTemplate(GenericApplicationContext context, Supplier<CassandraDataAutoConfiguration> configurationSupplier) {
try {
return configurationSupplier.get().cassandraTemplate(context.getBean(SessionFactory.class), context.getBean(CassandraConverter.class));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private CassandraTemplate getCassandraTemplate(
GenericApplicationContext context,
Supplier<CassandraDataAutoConfiguration> configurationSupplier
) {
try {
return configurationSupplier
.get()
.cassandraTemplate(
context.getBean(SessionFactory.class),
context.getBean(CassandraConverter.class)
);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

private SessionFactoryFactoryBean getCassandraSessionFactoryBean(GenericApplicationContext context, Supplier<CassandraDataAutoConfiguration> configurationSupplier) {
try {
return configurationSupplier.get().cassandraSessionFactory(context.getEnvironment(), context.getBean(CassandraConverter.class));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private SessionFactoryFactoryBean getCassandraSessionFactoryBean(
GenericApplicationContext context,
Supplier<CassandraDataAutoConfiguration> configurationSupplier
) {
try {
return configurationSupplier
.get()
.cassandraSessionFactory(
context.getEnvironment(),
context.getBean(CassandraConverter.class)
);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,26 @@
*/
public class CassandraReactiveDataInitializer implements ApplicationContextInitializer<GenericApplicationContext> {

@Override
public void initialize(GenericApplicationContext context) {
CassandraReactiveDataAutoConfiguration configuration = new CassandraReactiveDataAutoConfiguration();
@Override
public void initialize(GenericApplicationContext context) {
CassandraReactiveDataAutoConfiguration configuration = new CassandraReactiveDataAutoConfiguration();

context.registerBean(ReactiveSession.class, () -> configuration.reactiveCassandraSession(context.getBean(CqlSession.class)));
context.registerBean(ReactiveSessionFactory.class, () -> configuration.reactiveCassandraSessionFactory(context.getBean(ReactiveSession.class)));
context.registerBean(ReactiveCassandraTemplate.class, () -> configuration.reactiveCassandraTemplate(context.getBean(ReactiveSession.class), context.getBean(CassandraConverter.class)));
}
context.registerBean(
ReactiveSession.class,
() -> configuration.reactiveCassandraSession(context.getBean(CqlSession.class))
);

context.registerBean(
ReactiveSessionFactory.class,
() -> configuration.reactiveCassandraSessionFactory(context.getBean(ReactiveSession.class))
);

context.registerBean(
ReactiveCassandraTemplate.class,
() -> configuration.reactiveCassandraTemplate(
context.getBean(ReactiveSession.class),
context.getBean(CassandraConverter.class)
)
);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,27 @@

public class MessageSourceInitializer implements ApplicationContextInitializer<GenericApplicationContext> {

private final MessageSourceProperties properties;
private final MessageSourceProperties properties;

public MessageSourceInitializer() {
this.properties = new MessageSourceProperties();
}
public MessageSourceInitializer() {
this.properties = new MessageSourceProperties();
}

public MessageSourceInitializer(MessageSourceProperties properties) {
this.properties = properties;
}
public MessageSourceInitializer(MessageSourceProperties properties) {
this.properties = properties;
}

@Override
public void initialize(GenericApplicationContext context) {
context.registerBean(AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME, MessageSource.class, () -> new MessageSourceAutoConfiguration().messageSource(this.properties));
context.registerBean(MessageSourceProperties.class, () -> this.properties);
}
@Override
public void initialize(GenericApplicationContext context) {
context.registerBean(
AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME,
MessageSource.class,
() -> new MessageSourceAutoConfiguration().messageSource(this.properties)
);

context.registerBean(
MessageSourceProperties.class,
() -> this.properties
);
}
}

This file was deleted.

Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Loading

0 comments on commit e3217cf

Please sign in to comment.