Skip to content

Commit 663d179

Browse files
committed
Fix #34717: upgrade Spring, dependencies and JDK
1 parent 608d55e commit 663d179

55 files changed

Lines changed: 326 additions & 310 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

kubernetesPod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
spec:
88
containers:
99
- name: containerproxy-build
10-
image: public.ecr.aws/docker/library/maven:3-eclipse-temurin-17-focal
10+
image: public.ecr.aws/docker/library/maven:3-eclipse-temurin-21-jammy
1111
command:
1212
- cat
1313
tty: true

pom.xml

Lines changed: 64 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,37 @@
1313
<parent>
1414
<groupId>org.springframework.boot</groupId>
1515
<artifactId>spring-boot-starter-parent</artifactId>
16-
<version>3.2.6</version>
16+
<version>3.4.4</version>
1717
<relativePath/>
1818
</parent>
1919

2020
<properties>
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22-
<java.version>17</java.version>
23-
<maven.compiler.source>17</maven.compiler.source>
24-
<maven.compiler.target>17</maven.compiler.target>
25-
<spring-boot.version>3.2.6</spring-boot.version>
26-
<aws.java.sdk.version>2.23.12</aws.java.sdk.version>
27-
<maven.license.plugin.version>4.6</maven.license.plugin.version>
22+
<java.version>21</java.version>
23+
<maven.compiler.source>21</maven.compiler.source>
24+
<maven.compiler.target>21</maven.compiler.target>
25+
<!-- Dependency versions -->
26+
<spring-boot.version>3.4.4</spring-boot.version>
27+
<aws-java-sdk.version>2.31.21</aws-java-sdk.version>
28+
<commons-collections4.version>4.4</commons-collections4.version>
29+
<commons-io.version>2.19.0</commons-io.version>
30+
<springdoc.version>2.8.6</springdoc.version>
31+
<logstash-logback-encoder.version>8.1</logstash-logback-encoder.version>
32+
<jaxb-api.version>2.3.1</jaxb-api.version>
33+
<docker-client.version>7.0.8-OA-3</docker-client.version>
34+
<javax-annotation-api.version>1.3.2</javax-annotation-api.version>
35+
<monetdb-jdbc.version>12.0</monetdb-jdbc.version>
36+
<postgresql.version>42.7.5</postgresql.version>
37+
<fabric8-client.version>7.1.0</fabric8-client.version>
38+
<bootstrap.version>3.4.1</bootstrap.version>
39+
<jquery.version>3.7.1</jquery.version>
40+
<fontawesome.version>4.7.0</fontawesome.version>
41+
<javax-json.version>1.1.4</javax-json.version>
42+
<!-- Plugin versions -->
43+
<maven.license-plugin.version>4.6</maven.license-plugin.version>
2844
<maven.build-helper-maven.plugin.version>3.6.0</maven.build-helper-maven.plugin.version>
45+
<maven.jar-plugin.version>3.4.2</maven.jar-plugin.version>
46+
<maven.dependency-check-plugin.version>12.1.1</maven.dependency-check-plugin.version>
2947
</properties>
3048

