From 2b7a1d09d88e65d0021bc2156d291892111aba3a Mon Sep 17 00:00:00 2001 From: Nicole Gomes Date: Thu, 24 Sep 2026 11:53:38 -0300 Subject: [PATCH 1/2] chore: upgrade spring to version 7.0.9 --- .../services/openapi/apiclient/ApiClient.java | 6 +++--- .../openapi/core/OpenApiResponse.java | 21 +++++++++++++------ pom.xml | 4 ++-- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java index fd0851050d..1f01f257e2 100644 --- a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java +++ b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java @@ -106,7 +106,7 @@ private String collectionToString( final Collection coll private Map authentications; private int statusCode; - private MultiValueMap responseHeaders; + private HttpHeaders responseHeaders; private DateFormat dateFormat; @@ -204,10 +204,10 @@ public int getStatusCode() /** * Gets the response headers of the previous request * - * @return MultiValueMap a map of response headers + * @return HttpHeaders a map of response headers */ @Nonnull - public MultiValueMap getResponseHeaders() + public HttpHeaders getResponseHeaders() { return responseHeaders; } diff --git a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java index d0e4da65f7..fff672c046 100644 --- a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java +++ b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java @@ -1,9 +1,11 @@ package com.sap.cloud.sdk.services.openapi.core; +import java.util.List; +import java.util.Map; + import javax.annotation.Nonnull; import org.springframework.http.HttpHeaders; -import org.springframework.util.MultiValueMap; import com.sap.cloud.sdk.services.openapi.apiclient.ApiClient; @@ -20,12 +22,8 @@ public class OpenApiResponse @Getter private final int statusCode; - /** - * Http headers of this response. - */ @Nonnull - @Getter - private final MultiValueMap headers; + private final HttpHeaders headers; /** * Create a new {@code OpenApiResponse} from an {@link ApiClient} @@ -50,4 +48,15 @@ public OpenApiResponse( final int statusCode ) this.statusCode = statusCode; headers = new HttpHeaders(); } + + /** + * Http headers of this response. + * + * @return Map of response headers + */ + @Nonnull + public Map> getHeaders() + { + return headers; + } } diff --git a/pom.xml b/pom.xml index 409c060c45..88a63fa402 100644 --- a/pom.xml +++ b/pom.xml @@ -98,8 +98,8 @@ - 6.2.19 - 6.1.5 + 7.0.9 + 7.0.1 2.0.19 3.27.7 0.5.1 From 1bfc1bcb88d8d4149052be0048a19a6452e3cd3f Mon Sep 17 00:00:00 2001 From: Nicole Gomes Date: Thu, 24 Sep 2026 13:34:13 -0300 Subject: [PATCH 2/2] fix failing ci --- datamodel/odata-v4/odata-v4-generator/pom.xml | 6 ++++++ datamodel/odata/odata-generator/pom.xml | 6 ++++++ datamodel/openapi/openapi-api-sample/pom.xml | 12 ++++++++++++ .../openapi/sample/api/OneOfDeserializationTest.java | 1 + datamodel/openapi/openapi-core/pom.xml | 12 ++++++++++++ .../sdk/services/openapi/apiclient/ApiClient.java | 7 ++++--- .../sdk/services/openapi/core/OpenApiResponse.java | 7 ++++++- 7 files changed, 47 insertions(+), 4 deletions(-) diff --git a/datamodel/odata-v4/odata-v4-generator/pom.xml b/datamodel/odata-v4/odata-v4-generator/pom.xml index 201c8ac4e5..907365492d 100644 --- a/datamodel/odata-v4/odata-v4-generator/pom.xml +++ b/datamodel/odata-v4/odata-v4-generator/pom.xml @@ -119,6 +119,12 @@ org.springframework spring-core + + + commons-logging + commons-logging + + com.sun.codemodel diff --git a/datamodel/odata/odata-generator/pom.xml b/datamodel/odata/odata-generator/pom.xml index 09bca7758d..313bfd93d4 100644 --- a/datamodel/odata/odata-generator/pom.xml +++ b/datamodel/odata/odata-generator/pom.xml @@ -120,6 +120,12 @@ org.springframework spring-core + + + commons-logging + commons-logging + + com.sun.codemodel diff --git a/datamodel/openapi/openapi-api-sample/pom.xml b/datamodel/openapi/openapi-api-sample/pom.xml index ff588120df..f05aaea984 100644 --- a/datamodel/openapi/openapi-api-sample/pom.xml +++ b/datamodel/openapi/openapi-api-sample/pom.xml @@ -54,10 +54,22 @@ org.springframework spring-core + + + commons-logging + commons-logging + + org.springframework spring-web + + + commons-logging + commons-logging + + diff --git a/datamodel/openapi/openapi-api-sample/src/test/java/com/sap/cloud/sdk/datamodel/openapi/sample/api/OneOfDeserializationTest.java b/datamodel/openapi/openapi-api-sample/src/test/java/com/sap/cloud/sdk/datamodel/openapi/sample/api/OneOfDeserializationTest.java index b705bee846..f496afe4b0 100644 --- a/datamodel/openapi/openapi-api-sample/src/test/java/com/sap/cloud/sdk/datamodel/openapi/sample/api/OneOfDeserializationTest.java +++ b/datamodel/openapi/openapi-api-sample/src/test/java/com/sap/cloud/sdk/datamodel/openapi/sample/api/OneOfDeserializationTest.java @@ -305,6 +305,7 @@ void testDeserializationWithEnumDiscriminator() * Taken from {@link com.sap.cloud.sdk.services.openapi.apiclient.ApiClient} */ @Nonnull + @SuppressWarnings( "removal" ) // Jackson2ObjectMapperBuilder deprecated-for-removal in Spring 7; requires Jackson 3 migration private static ObjectMapper newDefaultObjectMapper() { return new Jackson2ObjectMapperBuilder() diff --git a/datamodel/openapi/openapi-core/pom.xml b/datamodel/openapi/openapi-core/pom.xml index 703f0177cf..c4c689fad7 100644 --- a/datamodel/openapi/openapi-core/pom.xml +++ b/datamodel/openapi/openapi-core/pom.xml @@ -59,10 +59,22 @@ org.springframework spring-core + + + commons-logging + commons-logging + + org.springframework spring-web + + + commons-logging + commons-logging + + com.fasterxml.jackson.core diff --git a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java index 1f01f257e2..3fbb5378b5 100644 --- a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java +++ b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apiclient/ApiClient.java @@ -688,8 +688,7 @@ public T invokeAPI( // auth headers are added automatically by the SDK // updateParamsForAuth(authNames, queryParams, headerParams); - @SuppressWarnings( "deprecation" ) // spring-web:6.2.0 and later, works until <7.0.0 - final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(path); + final UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(basePath).path(path); if( queryParams != null ) { //encode the query parameters in case they contain unsafe characters for( final List values : queryParams.values() ) { @@ -748,7 +747,7 @@ public T invokeAPI( private void addHeadersToRequest( @Nullable final HttpHeaders headers, final BodyBuilder requestBuilder ) { if( headers != null ) { - for( final Entry> entry : headers.entrySet() ) { + for( final Entry> entry : headers.headerSet() ) { final List values = entry.getValue(); for( final String value : values ) { if( value != null ) { @@ -760,6 +759,7 @@ private void addHeadersToRequest( @Nullable final HttpHeaders headers, final Bod } @Nonnull + @SuppressWarnings( "removal" ) // MappingJackson2HttpMessageConverter and Jackson2ObjectMapperBuilder deprecated-for-removal in Spring 7; requires Jackson 3 migration private static RestTemplate newDefaultRestTemplate() { final RestTemplate restTemplate = new RestTemplate(); @@ -776,6 +776,7 @@ private static RestTemplate newDefaultRestTemplate() } @Nonnull + @SuppressWarnings( "removal" ) // Jackson2ObjectMapperBuilder deprecated-for-removal in Spring 7; requires Jackson 3 migration private static ObjectMapper newDefaultObjectMapper() { return new Jackson2ObjectMapperBuilder() diff --git a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java index fff672c046..821fa7dea5 100644 --- a/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java +++ b/datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/core/OpenApiResponse.java @@ -1,5 +1,6 @@ package com.sap.cloud.sdk.services.openapi.core; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -57,6 +58,10 @@ public OpenApiResponse( final int statusCode ) @Nonnull public Map> getHeaders() { - return headers; + final Map> result = new LinkedHashMap<>(); + for( final Map.Entry> entry : headers.headerSet() ) { + result.put(entry.getKey(), entry.getValue()); + } + return result; } }