Skip to content

Commit f6dba1b

Browse files
ilayaperumalgmarkpollack
authored andcommitted
Refactor chat memory repository autoconfigurations and Spring Boot starters for clarity
- Rename chat memory repository autoconfiguration modules to include the "repository" suffix: - spring-ai-autoconfigure-model-chat-memory-cassandra -> spring-ai-autoconfigure-model-chat-memory-repository-cassandra - spring-ai-autoconfigure-model-chat-memory-jdbc -> spring-ai-autoconfigure-model-chat-memory-repository-jdbc - spring-ai-autoconfigure-model-chat-memory-neo4j -> spring-ai-autoconfigure-model-chat-memory-repository-neo4j - Update Spring Boot starter modules to match the new naming convention. - Rename packages to include `.repository.` for improved clarity and consistency. - Rename configuration and related classes to use the `ChatMemoryRepository` suffix. - Update Spring AI BOM and parent POM files to reference the new artifact names. - Update all imports, references, and configuration to use the new package and class names. BREAKING CHANGE: These changes require users to update their dependencies, imports, and configuration to use the new artifact, package, and class names. See the upgrade notes for migration instructions. Signed-off-by: Ilayaperumal Gopinathan <ilayaperumal.gopinathan@broadcom.com>
1 parent ca843e8 commit f6dba1b

File tree

30 files changed

+94
-104
lines changed

30 files changed

+94
-104
lines changed

auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/pom.xml renamed to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
<groupId>org.springframework.ai</groupId>
88
<artifactId>spring-ai-parent</artifactId>
99
<version>1.0.0-SNAPSHOT</version>
10-
<relativePath>../../../../../pom.xml</relativePath>
10+
<relativePath>../../../../../../pom.xml</relativePath>
1111
</parent>
12-
<artifactId>spring-ai-autoconfigure-model-chat-memory-cassandra</artifactId>
12+
<artifactId>spring-ai-autoconfigure-model-chat-memory-repository-cassandra</artifactId>
1313
<packaging>jar</packaging>
14-
<name>Spring AI Apache Cassandra Chat Memory Auto Configuration</name>
15-
<description>Spring AI Apache Cassandra Chat Memory Auto Configuration</description>
14+
<name>Spring AI Apache Cassandra Chat Memory Repository Auto Configuration</name>
15+
<description>Spring AI Apache Cassandra Chat Memory Repository Auto Configuration</description>
1616
<url>https://github.com/spring-projects/spring-ai</url>
1717

1818
<scm>
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,21 @@
2929
import org.springframework.context.annotation.Bean;
3030

