From f7f96808772a176725c133cb7fbe1dba5539530a Mon Sep 17 00:00:00 2001
From: Maksat <144414992+Maksat-Galymzhan@users.noreply.github.com>
Date: Mon, 30 Sep 2024 21:52:41 +0500
Subject: [PATCH] MODINVSTOR-1245: Implement synchronization operation for
service point events (#1088)
* MODINVSTOR-1245: Implement synchronization operation for service point event
* MODINVSTOR-1245: Fix from code review
* MODINVSTOR-1245: Comply with check style
* MODINVSTOR-1245: Comply with check style
* MODINVSTOR-1245: Add api test
* MODINVSTOR-1245: Rename service point event
* MODINVSTOR-1245: Rename tests
* MODINVSTOR-1245: Replace service point creation with service implementation
* MODINVSTOR-1245: Add validation for hold shelf expiry and pick up location
* MODINVSTOR-1245: Replace system-stubs-junit4 instead of hard-coded env variable
* MODINVSTOR-1245: Fix from code review
* MODINVSTOR-1245: Fix from code review
* MODINVSTOR-1245: Add logs
---
descriptors/ModuleDescriptor-template.json | 3 +-
pom.xml | 7 +
.../java/org/folio/rest/impl/InitApiImpl.java | 19 ++
.../org/folio/rest/impl/ServicePointApi.java | 22 +-
.../ServicePointSynchronizationVerticle.java | 111 ++++++
...vicePointSynchronizationCreateHandler.java | 26 ++
...vicePointSynchronizationDeleteHandler.java | 26 ++
.../ServicePointSynchronizationHandler.java | 73 ++++
...vicePointSynchronizationUpdateHandler.java | 26 ++
...ntSynchronizationCreateEventProcessor.java | 59 ++++
...ntSynchronizationDeleteEventProcessor.java | 42 +++
...icePointSynchronizationEventProcessor.java | 80 +++++
...ntSynchronizationUpdateEventProcessor.java | 66 ++++
.../ServicePointDomainEventPublisher.java | 4 +
.../domainevent/ServicePointEventType.java | 31 ++
.../servicepoint/ServicePointService.java | 12 +
.../java/org/folio/utils/Environment.java | 8 +
...rvicePointSynchronizationVerticleTest.java | 321 ++++++++++++++++++
18 files changed, 920 insertions(+), 16 deletions(-)
create mode 100644 src/main/java/org/folio/services/consortium/ServicePointSynchronizationVerticle.java
create mode 100644 src/main/java/org/folio/services/consortium/handler/ServicePointSynchronizationCreateHandler.java
create mode 100644 src/main/java/org/folio/services/consortium/handler/ServicePointSynchronizationDeleteHandler.java
create mode 100644 src/main/java/org/folio/services/consortium/handler/ServicePointSynchronizationHandler.java
create mode 100644 src/main/java/org/folio/services/consortium/handler/ServicePointSynchronizationUpdateHandler.java
create mode 100644 src/main/java/org/folio/services/consortium/processor/ServicePointSynchronizationCreateEventProcessor.java
create mode 100644 src/main/java/org/folio/services/consortium/processor/ServicePointSynchronizationDeleteEventProcessor.java
create mode 100644 src/main/java/org/folio/services/consortium/processor/ServicePointSynchronizationEventProcessor.java
create mode 100644 src/main/java/org/folio/services/consortium/processor/ServicePointSynchronizationUpdateEventProcessor.java
create mode 100644 src/main/java/org/folio/services/domainevent/ServicePointEventType.java
create mode 100644 src/main/java/org/folio/utils/Environment.java
create mode 100644 src/test/java/org/folio/rest/api/ServicePointSynchronizationVerticleTest.java
diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json
index 2ddfa81e9..0a986b04e 100755
--- a/descriptors/ModuleDescriptor-template.json
+++ b/descriptors/ModuleDescriptor-template.json
@@ -2919,7 +2919,8 @@
{ "name": "S3_BUCKET", "value": "marc-migrations" },
{ "name": "S3_ACCESS_KEY_ID", "value": "" },
{ "name": "S3_SECRET_ACCESS_KEY", "value": "" },
- { "name": "S3_IS_AWS", "value": "true" }
+ { "name": "S3_IS_AWS", "value": "true" },
+ { "name": "ECS_TLR_FEATURE_ENABLED", "value": "false"}
]
}
}
diff --git a/pom.xml b/pom.xml
index 80379cba1..760dd49d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,7 @@
4.2.2
3.26.3
1.20.1
+ 2.1.7
3.13.0
3.6.0
@@ -268,6 +269,12 @@
log4j-slf4j2-impl
test
+
+ uk.org.webcompere
+ system-stubs-junit4
+ ${system-stubs-junit4.version}
+ test
+
diff --git a/src/main/java/org/folio/rest/impl/InitApiImpl.java b/src/main/java/org/folio/rest/impl/InitApiImpl.java
index 134fec4e9..bfa05628d 100644
--- a/src/main/java/org/folio/rest/impl/InitApiImpl.java
+++ b/src/main/java/org/folio/rest/impl/InitApiImpl.java
@@ -6,11 +6,13 @@
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.Promise;
+import io.vertx.core.ThreadingModel;
import io.vertx.core.Vertx;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.folio.rest.resource.interfaces.InitAPI;
import org.folio.services.caches.ConsortiumDataCache;
+import org.folio.services.consortium.ServicePointSynchronizationVerticle;
import org.folio.services.consortium.ShadowInstanceSynchronizationVerticle;
import org.folio.services.consortium.SynchronizationVerticle;
import org.folio.services.migration.async.AsyncMigrationConsumerVerticle;
@@ -25,6 +27,7 @@ public void init(Vertx vertx, Context context, Handler> han
initAsyncMigrationVerticle(vertx)
.compose(v -> initShadowInstanceSynchronizationVerticle(vertx, getConsortiumDataCache(context)))
.compose(v -> initSynchronizationVerticle(vertx, getConsortiumDataCache(context)))
+ .compose(v -> initServicePointSynchronizationVerticle(vertx, getConsortiumDataCache(context)))
.map(true)
.onComplete(handler);
}
@@ -76,6 +79,22 @@ private Future