3149
<distributionManagement>
@@ -180,27 +198,27 @@
180198
<dependency>
181199
<groupId>org.apache.commons</groupId>
182200
<artifactId>commons-collections4</artifactId>
183-
<version>4.4</version>
201+
<version>${commons-collections4.version}</version>
184202
</dependency>
185203
<dependency>
186204
<groupId>commons-io</groupId>
187205
<artifactId>commons-io</artifactId>
188-
<version>2.16.1</version>
206+
<version>${commons-io.version}</version>
189207
</dependency>
190208
<dependency>
191209
<groupId>org.springdoc</groupId>
192210
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
193-
<version>2.5.0</version>
211+
<version>${springdoc.version}</version>
194212
</dependency>
195213
<dependency>
196214
<groupId>org.springdoc</groupId>
197215
<artifactId>springdoc-openapi-starter-common</artifactId>
198-
<version>2.5.0</version>
216+
<version>${springdoc.version}</version>
199217
</dependency>
200218
<dependency>
201219
<groupId>net.logstash.logback</groupId>
202220
<artifactId>logstash-logback-encoder</artifactId>
203-
<version>7.4</version>
221+
<version>${logstash-logback-encoder.version}</version>
204222
</dependency>
205223
<dependency>
206224
<groupId>org.glassfish.jaxb</groupId>
@@ -209,7 +227,7 @@
209227
<dependency>
210228
<groupId>javax.xml.bind</groupId>
211229
<artifactId>jaxb-api</artifactId>
212-
<version>2.3.1</version>
230+
<version>${jaxb-api.version}</version>
213231
</dependency>
214232
<dependency>
215233
<groupId>org.springframework.boot</groupId>
@@ -226,7 +244,7 @@
226244
<dependency>
227245
<groupId>org.mandas</groupId>
228246
<artifactId>docker-client</artifactId>
229-
<version>7.0.8-OA-3</version>
247+
<version>${docker-client.version}</version>
230248
</dependency>
231249
<dependency>
232250
<groupId>org.glassfish.jersey.core</groupId>
@@ -258,14 +276,14 @@
258276
<dependency>
259277
<groupId>javax.annotation</groupId>
260278
<artifactId>javax.annotation-api</artifactId>
261-
<version>1.3.2</version>
279+
<version>${javax-annotation-api.version}</version>
262280
</dependency>
263281

264282
<!-- MonetDB, for gathering usage stats (optional) -->
265283
<dependency>
266284
<groupId>monetdb</groupId>
267285
<artifactId>monetdb-jdbc</artifactId>
268-
<version>3.2</version>
286+
<version>${monetdb-jdbc.version}</version>
269287
</dependency>
270288
<dependency>
271289
<groupId>com.microsoft.sqlserver</groupId>
@@ -274,7 +292,7 @@
274292
<dependency>
275293
<groupId>org.postgresql</groupId>
276294
<artifactId>postgresql</artifactId>
277-
<version>42.7.3</version>
295+
<version>${postgresql.version}</version>
278296
</dependency>
279297
<dependency>
280298
<groupId>com.mysql</groupId>
@@ -299,7 +317,26 @@
299317
<dependency>
300318
<groupId>io.fabric8</groupId>
301319
<artifactId>kubernetes-client</artifactId>
302-
<version>6.10.0</version>
320+
<version>${fabric8-client.version}</version>
321+
<exclusions>
322+
<exclusion>
323+
<groupId>com.squareup.okhttp3</groupId>
324+
<artifactId>okhttp</artifactId>
325+
</exclusion>
326+
<exclusion>
327+
<groupId>com.squareup.okhttp3</groupId>
328+
<artifactId>logging-interceptor</artifactId>
329+
</exclusion>
330+
<exclusion>
331+
<groupId>io.fabric8</groupId>
332+
<artifactId>kubernetes-httpclient-vertx</artifactId>
333+
</exclusion>
334+
</exclusions>
335+
</dependency>
336+
<dependency>
337+
<groupId>io.fabric8</groupId>
338+
<artifactId>kubernetes-httpclient-okhttp</artifactId>
339+
<version>${fabric8-client.version}</version>
303340
</dependency>
304341

305342
<!-- UI frameworks -->
@@ -310,17 +347,17 @@
310347
<dependency>
311348
<groupId>org.webjars</groupId>
312349
<artifactId>bootstrap</artifactId>
313-
<version>3.4.1</version>
350+
<version>${bootstrap.version}</version>
314351
</dependency>
315352
<dependency>
316353
<groupId>org.webjars</groupId>
317354
<artifactId>jquery</artifactId>
318-
<version>3.7.1</version>
355+
<version>${jquery.version}</version>
319356
</dependency>
320357
<dependency>
321358
<groupId>org.webjars.bower</groupId>
322359
<artifactId>fontawesome</artifactId>
323-
<version>4.7.0</version>
360+
<version>${fontawesome.version}</version>
324361
</dependency>
325362

