Upgrade to Spring Framework 7.

Adopt to HttpHeaders, upgrade to Spring Data 2025.1.

Closes #898
This commit is contained in:
Mark Paluch
2025-02-18 14:31:50 +01:00
parent b220444679
commit 4d8232c0ee
11 changed files with 18 additions and 23 deletions

View File

@@ -40,10 +40,10 @@
<mockito-core.version>5.17.0</mockito-core.version>
<netty.version>4.1.121.Final</netty.version>
<okhttp3.version>3.14.9</okhttp3.version>
<spring.version>6.2.7</spring.version>
<spring-data-bom.version>2025.0.0</spring-data-bom.version>
<spring-security-bom.version>6.4.5</spring-security-bom.version>
<reactor.version>2024.0.6</reactor.version>
<spring.version>7.0.0-M2</spring.version>
<spring-data-bom.version>2025.1.0-M1</spring-data-bom.version>
<spring-security-bom.version>6.2.0</spring-security-bom.version>
<reactor.version>2024.0.2</reactor.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>17</java.version>

View File

@@ -170,7 +170,7 @@ public class AuthenticationStepsOperator implements VaultTokenSupplier {
spec = this.webClient.method(definition.getMethod()).uri(definition.getUri());
}
for (Entry<String, List<String>> header : entity.getHeaders().entrySet()) {
for (Entry<String, List<String>> header : entity.getHeaders().headerSet()) {
spec = spec.header(header.getKey(), header.getValue().get(0));
}

View File

@@ -81,7 +81,7 @@ import org.springframework.vault.support.SslConfiguration.KeyStoreConfiguration;
/**
* Factory for {@link ClientHttpRequestFactory} that supports Apache HTTP Components,
* Netty and the JDK HTTP client (in that order). This factory configures a
* Netty and the JDK HTTP client (in that order). This factory configures a
* {@link ClientHttpRequestFactory} depending on the available dependencies.
*
* @author Mark Paluch

View File

@@ -182,7 +182,7 @@ public class ReactiveVaultClients {
return ClientRequest.from(request).headers(headers -> {
if (!headers.containsKey(VaultHttpHeaders.VAULT_NAMESPACE)) {
if (!headers.containsHeader(VaultHttpHeaders.VAULT_NAMESPACE)) {
headers.add(VaultHttpHeaders.VAULT_NAMESPACE, namespace);
}
}).build();

View File

@@ -231,7 +231,7 @@ public class RestTemplateBuilder {
HttpHeaders headers = httpRequest.getHeaders();
defaultHeaders.forEach((key, value) -> {
if (!headers.containsKey(key)) {
if (!headers.containsHeader(key)) {
headers.add(key, value);
}
});

View File

@@ -136,7 +136,7 @@ public class VaultClients {
HttpHeaders headers = request.getHeaders();
if (!headers.containsKey(VaultHttpHeaders.VAULT_NAMESPACE)) {
if (!headers.containsHeader(VaultHttpHeaders.VAULT_NAMESPACE)) {
headers.add(VaultHttpHeaders.VAULT_NAMESPACE, namespace);
}

View File

@@ -196,7 +196,7 @@ public class WebClientBuilder {
return next
.exchange(ClientRequest.from(request).headers(headers -> defaultHeaders.forEach((key, value) -> {
if (!headers.containsKey(key)) {
if (!headers.containsHeader(key)) {
headers.add(key, value);
}
})).build());

View File

@@ -21,7 +21,7 @@ import org.springframework.data.keyvalue.repository.query.KeyValuePartTreeQuery;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.repository.query.ParameterAccessor;
import org.springframework.data.repository.query.QueryMethod;
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
import org.springframework.data.repository.query.ValueExpressionDelegate;
import org.springframework.data.repository.query.parser.AbstractQueryCreator;
import org.springframework.data.repository.query.parser.PartTree;
import org.springframework.data.spel.EvaluationContextProvider;
@@ -41,15 +41,15 @@ public class VaultPartTreeQuery extends KeyValuePartTreeQuery {
* {@link EvaluationContextProvider}, {@link KeyValueOperations} and query creator
* type.
* @param queryMethod must not be {@literal null}.
* @param evaluationContextProvider must not be {@literal null}.
* @param valueExpressionDelegate must not be {@literal null}.
* @param keyValueOperations must not be {@literal null}.
* @param queryCreator must not be {@literal null}.
*/
@SuppressWarnings({ "unchecked", "RedundantCast", "rawtypes" })
public VaultPartTreeQuery(QueryMethod queryMethod, QueryMethodEvaluationContextProvider evaluationContextProvider,
public VaultPartTreeQuery(QueryMethod queryMethod, ValueExpressionDelegate valueExpressionDelegate,
KeyValueOperations keyValueOperations, Class<? extends AbstractQueryCreator<?, ?>> queryCreator) {
super(queryMethod, evaluationContextProvider, keyValueOperations,
super(queryMethod, valueExpressionDelegate, keyValueOperations,
(QueryCreatorFactory) new VaultQueryCreatorFactory(
(MappingContext) keyValueOperations.getMappingContext()));
}

View File

@@ -15,8 +15,6 @@
*/
package org.springframework.vault.client;
import java.util.Collections;
import org.junit.jupiter.api.Test;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -58,8 +56,7 @@ class ReactiveVaultClientsUnitTests {
.as(StepVerifier::create) //
.verifyComplete();
assertThat(request.getHeaders()).containsEntry(VaultHttpHeaders.VAULT_NAMESPACE,
Collections.singletonList("foo/bar"));
assertThat(request.getHeaders().containsHeaderValue(VaultHttpHeaders.VAULT_NAMESPACE, "foo/bar")).isTrue();
}
@Test
@@ -83,8 +80,7 @@ class ReactiveVaultClientsUnitTests {
.as(StepVerifier::create) //
.verifyComplete();
assertThat(request.getHeaders()).containsEntry(VaultHttpHeaders.VAULT_NAMESPACE,
Collections.singletonList("baz"));
assertThat(request.getHeaders().containsHeaderValue(VaultHttpHeaders.VAULT_NAMESPACE, "baz")).isTrue();
}
}

View File

@@ -17,7 +17,6 @@ package org.springframework.vault.client;
import java.io.IOException;
import java.net.URI;
import java.util.Collections;
import org.junit.jupiter.api.Test;
@@ -74,7 +73,7 @@ class RestTemplateBuilderUnitTests {
ClientHttpRequest request = restTemplate.getRequestFactory().createRequest(URI.create("/"), HttpMethod.GET);
assertThat(request.getHeaders()).containsEntry("header", Collections.singletonList("value"));
assertThat(request.getHeaders().get("header")).containsOnly("value");
}
}

View File

@@ -226,7 +226,7 @@ class VaultQueryCreatorUnitTests {
return queryCreator.createQuery().getCriteria();
}
private static interface dummy {
private interface dummy {
Object someUnrelatedMethod(String arg);