Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 13 additions & 20 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.3</version>
<version>4.0.2</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>

Expand Down Expand Up @@ -34,20 +34,19 @@
<export-configs.yaml.file>${project.basedir}/src/main/resources/swagger.api/export-configs.yaml</export-configs.yaml.file>
<job-deletion-intervals.yaml.file>${project.basedir}/src/main/resources/swagger.api/job-deletion-intervals.yaml</job-deletion-intervals.yaml.file>

<folio-spring-base.version>9.0.0</folio-spring-base.version>
<folio-spring-base.version>10.0.0-RC1</folio-spring-base.version>
<folio-service-tools.version>4.1.1</folio-service-tools.version>
<folio-module-descriptor-validator.version>1.0.0</folio-module-descriptor-validator.version>
<hypersistence-utils-hibernate-63.version>3.9.2</hypersistence-utils-hibernate-63.version>
<lombok.version>1.18.42</lombok.version>
<mapstruct.version>1.6.3</mapstruct.version>
<mapstruct-binding.version>0.2.0</mapstruct-binding.version>
<commons-collections4.version>4.4</commons-collections4.version>
<openapi-generator.version>6.2.1</openapi-generator.version>

<!-- Test properties-->
<testcontainers-bom.version>1.20.5</testcontainers-bom.version>
<testcontainers-bom.version>1.21.4</testcontainers-bom.version>
<junit-extensions.version>2.4.0</junit-extensions.version>
<wiremock-standalone.version>2.27.2</wiremock-standalone.version>
<wiremock-standalone.version>3.13.0</wiremock-standalone.version>
<mockserver-client-java.version>5.15.0</mockserver-client-java.version>
<mockito-inline.version>5.2.0</mockito-inline.version>

Expand Down Expand Up @@ -111,12 +110,6 @@
<artifactId>postgresql</artifactId>
</dependency>