3131
/**
32-
* {@link AutoConfiguration Auto-configuration} for {@link CassandraChatMemory}.
32+
* {@link AutoConfiguration Auto-configuration} for {@link CassandraChatMemoryRepository}.
3333
*
3434
* @author Mick Semb Wever
3535
* @author Jihoon Kim
3636
* @since 1.0.0
3737
*/
3838
@AutoConfiguration(after = CassandraAutoConfiguration.class, before = ChatMemoryAutoConfiguration.class)
3939
@ConditionalOnClass({ CassandraChatMemoryRepository.class, CqlSession.class })
40-
@EnableConfigurationProperties(CassandraChatMemoryProperties.class)
41-
public class CassandraChatMemoryAutoConfiguration {
40+
@EnableConfigurationProperties(CassandraChatMemoryRepositoryProperties.class)
41+
public class CassandraChatMemoryRepositoryAutoConfiguration {
4242

4343
@Bean
4444
@ConditionalOnMissingBean
45-
public CassandraChatMemoryRepository chatMemory(CassandraChatMemoryProperties properties, CqlSession cqlSession) {
45+
public CassandraChatMemoryRepository cassandraChatMemoryRepository(
46+
CassandraChatMemoryRepositoryProperties properties, CqlSession cqlSession) {
4647

4748
var builder = CassandraChatMemoryConfig.builder().withCqlSession(cqlSession);
4849

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
* @author Jihoon Kim
3333
* @since 1.0.0
3434
*/
35-
@ConfigurationProperties(CassandraChatMemoryProperties.CONFIG_PREFIX)
36-
public class CassandraChatMemoryProperties {
35+
@ConfigurationProperties(CassandraChatMemoryRepositoryProperties.CONFIG_PREFIX)
36+
public class CassandraChatMemoryRepositoryProperties {
3737

3838
public static final String CONFIG_PREFIX = "spring.ai.chat.memory.repository.cassandra";
3939

40-
private static final Logger logger = LoggerFactory.getLogger(CassandraChatMemoryProperties.class);
40+
private static final Logger logger = LoggerFactory.getLogger(CassandraChatMemoryRepositoryProperties.class);
4141

4242
private String keyspace = CassandraChatMemoryConfig.DEFAULT_KEYSPACE_NAME;
4343

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515
#
16-
org.springframework.ai.model.chat.memory.repository.cassandra.autoconfigure.CassandraChatMemoryAutoConfiguration
16+
org.springframework.ai.model.chat.memory.repository.cassandra.autoconfigure.CassandraChatMemoryRepositoryAutoConfiguration
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,16 @@
4242
* @since 1.0.0
4343
*/
4444
@Testcontainers
45-
class CassandraChatMemoryAutoConfigurationIT {
45+
class CassandraChatMemoryRepositoryAutoConfigurationIT {
4646

4747
static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("cassandra");
4848

4949
@Container
5050
static CassandraContainer cassandraContainer = new CassandraContainer(DEFAULT_IMAGE_NAME.withTag("5.0"));
5151

5252
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
53-
.withConfiguration(
54-
AutoConfigurations.of(CassandraChatMemoryAutoConfiguration.class, CassandraAutoConfiguration.class))
53+
.withConfiguration(AutoConfigurations.of(CassandraChatMemoryRepositoryAutoConfiguration.class,
54+
CassandraAutoConfiguration.class))
5555
.withPropertyValues("spring.ai.chat.memory.cassandra.keyspace=test_autoconfigure");
5656

5757
@Test
@@ -85,7 +85,8 @@ void addAndGet() {
8585
assertThat(memory.findByConversationId(sessionId).get(0).getMessageType()).isEqualTo(MessageType.USER);
8686
assertThat(memory.findByConversationId(sessionId).get(0).getText()).isEqualTo("test question");
8787

88-
CassandraChatMemoryProperties properties = context.getBean(CassandraChatMemoryProperties.class);
88+
CassandraChatMemoryRepositoryProperties properties = context
89+
.getBean(CassandraChatMemoryRepositoryProperties.class);
8990
assertThat(properties.getTimeToLive()).isEqualTo(getTimeToLive());
9091
});
9192
}
@@ -97,7 +98,8 @@ void compareTimeToLive_ISO8601Format() {
9798
.withPropertyValues("spring.cassandra.localDatacenter=" + cassandraContainer.getLocalDatacenter())
9899
.withPropertyValues("spring.ai.chat.memory.repository.cassandra.time-to-live=" + getTimeToLiveString())
99100
.run(context -> {
100-
CassandraChatMemoryProperties properties = context.getBean(CassandraChatMemoryProperties.class);
101+
CassandraChatMemoryRepositoryProperties properties = context
102+
.getBean(CassandraChatMemoryRepositoryProperties.class);
101103
assertThat(properties.getTimeToLive()).isEqualTo(Duration.parse(getTimeToLiveString()));
102104
});
103105
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@
2929
* @author Jihoon Kim
3030
* @since 1.0.0
3131
*/
32-
class CassandraChatMemoryPropertiesTest {
32+
class CassandraChatMemoryRepositoryPropertiesTest {
3333

3434
@Test
3535
void defaultValues() {
36-
var props = new CassandraChatMemoryProperties();
36+
var props = new CassandraChatMemoryRepositoryProperties();
3737
assertThat(props.getKeyspace()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_KEYSPACE_NAME);
3838
assertThat(props.getTable()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_TABLE_NAME);
3939
assertThat(props.getAssistantColumn()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_ASSISTANT_COLUMN_NAME);
@@ -44,7 +44,7 @@ void defaultValues() {
4444

4545
@Test
4646
void customValues() {
47-
var props = new CassandraChatMemoryProperties();
47+
var props = new CassandraChatMemoryRepositoryProperties();
4848
props.setKeyspace("my_keyspace");
4949
props.setTable("my_table");
5050
props.setAssistantColumn("my_assistant_column");

auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/pom.xml renamed to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
<groupId>org.springframework.ai</groupId>
88
<artifactId>spring-ai-parent</artifactId>
99
<version>1.0.0-SNAPSHOT</version>
10-
<relativePath>../../../../../pom.xml</relativePath>
10+
<relativePath>../../../../../../pom.xml</relativePath>
1111
</parent>
12-
<artifactId>spring-ai-autoconfigure-model-chat-memory-jdbc</artifactId>
12+
<artifactId>spring-ai-autoconfigure-model-chat-memory-repository-jdbc</artifactId>
1313
<packaging>jar</packaging>
14-
<name>Spring AI JDBC Chat Memory Auto Configuration</name>
15-
<description>Spring JDBC AI Chat Memory Auto Configuration</description>
14+
<name>Spring AI JDBC Chat Memory Repository Auto Configuration</name>
15+
<description>Spring JDBC AI Chat Memory Repository Auto Configuration</description>
1616
<url>https://github.com/spring-projects/spring-ai</url>
1717

1818
<scm>
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,9 @@
4242
@EnableConfigurationProperties(JdbcChatMemoryRepositoryProperties.class)
4343
public class JdbcChatMemoryRepositoryAutoConfiguration {
4444

45-
private static final Logger logger = LoggerFactory.getLogger(JdbcChatMemoryRepositoryAutoConfiguration.class);
46-
4745
@Bean
4846
@ConditionalOnMissingBean
49-
JdbcChatMemoryRepository chatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
47+
JdbcChatMemoryRepository jdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
5048
JdbcChatMemoryDialect dialect = JdbcChatMemoryDialect.from(dataSource);
5149
return JdbcChatMemoryRepository.builder().jdbcTemplate(jdbcTemplate).dialect(dialect).build();
5250
}

0 commit comments

Comments
 (0)