Skip to content

Commit 83d7d6f

Browse files
Merge branch 'master' into localstack-s3-latest
2 parents f52ff0d + 3084337 commit 83d7d6f

172 files changed

Lines changed: 2205 additions & 1078 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.

.github/workflows/maven.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Maven central workflow
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
maven:
10+
uses: folio-org/.github/.github/workflows/maven.yml@v1
11+
# Only handle push events from the main branch or tags, to decrease PR noise
12+
if: github.ref_name == github.event.repository.default_branch || github.event_name != 'push' || github.ref_type == 'tag'
13+
secrets: inherit
14+
with:
15+
java-version: '21'
16+
publish-module-descriptor: true
17+
allow-snapshots-release: false
18+
do-sonar-scan: true
19+
do-docker: true
File renamed without changes.

NEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
## Unreleased v3.5.0
22
### Stories
33
* [MODEXPW-576](https://folio-org.atlassian.net/browse/MODEXPW-576) Enhance "MARC authority headings update" Report with Record Type Column Based on Consortium Environment.
4+
* [MODEXPW-619](https://folio-org.atlassian.net/browse/MODEXPW-619) Remove the Linked bib fields column for the Authority headings change report
5+
* [MODEXPW-624](https://folio-org.atlassian.net/browse/MODEXPW-624) Support running bursar exports as a dry run (no transferring accounts).
6+
7+
### Bug fixes
8+
* [MODEXPW-617](https://folio-org.atlassian.net/browse/MODEXPW-617) Update Apache Kafka topic template to prevent ambiguous env name matches.
9+
* [MODEXPW-620](https://folio-org.atlassian.net/browse/MODEXPW-620) Fix Bursar export filtering by age.
410

511
## 2025-03-27 v3.4.1
612

descriptors/ModuleDescriptor-template.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@
3838
"id": "electronic-access-relationships",
3939
"version": "1.1"
4040
},
41-
{
42-
"id": "instance-authority-links-statistics",
43-
"version": "2.1"
44-
},
4541
{
4642
"id": "holdings-note-types",
4743
"version": "1.0"
@@ -151,8 +147,12 @@
151147
"version": "1.2"
152148
},
153149
{
154-
"id": "settings",
155-
"version": "1.2"
150+
"id": "locale",
151+
"version": "1.0"
152+
},
153+
{
154+
"id": "tenant-addresses",
155+
"version": "1.0"
156156
}
157157
],
158158
"optional": [
@@ -215,6 +215,10 @@
215215
{
216216
"id": "eholdings",
217217
"version": "4.0"
218+
},
219+
{
220+
"id": "instance-authority-links-statistics",
221+
"version": "2.1 3.0"
218222
}
219223
],
220224
"provides": [

pom.xml

Lines changed: 18 additions & 25 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.5.4</version>
8+
<version>4.0.2</version>
99
<relativePath /> <!-- lookup parent from repository -->
1010
</parent>
1111

@@ -47,13 +47,12 @@
4747
<refresh-presigned-url.yaml.file>
4848
${project.basedir}/src/main/resources/swagger.api/refresh-presigned-url.yaml
4949
</refresh-presigned-url.yaml.file>
50-
<folio-spring-base.version>10.0.0-SNAPSHOT</folio-spring-base.version>
50+
<folio-spring-base.version>10.0.0-RC1</folio-spring-base.version>
5151
<folio-service-tools.version>4.1.1</folio-service-tools.version>
5252
<folio-spring-cql.version>9.0.0</folio-spring-cql.version>
5353
<folio-module-descriptor-validator.version>1.0.0</folio-module-descriptor-validator.version>
5454
<openapi-generator.version>6.2.1</openapi-generator.version>
5555
<commons-collections4.version>4.5.0</commons-collections4.version>
56-
<hypersistence-utils-hibernate-63.version>3.7.3</hypersistence-utils-hibernate-63.version>
5756
<opencsv.version>5.11.2</opencsv.version>
5857
<feign-jackson.version>12.1</feign-jackson.version>
5958
<marc4j.version>2.9.2</marc4j.version>
@@ -62,10 +61,11 @@
6261
<!-- Test properties-->
6362
<junit-extensions.version>2.4.0</junit-extensions.version>
6463
<spring-cloud-starter-bootstrap.version>4.2.0</spring-cloud-starter-bootstrap.version>
65-
<wiremock.version>2.27.2</wiremock.version>
64+
<wiremock.version>3.13.0</wiremock.version>
6665
<localstack.version>1.20.5</localstack.version>
6766
<marc4j.version>2.9.1</marc4j.version>
68-
<testcontainers.version>1.17.6</testcontainers.version>
67+
<testcontainers.version>2.0.3</testcontainers.version>
68+
<testcontainers.extensions.version>1.21.4</testcontainers.extensions.version>
6969
<aws.sdk.version>2.40.2</aws.sdk.version>
7070
<folio-s3-client.version>3.0.0-SNAPSHOT</folio-s3-client.version>
7171
<hamcrest-all.version>1.3</hamcrest-all.version>
@@ -126,10 +126,6 @@
126126
<groupId>org.springframework.batch</groupId>
127127
<artifactId>spring-batch-integration</artifactId>
128128
</dependency>
129-
<dependency>
130-
<groupId>org.springframework.kafka</groupId>
131-
<artifactId>spring-kafka</artifactId>
132-
</dependency>
133129

134130
<dependency>
135131
<groupId>org.springframework.boot</groupId>
@@ -142,6 +138,11 @@
142138
</exclusions>
143139
</dependency>
144140

141+
<dependency>
142+
<groupId>org.springframework.boot</groupId>
143+
<artifactId>spring-boot-starter-kafka</artifactId>
144+
</dependency>
145+
145146
<dependency>
146147
<groupId>org.springframework.boot</groupId>
147148
<artifactId>spring-boot-starter-cache</artifactId>
@@ -189,12 +190,6 @@
189190
<version>3.11.1</version>
190191
</dependency>
191192

192-
<dependency>
193-
<groupId>io.hypersistence</groupId>
194-
<artifactId>hypersistence-utils-hibernate-63</artifactId>
195-
<version>${hypersistence-utils-hibernate-63.version}</version>
196-
</dependency>
197-
198193
<dependency>
199194
<groupId>io.xlate</groupId>
200195
<artifactId>staedi</artifactId>
@@ -262,14 +257,14 @@
262257
<dependency>
263258
<groupId>org.testcontainers</groupId>
264259
<artifactId>junit-jupiter</artifactId>
265-
<version>${testcontainers.version}</version>
260+
<version>${testcontainers.extensions.version}</version>
266261
<scope>test</scope>
267262
</dependency>
268263

269264
<dependency>
270265
<groupId>org.testcontainers</groupId>
271266
<artifactId>postgresql</artifactId>
272-
<version>${testcontainers.version}</version>
267+
<version>${testcontainers.extensions.version}</version>
273268
<scope>test</scope>
274269
</dependency>
275270

@@ -279,16 +274,9 @@
279274
<version>2.7.1</version>
280275
<scope>test</scope>
281276
</dependency>
282-
<dependency>
283-
<groupId>org.springframework.cloud</groupId>
284-
<artifactId>spring-cloud-starter-bootstrap</artifactId>
285-
<version>${spring-cloud-starter-bootstrap.version}</version>
286-
<scope>test</scope>
287-
</dependency>
288277
<dependency>
289278
<groupId>org.springframework.boot</groupId>
290279
<artifactId>spring-boot-starter-test</artifactId>
291-
<version>3.4.0</version>
292280
<scope>test</scope>
293281
<exclusions>
294282
<exclusion>
@@ -345,11 +333,16 @@
345333
<scope>test</scope>
346334
</dependency>
347335
<dependency>
348-
<groupId>com.github.tomakehurst</groupId>
336+
<groupId>org.wiremock</groupId>
349337
<artifactId>wiremock-standalone</artifactId>
350338
<version>${wiremock.version}</version>
351339
<scope>test</scope>
352340
</dependency>
341+
<dependency>
342+
<groupId>org.springframework.boot</groupId>
343+
<artifactId>spring-boot-starter-webmvc-test</artifactId>
344+
<scope>test</scope>
345+
</dependency>
353346
</dependencies>
354347

355348
<build>

src/main/java/org/folio/de/entity/Job.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.folio.de.entity;
22

3-
import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
43
import lombok.Data;
54
import org.folio.dew.domain.dto.EntityType;
65
import org.folio.dew.domain.dto.ExportType;
@@ -9,7 +8,8 @@
98
import org.folio.dew.domain.dto.JobStatus;
109
import org.folio.dew.domain.dto.Progress;
1110
import org.hibernate.annotations.GenericGenerator;
12-
import org.hibernate.annotations.Type;
11+
import org.hibernate.annotations.JdbcTypeCode;
12+
import org.hibernate.type.SqlTypes;
1313
import org.springframework.batch.core.BatchStatus;
1414
import org.springframework.batch.core.ExitStatus;
1515

@@ -44,18 +44,18 @@ public class Job {
4444
@Enumerated(EnumType.STRING)
4545
private ExportType type;
4646

47-
@Type(JsonBinaryType.class)
47+
@JdbcTypeCode(SqlTypes.JSON)
4848
@Column(columnDefinition = "jsonb")
4949
private ExportTypeSpecificParameters exportTypeSpecificParameters;
5050

5151
@Enumerated(EnumType.STRING)
5252
private JobStatus status;
5353

54-
@Type(JsonBinaryType.class)
54+
@JdbcTypeCode(SqlTypes.JSON)
5555
@Column(columnDefinition = "jsonb")
5656
private List<String> files = null;
5757

58-
@Type(JsonBinaryType.class)
58+
@JdbcTypeCode(SqlTypes.JSON)
5959
@Column(columnDefinition = "jsonb")
6060
private List<String> fileNames = null;
6161

@@ -82,7 +82,7 @@ public class Job {
8282
@Enumerated(EnumType.STRING)
8383
private BatchStatus batchStatus;
8484

85-
@Type(JsonBinaryType.class)
85+
@JdbcTypeCode(SqlTypes.JSON)
8686
@Column(columnDefinition = "jsonb")
8787
private ExitStatus exitStatus;
8888

@@ -92,7 +92,7 @@ public class Job {
9292
@Enumerated(EnumType.STRING)
9393
private EntityType entityType;
9494

95-
@Type(JsonBinaryType.class)
95+
@JdbcTypeCode(SqlTypes.JSON)
9696
@Column(columnDefinition = "jsonb")
9797
private Progress progress;
9898

src/main/java/org/folio/de/entity/JobCommand.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.folio.de.entity;
22

3-
import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
43
import jakarta.persistence.Column;
54
import jakarta.persistence.Entity;
65
import jakarta.persistence.EnumType;
@@ -10,8 +9,9 @@
109
import org.folio.dew.domain.dto.EntityType;
1110
import org.folio.dew.domain.dto.ExportType;
1211
import org.folio.dew.domain.dto.IdentifierType;
13-
import org.hibernate.annotations.Type;
14-
import org.springframework.batch.core.JobParameters;
12+
import org.hibernate.annotations.JdbcTypeCode;
13+
import org.hibernate.type.SqlTypes;
14+
import org.springframework.batch.core.job.parameters.JobParameters;
1515

1616
import java.util.UUID;
1717

@@ -27,7 +27,7 @@ public class JobCommand {
2727
private String description;
2828
@Enumerated(EnumType.STRING)
2929
private ExportType exportType;
30-
@Type(JsonBinaryType.class)
30+
@JdbcTypeCode(SqlTypes.JSON)
3131
private JobParameters jobParameters;
3232
@Enumerated(EnumType.STRING)
3333
private IdentifierType identifierType;

src/main/java/org/folio/dew/ModDataExportWorkerApplication.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
44
import org.springframework.boot.SpringApplication;
55
import org.springframework.boot.autoconfigure.SpringBootApplication;
6-
import org.springframework.boot.autoconfigure.domain.EntityScan;
7-
import org.springframework.cloud.openfeign.EnableFeignClients;
6+
import org.springframework.boot.persistence.autoconfigure.EntityScan;
87

9-
@SpringBootApplication
10-
@EnableFeignClients(basePackages = "org.folio.dew.client")
11-
@EnableBatchProcessing(isolationLevelForCreate = "ISOLATION_READ_COMMITTED")
8+
@SpringBootApplication(scanBasePackages = {
9+
"org.folio.dew",
10+
"org.folio.spring.scope"
11+
})
12+
@EnableBatchProcessing
1213
@EntityScan("org.folio.de.entity")
1314
public class ModDataExportWorkerApplication {
1415

src/main/java/org/folio/dew/batch/AbstractStorageStreamWriter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
import org.folio.dew.repository.LocalFilesStorage;
1010
import org.folio.dew.repository.S3CompatibleResource;
1111
import org.folio.dew.repository.S3CompatibleStorage;
12-
import org.springframework.batch.item.Chunk;
13-
import org.springframework.batch.item.ItemWriter;
14-
import org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor;
15-
import org.springframework.batch.item.file.transform.DelimitedLineAggregator;
16-
import org.springframework.batch.item.file.transform.LineAggregator;
12+
import org.springframework.batch.infrastructure.item.Chunk;
13+
import org.springframework.batch.infrastructure.item.ItemWriter;
14+
import org.springframework.batch.infrastructure.item.file.transform.BeanWrapperFieldExtractor;
15+
import org.springframework.batch.infrastructure.item.file.transform.DelimitedLineAggregator;
16+
import org.springframework.batch.infrastructure.item.file.transform.LineAggregator;
1717
import org.springframework.core.io.WritableResource;
1818

1919
import java.nio.charset.StandardCharsets;

0 commit comments

Comments
 (0)