Skip to content

Commit 48ace45

Browse files
dennisvangPatrickDekkerHealthRIdependabot[bot]
authored
Upgrade dependencies for v1.17.x (#698)
* cherry-pick Dockerfile from develop branch - upgrade Dockerfile base images from jdk 17 to 21 - switch from focal to alpine * upgrade v1.17.x to JDK 21 * cherry-pick pom.xml from develop branch except the postgres stuff * cherry-pick renamed io.jsonwebtoken methods in JwtService.java from develop branch * upgrade two build dependencies * update changelog * remove unused import * upgrade mongock version to latest * remove pinned version for spring-data-mongodb this caused a silent version conflict, because spring-data-mongodb is actually managed via the spring-boot-starter-parent * remove lombok version pin to prevent confllicts, because lombok is already managed by spring-boot-starter-parent * fix: update Metadataschema, test fixtures should produce valid objects (#703) * bump versions for checkstyle and httpclient5 to match develop * Bump org.springframework.boot:spring-boot-starter-parent from 3.4.5 to 3.5.0 (#702) * Bump org.springframework.boot:spring-boot-starter-parent Bumps [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 3.4.5 to 3.5.0. - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](spring-projects/spring-boot@v3.4.5...v3.5.0) --- updated-dependencies: - dependency-name: org.springframework.boot:spring-boot-starter-parent dependency-version: 3.5.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * fix test res302_redirectsToSwaggerUI spring-boot 3.5 changed the way TestRestTemplate handles redirects https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.5-Release-Notes#follow-redirects-with-testresttemplate --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dennisvang <29799340+dennisvang@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Patrick Dekker <168626347+PatrickDekkerHealthRI@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 1421927 commit 48ace45

File tree

13 files changed

+41
-39
lines changed

13 files changed

+41
-39
lines changed

.github/workflows/code-style.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
env:
2020
JAVA_DISTRIBUTION: temurin
21-
JAVA_VERSION: 17
21+
JAVA_VERSION: 21
2222

2323
steps:
2424
- name: Checkout repository
@@ -45,7 +45,7 @@ jobs:
4545

4646
env:
4747
JAVA_DISTRIBUTION: temurin
48-
JAVA_VERSION: 17
48+
JAVA_VERSION: 21
4949

5050
steps:
5151
- name: Checkout repository
@@ -72,7 +72,7 @@ jobs:
7272

7373
env:
7474
JAVA_DISTRIBUTION: temurin
75-
JAVA_VERSION: 17
75+
JAVA_VERSION: 21
7676

7777
steps:
7878
- name: Checkout repository

.github/workflows/docker-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
verify:
1818
uses: FAIRDataTeam/github-workflows/.github/workflows/maven-verify.yml@v2
1919
with:
20-
java-version: 17
20+
java-version: 21
2121
# todo: enable tests when test duration has been minimized
2222
mvn-options: "-DskipTests"
2323
publish:

.github/workflows/maven-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- os: macos-14
2727
mongo: 8
2828
java-version:
29-
- 17
29+
- 21
3030
uses: FAIRDataTeam/github-workflows/.github/workflows/maven-verify.yml@v2
3131
with:
3232
runner: ${{ matrix.runner.os }}

.github/workflows/security.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
env:
2525
JAVA_DISTRIBUTION: temurin
26-
JAVA_VERSION: 17
26+
JAVA_VERSION: 21
2727

2828
steps:
2929
- name: Checkout repository

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1515

1616
- Cleaned up Dockerfile (backport)
1717
- Separate Github workflows for test and publish (backport)
18+
- Upgraded to Java JDK 21 (LTS)
19+
- Upgraded to latest dependencies
1820

1921
## [1.17.2]
2022

Dockerfile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
################################################################################
55
# BUILD JAR
66

7-
FROM maven:3-eclipse-temurin-17-focal AS builder
7+
FROM maven:3-eclipse-temurin-21-alpine AS builder
88

99
WORKDIR /builder
1010

@@ -16,12 +16,11 @@ RUN mvn --quiet --batch-mode --update-snapshots --fail-fast -DskipTests package
1616
################################################################################
1717
# BUILD IMAGE
1818

19-
FROM eclipse-temurin:17-jdk-focal
19+
FROM eclipse-temurin:21-jdk-alpine
2020

2121
# add non-root user to run the app
2222
# https://spring.io/guides/gs/spring-boot-docker
23-
# on ubuntu the following creates a group with the same name as user
24-
RUN adduser spring --system --group
23+
RUN addgroup -S spring && adduser -S spring -G spring
2524
USER spring:spring
2625

2726
WORKDIR /fdp

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ e.g. [app.fairdatapoint.org/swagger-ui.html](https://app.fairdatapoint.org/swagg
3636

3737
### Technology Stack
3838

39-
- **Java** (JDK 17)
39+
- **Java** (JDK 21)
4040
- **MongoDB** (4.2)
4141
- **Maven** (3.2.5 or higher)
4242
- **Docker** (19.03.0-ce or higher) - *for building Docker image only*

pom.xml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>3.1.1</version>
8+
<version>3.5.0</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>nl.dtls</groupId>
@@ -47,34 +47,32 @@
4747
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4848

4949
<!-- Maven -->
50-
<maven.compiler.source>17</maven.compiler.source>
51-
<maven.compiler.target>17</maven.compiler.target>
50+
<maven.compiler.source>21</maven.compiler.source>
51+
<maven.compiler.target>21</maven.compiler.target>
5252

5353
<!-- Project related -->
5454
<spring.rdf.migration.version>2.0.0</spring.rdf.migration.version>
5555
<rdf-resolver.version>0.2.0</rdf-resolver.version>
5656
<spring.security.acl.mongodb.version>6.0.0</spring.security.acl.mongodb.version>
5757

5858
<!-- Core -->
59-
<springdoc.version>2.1.0</springdoc.version>
60-
<mongock.version>5.3.1</mongock.version>
61-
<mongodb.spring-data.version>4.1.1</mongodb.spring-data.version>
62-
<rdf4j.version>4.3.2</rdf4j.version>
63-
<jwt.version>0.11.5</jwt.version>
64-
<lombok.version>1.18.28</lombok.version>
59+
<springdoc.version>2.8.8</springdoc.version>
60+
<mongock.version>5.5.1</mongock.version>
61+
<rdf4j.version>5.1.3</rdf4j.version>
62+
<jwt.version>0.12.6</jwt.version>
6563

6664
<!-- Test -->
67-
<httpclient5.version>5.2.1</httpclient5.version>
65+
<httpclient5.version>5.5</httpclient5.version>
6866

6967
<!-- Plugins -->
70-
<plugin.license.version>4.2</plugin.license.version>
68+
<plugin.license.version>5.0.0</plugin.license.version>
7169
<plugin.jacoco.version>0.7.6.201602180812</plugin.jacoco.version>
7270
<plugin.coveralls.version>4.3.0</plugin.coveralls.version>
7371
<plugin.javax_xml_bind.version>2.3.1</plugin.javax_xml_bind.version>
74-
<plugin.git_commit_id.version>6.0.0</plugin.git_commit_id.version>
72+
<plugin.git_commit_id.version>9.0.1</plugin.git_commit_id.version>
7573
<plugin.rdf4j_generator.version>0.2.0</plugin.rdf4j_generator.version>
76-
<plugin.checkstyle.version>3.3.0</plugin.checkstyle.version>
77-
<plugin.spotbugs.version>4.7.3.5</plugin.spotbugs.version>
74+
<plugin.checkstyle.version>3.6.0</plugin.checkstyle.version>
75+
<plugin.spotbugs.version>4.9.3.0</plugin.spotbugs.version>
7876
</properties>
7977

8078
<dependencyManagement>
@@ -175,7 +173,6 @@
175173
<dependency>
176174
<groupId>org.springframework.data</groupId>
177175
<artifactId>spring-data-mongodb</artifactId>
178-
<version>${mongodb.spring-data.version}</version>
179176
</dependency>
180177

181178
<!-- ////////////////// -->
@@ -228,7 +225,6 @@
228225
<dependency>
229226
<groupId>org.projectlombok</groupId>
230227
<artifactId>lombok</artifactId>
231-
<version>${lombok.version}</version>
232228
</dependency>
233229

234230
<!-- ////////////////// -->
@@ -347,12 +343,12 @@
347343
<dependency>
348344
<groupId>com.puppycrawl.tools</groupId>
349345
<artifactId>checkstyle</artifactId>
350-
<version>10.12.1</version>
346+
<version>10.24.0</version>
351347
</dependency>
352348
<dependency>
353349
<groupId>io.spring.javaformat</groupId>
354350
<artifactId>spring-javaformat-checkstyle</artifactId>
355-
<version>0.0.39</version>
351+
<version>0.0.45</version>
356352
</dependency>
357353
</dependencies>
358354
</plugin>

src/main/java/nl/dtls/fairdatapoint/database/mongo/migration/development/schema/data/MetadataSchemaFixtures.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ private MetadataSchema createSchemaFixture(
5959
.version(VERSION)
6060
.versionString(VERSION.toString())
6161
.name(name)
62+
.description("")
6263
.definition(definition)
6364
.targetClasses(targetClasses)
6465
.extendSchemas(extendsSchemas)

src/main/java/nl/dtls/fairdatapoint/service/jwt/JwtService.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class JwtService {
7373
protected void init() {
7474
secretKey = Base64.getEncoder().encodeToString(secretKey.getBytes());
7575
key = new SecretKeySpec(secretKey.getBytes(), SignatureAlgorithm.HS256.getJcaName());
76-
parser = Jwts.parserBuilder().setSigningKey(key).build();
76+
parser = Jwts.parser().setSigningKey(key).build();
7777
}
7878

7979
public String createToken(AuthDTO authDTO) {
@@ -94,27 +94,27 @@ public Authentication getAuthentication(String token) {
9494
}
9595

9696
public String getUserUuid(String token) {
97-
return parser.parseClaimsJws(token).getBody().getSubject();
97+
return parser.parseClaimsJws(token).getPayload().getSubject();
9898
}
9999

100100
public boolean validateToken(String token) {
101101
try {
102102
final Jws<Claims> claims = parser.parseClaimsJws(token);
103-
return !claims.getBody().getExpiration().before(new Date());
103+
return !claims.getPayload().getExpiration().before(new Date());
104104
}
105105
catch (JwtException | IllegalArgumentException exception) {
106106
throw new UnauthorizedException("Expired or invalid JWT token");
107107
}
108108
}
109109

110110
private String buildToken(User user) {
111-
final Claims claims = Jwts.claims().setSubject(user.getUuid());
111+
final Claims claims = Jwts.claims().subject(user.getUuid().toString()).build();
112112
final Date now = new Date();
113113
final Date validity = new Date(now.getTime() + (expiration * DAY_MS));
114114
return Jwts.builder()
115-
.setClaims(claims)
116-
.setIssuedAt(now)
117-
.setExpiration(validity)
115+
.claims(claims)
116+
.issuedAt(now)
117+
.expiration(validity)
118118
.signWith(key)
119119
.compact();
120120
}

src/main/java/nl/dtls/fairdatapoint/service/metadata/state/MetadataStateService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import java.util.stream.Collectors;
4545

4646
import static java.lang.String.format;
47-
import static nl.dtls.fairdatapoint.entity.metadata.MetadataGetter.getUri;
4847
import static nl.dtls.fairdatapoint.util.RdfUtil.getObjectsBy;
4948
import static nl.dtls.fairdatapoint.util.ValueFactoryHelper.i;
5049

src/test/java/nl/dtls/fairdatapoint/acceptance/openapi/SwaggerUI_GET.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import nl.dtls.fairdatapoint.utils.CustomPageImpl;
2828
import org.junit.jupiter.api.DisplayName;
2929
import org.junit.jupiter.api.Test;
30+
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
3031
import org.springframework.core.ParameterizedTypeReference;
3132
import org.springframework.http.HttpStatus;
3233
import org.springframework.http.MediaType;
@@ -61,7 +62,8 @@ public void res302_redirectsToSwaggerUI() {
6162
.build();
6263

6364
// WHEN
64-
ResponseEntity<String> result = client.exchange(request, new ParameterizedTypeReference<>() {});
65+
ResponseEntity<String> result = client.withRedirects(ClientHttpRequestFactorySettings.Redirects.DONT_FOLLOW)
66+
.exchange(request, new ParameterizedTypeReference<>() {});
6567

6668
// THEN
6769
assertThat("Response code is FOUND", result.getStatusCode(), is(equalTo(HttpStatus.FOUND)));

src/test/java/nl/dtls/fairdatapoint/acceptance/schema/Import_POST.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
package nl.dtls.fairdatapoint.acceptance.schema;
2424

2525
import nl.dtls.fairdatapoint.WebIntegrationTest;
26-
import nl.dtls.fairdatapoint.api.dto.schema.MetadataSchemaRemoteDTO;
2726
import nl.dtls.fairdatapoint.api.dto.schema.MetadataSchemaVersionDTO;
2827
import nl.dtls.fairdatapoint.database.mongo.migration.development.schema.data.MetadataSchemaFixtures;
2928
import nl.dtls.fairdatapoint.database.mongo.repository.MetadataSchemaRepository;
@@ -73,6 +72,8 @@ private MetadataSchemaVersionDTO schemaPublicDTO1() {
7372
.description(metadataSchemaFixtures.customSchema().getDescription())
7473
.definition(metadataSchemaFixtures.customSchema().getDefinition())
7574
.abstractSchema(metadataSchemaFixtures.customSchema().isAbstractSchema())
75+
.type(metadataSchemaFixtures.customSchema().getType())
76+
.targetClasses(metadataSchemaFixtures.customSchema().getTargetClasses())
7677
.extendsSchemaUuids(Collections.emptyList())
7778
.build();
7879
}
@@ -91,6 +92,8 @@ private MetadataSchemaVersionDTO schemaPublicDTO2() {
9192
.description(metadataSchemaFixtures.customSchema().getDescription())
9293
.definition(metadataSchemaFixtures.customSchema().getDefinition())
9394
.abstractSchema(metadataSchemaFixtures.customSchema().isAbstractSchema())
95+
.type(metadataSchemaFixtures.customSchema().getType())
96+
.targetClasses(metadataSchemaFixtures.customSchema().getTargetClasses())
9497
.extendsSchemaUuids(Collections.emptyList())
9598
.build();
9699
}

0 commit comments

Comments
 (0)