Skip to content

Commit fa0672f

Browse files
committed
Upgrade to Spring Data 2025.1.0-M3.
Closes gh-921
1 parent 709139f commit fa0672f

File tree

7 files changed

+24
-15
lines changed

7 files changed

+24
-15
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<nullaway.version>0.12.3</nullaway.version>
4949
<okhttp3.version>3.14.9</okhttp3.version>
5050
<spring.version>7.0.0-M5</spring.version>
51-
<spring-data-bom.version>2025.1.0-M1</spring-data-bom.version>
51+
<spring-data-bom.version>2025.1.0-M3</spring-data-bom.version>
5252
<spring-security-bom.version>6.2.0</spring-security-bom.version>
5353
<reactor.version>2025.0.0-M4</reactor.version>
5454

spring-vault-core/src/main/java/org/springframework/vault/repository/core/VaultKeyValueAdapter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public <T> T deleteEntity(T entity, String keyspace) {
151151
}
152152

153153
@Override
154-
public Iterable<?> getAllOf(String keyspace) {
154+
public Iterable<Object> getAllOf(String keyspace) {
155155

156156
List<String> list = doList(keyspace);
157157
List<Object> items = new ArrayList<>(list.size());
@@ -173,7 +173,7 @@ public CloseableIterator<Entry<Object, Object>> entries(String keyspace) {
173173
List<String> list = doList(keyspace);
174174
Iterator<String> iterator = list.iterator();
175175

176-
return new CloseableIterator<Entry<Object, Object>>() {
176+
return new CloseableIterator<>() {
177177
@Override
178178
public void close() {
179179

@@ -189,7 +189,7 @@ public Entry<Object, Object> next() {
189189

190190
final String key = iterator.next();
191191

192-
return new Entry<Object, Object>() {
192+
return new Entry<>() {
193193
@Override
194194
public Object getKey() {
195195
return key;

spring-vault-core/src/main/java/org/springframework/vault/repository/core/VaultKeyValueTemplate.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616
package org.springframework.vault.repository.core;
1717

1818
import java.util.Collections;
19+
import java.util.Objects;
1920
import java.util.Set;
2021

2122
import org.jspecify.annotations.Nullable;
2223

2324
import org.springframework.context.ApplicationEventPublisher;
2425
import org.springframework.dao.DuplicateKeyException;
2526
import org.springframework.data.keyvalue.core.KeyValueAdapter;
27+
import org.springframework.data.keyvalue.core.KeyValueCallback;
2628
import org.springframework.data.keyvalue.core.KeyValueTemplate;
2729
import org.springframework.data.keyvalue.core.event.KeyValueEvent;
2830
import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentEntity;
@@ -98,7 +100,7 @@ public <T> T insert(Object id, T objectToInsert) {
98100

99101
potentiallyPublishEvent(KeyValueEvent.beforeInsert(id, keyspace, objectToInsert.getClass(), objectToInsert));
100102

101-
T saved = execute(adapter -> {
103+
T saved = executeRequired(adapter -> {
102104

103105
if (adapter.contains(id, keyspace)) {
104106
throw new DuplicateKeyException(
@@ -124,7 +126,7 @@ public <T> T update(Object id, T objectToUpdate) {
124126

125127
potentiallyPublishEvent(KeyValueEvent.beforeUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate));
126128

127-
T updated = execute(adapter -> (T) adapter.put(id, objectToUpdate, keyspace));
129+
T updated = executeRequired(adapter -> (T) adapter.put(id, objectToUpdate, keyspace));
128130

129131
potentiallyPublishEvent(
130132
KeyValueEvent.afterUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate, updated));
@@ -134,18 +136,18 @@ public <T> T update(Object id, T objectToUpdate) {
134136

135137
@Override
136138
@SuppressWarnings("unchecked")
137-
public <T> T delete(T objectToDelete) {
139+
public <T> @Nullable T delete(T objectToDelete) {
138140

139141
Class<T> type = (Class<T>) ClassUtils.getUserClass(objectToDelete);
140142
KeyValuePersistentEntity<?, ?> entity = getEntity(type);
141143

142-
Object id = entity.getIdentifierAccessor(objectToDelete).getIdentifier();
144+
Object id = Objects.requireNonNull(entity.getIdentifierAccessor(objectToDelete).getIdentifier());
143145

144146
String keyspace = resolveKeySpace(type);
145147

146148
potentiallyPublishEvent(KeyValueEvent.beforeDelete(id, keyspace, type));
147149

148-
T result = execute(adapter -> ((VaultKeyValueAdapter) adapter).deleteEntity(objectToDelete, keyspace));
150+
T result = executeRequired(adapter -> ((VaultKeyValueAdapter) adapter).deleteEntity(objectToDelete, keyspace));
149151

150152
potentiallyPublishEvent(KeyValueEvent.afterDelete(id, keyspace, type, result));
151153

@@ -160,7 +162,7 @@ public void destroy() throws Exception {
160162
private String resolveKeySpace(Class<?> type) {
161163

162164
KeyValuePersistentEntity<?, ?> entity = getEntity(type);
163-
return entity.getKeySpace();
165+
return Objects.requireNonNull(entity.getKeySpace());
164166
}
165167

166168
@SuppressWarnings("rawtypes")
@@ -181,11 +183,11 @@ private void potentiallyPublishEvent(KeyValueEvent event) {
181183
}
182184

183185
public VaultConverter getConverter() {
184-
return execute(adapter -> ((VaultKeyValueAdapter) adapter).getConverter());
186+
return executeRequired(adapter -> ((VaultKeyValueAdapter) adapter).getConverter());
185187
}
186188

187189
public VaultOperations getVaultOperations() {
188-
return execute(adapter -> ((VaultKeyValueAdapter) adapter).getVaultOperations());
190+
return executeRequired(adapter -> ((VaultKeyValueAdapter) adapter).getVaultOperations());
189191
}
190192

191193
}

spring-vault-core/src/main/java/org/springframework/vault/repository/core/VaultQueryEngine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ enum VaultCriteriaAccessor implements CriteriaAccessor<VaultQuery> {
121121
INSTANCE;
122122

123123
@Override
124-
public VaultQuery resolve(KeyValueQuery<?> query) {
124+
public @Nullable VaultQuery resolve(KeyValueQuery<?> query) {
125125
return (VaultQuery) query.getCriteria();
126126
}
127127

spring-vault-core/src/main/java/org/springframework/vault/repository/query/VaultQueryCreator.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import java.util.function.Predicate;
2323
import java.util.regex.Pattern;
2424

25+
import org.jspecify.annotations.Nullable;
26+
2527
import org.springframework.dao.InvalidDataAccessApiUsageException;
2628
import org.springframework.data.domain.Sort;
2729
import org.springframework.data.keyvalue.core.query.KeyValueQuery;
@@ -152,7 +154,7 @@ protected VaultQuery or(VaultQuery vaultQuery, VaultQuery other) {
152154
}
153155

154156
@Override
155-
protected KeyValueQuery<VaultQuery> complete(VaultQuery vaultQuery, Sort sort) {
157+
protected KeyValueQuery<VaultQuery> complete(@Nullable VaultQuery vaultQuery, Sort sort) {
156158

157159
KeyValueQuery<VaultQuery> query = new KeyValueQuery<>(vaultQuery);
158160

spring-vault-core/src/main/java/org/springframework/vault/repository/support/VaultRepositoryFactory.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package org.springframework.vault.repository.support;
1717

18+
import java.util.Objects;
19+
1820
import org.springframework.data.keyvalue.core.KeyValueOperations;
1921
import org.springframework.data.keyvalue.repository.query.KeyValuePartTreeQuery;
2022
import org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactory;
@@ -72,7 +74,7 @@ protected RepositoryComposition.RepositoryFragments getRepositoryFragments(Repos
7274
.getRequiredPersistentEntity(metadata.getDomainType());
7375
EntityInformation<?, String> entityInformation = getEntityInformation(metadata.getDomainType());
7476
VaultRevisionRepository<?> repository = new VaultRevisionRepository<>(entityInformation,
75-
entity.getKeySpace(), template);
77+
Objects.requireNonNull(entity.getKeySpace()), template);
7678

7779
return fragments.append(RepositoryFragment.implemented(repository));
7880
}

spring-vault-core/src/main/java/org/springframework/vault/repository/support/VaultRevisionRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public Revisions<Integer, T> findRevisions(String id) {
107107
return Revisions.of(collectRevisions(id, metadata.getVersions()));
108108
}
109109

110+
@SuppressWarnings("NullAway")
110111
private List<Revision<Integer, T>> collectRevisions(String id, List<Versioned.Metadata> versions) {
111112

112113
List<Revision<Integer, T>> revisions = new ArrayList<>();
@@ -121,6 +122,7 @@ private List<Revision<Integer, T>> collectRevisions(String id, List<Versioned.Me
121122

122123
T entity = versioned.hasData() ? converter.read(this.metadata.getJavaType(), createDocument(id, versioned))
123124
: null;
125+
124126
revisions.add(Revision.of(new VaultRevisionMetadata(versioned), entity));
125127
}
126128
return revisions;
@@ -157,6 +159,7 @@ public Optional<Revision<Integer, T>> findRevision(String id, Integer revisionNu
157159
return toRevision(operations.get(getPath(id), Versioned.Version.from(revisionNumber)), id);
158160
}
159161

162+
@SuppressWarnings("NullAway")
160163
private Optional<Revision<Integer, T>> toRevision(@Nullable Versioned<Map<String, Object>> versioned, String id) {
161164

162165
if (versioned == null) {

0 commit comments

Comments
 (0)