Upgrade to Spring Data 2025.0.0-RC1.

Closes #912
This commit is contained in:
Mark Paluch
2025-04-25 12:10:15 +02:00
parent c26e0f02c7
commit 103ae90d0a
3 changed files with 16 additions and 12 deletions

View File

@@ -41,7 +41,7 @@
<netty.version>4.1.121.Final</netty.version>
<okhttp3.version>3.14.9</okhttp3.version>
<spring.version>6.2.6</spring.version>
<spring-data-bom.version>2023.1.2</spring-data-bom.version>
<spring-data-bom.version>2025.0.0-RC1</spring-data-bom.version>
<spring-security-bom.version>6.4.5</spring-security-bom.version>
<reactor.version>2024.0.5</reactor.version>

View File

@@ -15,6 +15,8 @@
*/
package org.springframework.vault.repository.mapping;
import org.springframework.data.expression.ValueExpression;
import org.springframework.data.expression.ValueExpressionParser;
import org.springframework.data.keyvalue.core.mapping.AnnotationBasedKeySpaceResolver;
import org.springframework.data.keyvalue.core.mapping.BasicKeyValuePersistentEntity;
import org.springframework.data.keyvalue.core.mapping.KeySpaceResolver;
@@ -24,6 +26,7 @@ import org.springframework.expression.ParserContext;
import org.springframework.expression.common.LiteralExpression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.lang.Nullable;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
/**
@@ -35,11 +38,11 @@ import org.springframework.util.StringUtils;
public class BasicVaultPersistentEntity<T> extends BasicKeyValuePersistentEntity<T, VaultPersistentProperty>
implements VaultPersistentEntity<T> {
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
private static final ValueExpressionParser PARSER = ValueExpressionParser.create();
private final String backend;
private final @Nullable Expression backendExpression;
private final @Nullable ValueExpression backendExpression;
/**
* Creates new {@link BasicVaultPersistentEntity}.
@@ -86,10 +89,9 @@ public class BasicVaultPersistentEntity<T> extends BasicKeyValuePersistentEntity
* @return
*/
@Nullable
private static Expression detectExpression(String potentialExpression) {
Expression expression = PARSER.parseExpression(potentialExpression, ParserContext.TEMPLATE_EXPRESSION);
return expression instanceof LiteralExpression ? null : expression;
private static ValueExpression detectExpression(String potentialExpression) {
ValueExpression expression = PARSER.parse(potentialExpression);
return expression.isLiteral() ? null : expression;
}
@Override
@@ -102,7 +104,8 @@ public class BasicVaultPersistentEntity<T> extends BasicKeyValuePersistentEntity
return this.backendExpression == null //
? this.backend //
: this.backendExpression.getValue(getEvaluationContext(null), String.class);
: ObjectUtils.nullSafeToString(this.backendExpression
.evaluate(getValueEvaluationContext(null, backendExpression.getExpressionDependencies())));
}
}

View File

@@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.repository.query.DefaultParameters;
import org.springframework.data.repository.query.ParametersParameterAccessor;
import org.springframework.data.repository.query.ParametersSource;
import org.springframework.data.repository.query.parser.PartTree;
import org.springframework.util.ReflectionUtils;
import org.springframework.vault.repository.mapping.VaultMappingContext;
@@ -191,7 +192,7 @@ class VaultQueryCreatorUnitTests {
VaultQuery createQuery(String methodName, String value) {
DefaultParameters defaultParameters = new DefaultParameters(
ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", String.class));
ParametersSource.of(ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", String.class)));
PartTree partTree = new PartTree(methodName, Credentials.class);
VaultQueryCreator queryCreator = new VaultQueryCreator(partTree,
@@ -203,7 +204,7 @@ class VaultQueryCreatorUnitTests {
VaultQuery createQuery(String methodName, List<String> value) {
DefaultParameters defaultParameters = new DefaultParameters(
ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", List.class));
ParametersSource.of(ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", List.class)));
PartTree partTree = new PartTree(methodName, Credentials.class);
VaultQueryCreator queryCreator = new VaultQueryCreator(partTree,
@@ -214,8 +215,8 @@ class VaultQueryCreatorUnitTests {
VaultQuery createQuery(String methodName, String value, String anotherValue) {
DefaultParameters defaultParameters = new DefaultParameters(
ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", String.class, String.class));
DefaultParameters defaultParameters = new DefaultParameters(ParametersSource
.of(ReflectionUtils.findMethod(dummy.class, "someUnrelatedMethod", String.class, String.class)));
PartTree partTree = new PartTree(methodName, Credentials.class);
VaultQueryCreator queryCreator = new VaultQueryCreator(partTree,