326363
<!-- Amazon Base libraries-->
@@ -348,12 +385,12 @@
348385
<dependency>
349386
<groupId>javax.json</groupId>
350387
<artifactId>javax.json-api</artifactId>
351-
<version>1.1.4</version>
388+
<version>${javax-json.version}</version>
352389
</dependency>
353390
<dependency>
354391
<groupId>org.glassfish</groupId>
355392
<artifactId>javax.json</artifactId>
356-
<version>1.1.4</version>
393+
<version>${javax-json.version}</version>
357394
</dependency>
358395
<dependency>
359396
<groupId>com.fasterxml.jackson.datatype</groupId>
@@ -380,7 +417,7 @@
380417
<dependency>
381418
<groupId>software.amazon.awssdk</groupId>
382419
<artifactId>bom</artifactId>
383-
<version>${aws.java.sdk.version}</version>
420+
<version>${aws-java-sdk.version}</version>
384421
<type>pom</type>
385422
<scope>import</scope>
386423
</dependency>
@@ -436,7 +473,7 @@
436473
<plugin>
437474
<groupId>org.apache.maven.plugins</groupId>
438475
<artifactId>maven-jar-plugin</artifactId>
439-
<version>3.3.0</version>
476+
<version>${maven.jar-plugin.version}</version>
440477
<executions>
441478
<execution>
442479
<goals>
@@ -449,7 +486,7 @@
449486
<plugin>
450487
<groupId>com.mycila</groupId>
451488
<artifactId>license-maven-plugin</artifactId>
452-
<version>${maven.license.plugin.version}</version>
489+
<version>${maven.license-plugin.version}</version>
453490

454491
<executions>
455492
<execution>
@@ -527,7 +564,7 @@
527564
<plugin>
528565
<groupId>org.owasp</groupId>
529566
<artifactId>dependency-check-maven</artifactId>
530-
<version>9.0.9</version>
567+
<version>${maven.dependency-check-plugin.version}</version>
531568
<executions>
532569
<execution>
533570
<goals>

src/main/java/eu/openanalytics/containerproxy/RedisStoreConfiguration.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,11 @@ public RedisTemplate<String, Proxy> proxyRedisTemplate(RedisConnectionFactory co
128128
RedisTemplate<String, Proxy> template = new RedisTemplate<>();
129129
template.setConnectionFactory(connectionFactory);
130130

131-
Jackson2JsonRedisSerializer<Proxy> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Proxy.class);
132131
ObjectMapper om = new ObjectMapper();
133-
134132
om.setConfig(om.getSerializationConfig().withView(Views.Internal.class));
135133