<dependency>
<groupId>io.hypersistence</groupId>
<artifactId>hypersistence-utils-hibernate-63</artifactId>
<version>${hypersistence-utils-hibernate-63.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
Expand All @@ -139,8 +132,8 @@
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-kafka</artifactId>
</dependency>

<dependency>
Expand Down Expand Up @@ -215,6 +208,11 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webmvc-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
Expand Down Expand Up @@ -257,16 +255,10 @@
<artifactId>mockserver-client-java</artifactId>
<version>${mockserver-client-java.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>com.github.tomakehurst</groupId>
<groupId>org.wiremock</groupId>
<artifactId>wiremock-standalone</artifactId>
<version>${wiremock-standalone.version}</version>
<scope>test</scope>
Expand All @@ -275,6 +267,7 @@
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>6.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
11 changes: 6 additions & 5 deletions src/main/java/org/folio/de/entity/BaseJob.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.folio.de.entity;

import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.Column;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
Expand All @@ -15,7 +14,9 @@
import org.folio.des.domain.dto.IdentifierType;
import org.folio.des.domain.dto.JobStatus;
import org.folio.des.domain.dto.Progress;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.annotations.Type;
import org.hibernate.type.SqlTypes;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ExitStatus;

Expand All @@ -42,11 +43,11 @@ public abstract class BaseJob {
@Enumerated(EnumType.STRING)
private JobStatus status;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private List<String> files = null;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private List<String> fileNames = null;

Expand All @@ -73,7 +74,7 @@ public abstract class BaseJob {
@Enumerated(EnumType.STRING)
private BatchStatus batchStatus;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private ExitStatus exitStatus;

Expand All @@ -83,7 +84,7 @@ public abstract class BaseJob {
@Enumerated(EnumType.STRING)
private EntityType entityType;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private Progress progress;
}
8 changes: 4 additions & 4 deletions src/main/java/org/folio/de/entity/ExportConfigEntity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
import java.util.UUID;

import org.folio.de.entity.base.AuditableEntity;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.JdbcTypeCode;

import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.type.SqlTypes;

@Entity
@Table(name = "export_config")
Expand All @@ -35,7 +35,7 @@ public class ExportConfigEntity extends AuditableEntity {
@Column(name = "tenant", nullable = false)
private String tenant;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(name = "export_type_specific_parameters", columnDefinition = "jsonb", nullable = false)
private Object exportTypeSpecificParameters;

Expand All @@ -48,7 +48,7 @@ public class ExportConfigEntity extends AuditableEntity {
@Column(name = "schedule_time")
private String scheduleTime;

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(name = "week_days", columnDefinition = "jsonb")
private List<String> weekDays;

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/folio/de/entity/Job.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package org.folio.de.entity;

import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import lombok.Data;
import org.folio.des.domain.dto.ExportTypeSpecificParameters;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;

@Entity
@Data
public class Job extends BaseJob {

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private ExportTypeSpecificParameters exportTypeSpecificParameters;
}
2 changes: 1 addition & 1 deletion src/main/java/org/folio/de/entity/JobCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.folio.des.domain.dto.ExportType;
import org.folio.des.domain.dto.IdentifierType;
import org.folio.des.domain.dto.Progress;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.job.parameters.JobParameters;

import java.util.UUID;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
package org.folio.de.entity.bursarlegacy;

import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Data;
import org.folio.de.entity.BaseJob;
import org.folio.des.domain.dto.ExportTypeSpecificParametersWithLegacyBursar;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;

@Entity
@Table(name = "job")
@Data
public class JobWithLegacyBursarParameters extends BaseJob {

@Type(JsonBinaryType.class)
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private ExportTypeSpecificParametersWithLegacyBursar exportTypeSpecificParameters;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,17 @@
import org.folio.de.entity.JobCommand;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.boot.persistence.autoconfigure.EntityScan;

@SpringBootApplication(exclude = BatchAutoConfiguration.class)
@EnableFeignClients
@SpringBootApplication
@EntityScan(basePackageClasses = JobCommand.class)
public class ModDataExportSpringApplication {
public static final String SYSTEM_USER_PASSWORD = "SYSTEM_USER_PASSWORD";
public static final String SYSTEM_USER_ENABLED = "SYSTEM_USER_ENABLED";

public static void main(String[] args) {
String systemUserEnabled = Optional.ofNullable(System.getenv(SYSTEM_USER_ENABLED)).orElse("true");

if (
Boolean.parseBoolean(systemUserEnabled)
&& StringUtils.isEmpty(System.getenv(SYSTEM_USER_PASSWORD))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParameters;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParameters;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

@Service
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.folio.des.builder.job;

import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParameters;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParameters;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParameters;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

@Service
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.folio.des.builder.job;

import org.folio.de.entity.JobCommand;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
import org.springframework.stereotype.Service;

import com.fasterxml.jackson.core.JsonProcessingException;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.folio.des.builder.job;

import org.folio.de.entity.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.job.parameters.JobParameters;

@FunctionalInterface
public interface JobCommandBuilder {
Expand Down
11 changes: 5 additions & 6 deletions src/main/java/org/folio/des/client/DataExportSpringClient.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package org.folio.des.client;

import org.folio.des.config.feign.FeignClientConfiguration;
import org.folio.des.domain.dto.Job;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;

@FeignClient(name = "data-export-spring", configuration = FeignClientConfiguration.class)
@HttpExchange(url = "data-export-spring")
public interface DataExportSpringClient {
@PostMapping(value = "/jobs")
@PostExchange(value = "/jobs")
Job upsertJob(@RequestBody Job job);

@PostMapping(value = "/jobs/send")
@PostExchange(value = "/jobs/send")
void sendJob(@RequestBody Job job);
}
8 changes: 4 additions & 4 deletions src/main/java/org/folio/des/client/ExportWorkerClient.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.folio.des.client;

import org.folio.des.domain.dto.PresignedUrl;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;

@FeignClient("refresh-presigned-url")
@HttpExchange("refresh-presigned-url")
public interface ExportWorkerClient {

@GetMapping
@GetExchange
PresignedUrl getRefreshedPresignedUrl(@RequestParam("filePath") String filePath);
}
Loading
Loading