Remove deprecations in JdbcChatMemory · spring-projects/spring-ai@356a68f (original) (raw)
`@@ -21,24 +21,15 @@
`
21
21
`import org.slf4j.Logger;
`
22
22
`import org.slf4j.LoggerFactory;
`
23
23
``
24
``
`-
import org.springframework.ai.chat.memory.ChatMemory;
`
25
``
`-
import org.springframework.ai.chat.memory.MessageWindowChatMemory;
`
26
``
`-
import org.springframework.ai.chat.memory.jdbc.JdbcChatMemory;
`
27
``
`-
import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryConfig;
`
28
24
`import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryRepository;
`
29
25
`import org.springframework.ai.model.chat.memory.autoconfigure.ChatMemoryAutoConfiguration;
`
30
26
`import org.springframework.boot.autoconfigure.AutoConfiguration;
`
31
27
`import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
`
32
28
`import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
`
33
``
`-
import org.springframework.boot.autoconfigure.condition.ConditionMessage;
`
34
``
`-
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
`
35
``
`-
import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
`
``
29
`+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
`
36
30
`import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
`
37
31
`import org.springframework.boot.context.properties.EnableConfigurationProperties;
`
38
32
`import org.springframework.context.annotation.Bean;
`
39
``
`-
import org.springframework.context.annotation.ConditionContext;
`
40
``
`-
import org.springframework.context.annotation.Conditional;
`
41
``
`-
import org.springframework.core.type.AnnotatedTypeMetadata;
`
42
33
`import org.springframework.jdbc.core.JdbcTemplate;
`
43
34
``
44
35
`/**
`
`@@ -59,55 +50,13 @@ JdbcChatMemoryRepository chatMemoryRepository(JdbcTemplate jdbcTemplate) {
`
59
50
`return JdbcChatMemoryRepository.builder().jdbcTemplate(jdbcTemplate).build();
`
60
51
` }
`
61
52
``
62
``
`-
/**
`
63
``
`-
- @deprecated in favor of building a {@link MessageWindowChatMemory} (or other
`
64
``
`-
- {@link ChatMemory} implementations) with a {@link JdbcChatMemoryRepository}
`
65
``
`-
- instance.
`
66
``
`-
*/
`
67
53
`@Bean
`
68
54
`@ConditionalOnMissingBean
`
69
``
`-
@Deprecated
`
70
``
`-
JdbcChatMemory chatMemory(JdbcTemplate jdbcTemplate) {
`
71
``
`-
var config = JdbcChatMemoryConfig.builder().jdbcTemplate(jdbcTemplate).build();
`
72
``
`-
return JdbcChatMemory.create(config);
`
73
``
`-
}
`
74
``
-
75
``
`-
@Bean
`
76
``
`-
@ConditionalOnMissingBean
`
77
``
`-
@Conditional(OnSchemaInitializationEnabledCondition.class)
`
``
55
`+
@ConditionalOnProperty(prefix = JdbcChatMemoryProperties.CONFIG_PREFIX, name = "initialize-schema",
`
``
56
`+
havingValue = "true", matchIfMissing = true)
`
78
57
`JdbcChatMemoryDataSourceScriptDatabaseInitializer jdbcChatMemoryScriptDatabaseInitializer(DataSource dataSource) {
`
79
58
`logger.debug("Initializing schema for JdbcChatMemoryRepository");
`
80
59
`return new JdbcChatMemoryDataSourceScriptDatabaseInitializer(dataSource);
`
81
60
` }
`
82
61
``
83
``
`-
/**
`
84
``
`-
- Condition to check if the schema initialization is enabled, supporting both
`
85
``
`-
- deprecated and new property.
`
86
``
`-
`
87
``
`-
- @deprecated to be removed in 1.0.0-RC1.
`
88
``
`-
*/
`
89
``
`-
@Deprecated
`
90
``
`-
static class OnSchemaInitializationEnabledCondition extends SpringBootCondition {
`
91
``
-
92
``
`-
@Override
`
93
``
`-
public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
`
94
``
`-
Boolean initializeSchemaEnabled = context.getEnvironment()
`
95
``
`-
.getProperty("spring.ai.chat.memory.jdbc.initialize-schema", Boolean.class);
`
96
``
-
97
``
`-
if (initializeSchemaEnabled != null) {
`
98
``
`-
return new ConditionOutcome(initializeSchemaEnabled,
`
99
``
`-
ConditionMessage.forCondition("Enable JDBC Chat Memory Schema Initialization")
`
100
``
`-
.because("spring.ai.chat.memory.jdbc.initialize-schema is " + initializeSchemaEnabled));
`
101
``
`-
}
`
102
``
-
103
``
`-
initializeSchemaEnabled = context.getEnvironment()
`
104
``
`-
.getProperty(JdbcChatMemoryProperties.CONFIG_PREFIX + ".initialize-schema", Boolean.class, true);
`
105
``
-
106
``
`-
return new ConditionOutcome(initializeSchemaEnabled, ConditionMessage
`
107
``
`-
.forCondition("Enable JDBC Chat Memory Schema Initialization")
`
108
``
`-
.because(JdbcChatMemoryProperties.CONFIG_PREFIX + ".initialize-schema is " + initializeSchemaEnabled));
`
109
``
`-
}
`
110
``
-
111
``
`-
}
`
112
``
-
113
62
`}
`