136-
jackson2JsonRedisSerializer.setObjectMapper(om);
134+
Jackson2JsonRedisSerializer<Proxy> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(om, Proxy.class);
135+
137136
template.setKeySerializer(new StringRedisSerializer());
138137
template.setHashKeySerializer(new StringRedisSerializer());
139138
template.setValueSerializer(jackson2JsonRedisSerializer);
@@ -214,10 +213,10 @@ private <K, V> RedisTemplate<K, V> createRedisTemplate(RedisConnectionFactory co
214213
RedisTemplate<K, V> template = new RedisTemplate<>();
215214
template.setConnectionFactory(connectionFactory);
216215

217-
Jackson2JsonRedisSerializer<V> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(clazz);
218216
ObjectMapper om = new ObjectMapper();
219217
om.registerModule(new JavaTimeModule());
220-
jackson2JsonRedisSerializer.setObjectMapper(om);
218+
219+
Jackson2JsonRedisSerializer<V> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(om, clazz);
221220
template.setKeySerializer(new StringRedisSerializer());
222221
template.setHashKeySerializer(new StringRedisSerializer());
223222
template.setValueSerializer(jackson2JsonRedisSerializer);

src/main/java/eu/openanalytics/containerproxy/auth/impl/LDAPAuthenticationBackend.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public static LDAPProviderConfig load(Environment env, int index) {
163163

164164
private static class CNLdapAuthoritiesPopulator extends DefaultLdapAuthoritiesPopulator {
165165

166-
private static final Log logger = LogFactory.getLog(DefaultLdapAuthoritiesPopulator.class);
166+
private static final Log logger = LogFactory.getLog(CNLdapAuthoritiesPopulator.class);
167167

168168
public CNLdapAuthoritiesPopulator(ContextSource contextSource, String groupSearchBase) {
169169
super(contextSource, groupSearchBase);

src/main/java/eu/openanalytics/containerproxy/auth/impl/OpenIDAuthenticationBackend.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@
7373
import java.util.HashSet;
7474
import java.util.List;
7575
import java.util.Map;
76-
import java.util.Optional;
7776
import java.util.Set;
7877
import java.util.stream.Collectors;
7978

@@ -366,7 +365,7 @@ public String getName() {
366365
Object emails = getAttributes().get(ID_ATTR_EMAILS);
367366
if (emails instanceof String[]) return ((String[]) emails)[0];
368367
else if (emails instanceof JSONArray) return ((JSONArray) emails)
369-
.get(0)
368+
.getFirst()
370369
.toString();
371370
else if (emails instanceof Collection) return ((Collection<?>) emails)
372371
.stream()

src/main/java/eu/openanalytics/containerproxy/auth/impl/SAMLAuthenticationBackend.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import org.springframework.context.annotation.Lazy;
3232
import org.springframework.core.env.Environment;
3333
import org.springframework.security.authentication.ProviderManager;
34-
import org.springframework.security.config.annotation.ObjectPostProcessor;
34+
import org.springframework.security.config.ObjectPostProcessor;
3535
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
3636
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
3737
import org.springframework.security.core.Authentication;
@@ -70,7 +70,6 @@ public class SAMLAuthenticationBackend implements IAuthenticationBackend {
7070
private Environment environment;
7171

7272
@Inject
73-
@SuppressWarnings("deprecation")
7473
private OpenSaml4AuthenticationProvider samlAuthenticationProvider;
7574

7675
@Autowired

src/main/java/eu/openanalytics/containerproxy/auth/impl/SimpleAuthenticationBackend.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2929

3030
import javax.inject.Inject;
31-
import java.util.ArrayList;
32-
import java.util.Arrays;
3331
import java.util.List;
3432

3533
/**

src/main/java/eu/openanalytics/containerproxy/auth/impl/oidc/OpenIDConfiguration.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import javax.inject.Inject;
4545
import java.util.Collections;
4646
import java.util.HashSet;
47-
import java.util.List;
4847
import java.util.Optional;
4948
import java.util.Set;
5049

src/main/java/eu/openanalytics/containerproxy/auth/impl/saml/DisableSaml2LogoutRequestFilterFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
/**
3838
* Filter that disables the {@link Saml2LogoutRequestFilter} filter, except for the SAML single logout endpoint.
39-
* The SAML filter calls getParameter and thefore consumes the POST body.
39+
* The SAML filter calls getParameter and therefore consumes the POST body.
4040
* The name of {@link Saml2LogoutRequestFilter must be fixed in order for this to work (see {@link SAMLAuthenticationBackend}
4141
* See #33066.
4242
*/

src/main/java/eu/openanalytics/containerproxy/auth/impl/saml/ResponseAuthenticationConverter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import static eu.openanalytics.containerproxy.auth.impl.saml.SAMLConfiguration.PROP_NAME_ATTRIBUTE;
4545
import static eu.openanalytics.containerproxy.auth.impl.saml.SAMLConfiguration.PROP_ROLES_ATTRIBUTE;
4646

47-
@SuppressWarnings("deprecation")
4847
public class ResponseAuthenticationConverter implements Converter<OpenSaml4AuthenticationProvider.ResponseToken, AbstractAuthenticationToken> {
4948

5049
private final Boolean logAttributes;
@@ -125,10 +124,10 @@ private void logAttributes(DefaultSaml2AuthenticatedPrincipal principal) {
125124

126125
private Optional<String> getSingleAttributeValue(DefaultSaml2AuthenticatedPrincipal principal, String attributeName) {
127126
Optional<List<Object>> res = getAttributeIgnoringCase(principal, attributeName);
128-
if (res.isEmpty() || res.get().size() == 0) {
127+
if (res.isEmpty() || res.get().isEmpty()) {
129128
return Optional.empty();
130129
}
131-
return Optional.of(res.get().get(0).toString());
130+
return Optional.of(res.get().getFirst().toString());
132131
}
133132

134133
private Optional<List<String>> getMultipleAttributeValues(DefaultSaml2AuthenticatedPrincipal principal, String attributeName) {

0 commit comments

Comments
 (0)