From 864e987cbc4e6a306f4254b141e0967ecc3c468a Mon Sep 17 00:00:00 2001 From: Niels Erik Nielsen Date: Wed, 6 Sep 2023 15:21:18 +0200 Subject: [PATCH 1/7] Add scheduled notice trigger (CIRCSTORE-452) - "Due date - with reminder fee", to allow processing separate from regular "Due date" based notices. --- ramls/scheduled-notice.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ramls/scheduled-notice.json b/ramls/scheduled-notice.json index d87643127..9d27d6851 100644 --- a/ramls/scheduled-notice.json +++ b/ramls/scheduled-notice.json @@ -46,6 +46,7 @@ "Due date", "Overdue fine returned", "Overdue fine renewed", + "Due date - with reminder fee", "Aged to lost", "Aged to lost - fine charged", "Aged to lost & item returned - fine adjusted", From 24fbd2fc318ce41162786c45a2cc68423d94fe4b Mon Sep 17 00:00:00 2001 From: Roman Barannyk <53909129+roman-barannyk@users.noreply.github.com> Date: Thu, 14 Sep 2023 17:30:27 +0300 Subject: [PATCH 2/7] CIRCSTORE-272 add action index (#425) --- src/main/resources/templates/db_scripts/schema.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/resources/templates/db_scripts/schema.json b/src/main/resources/templates/db_scripts/schema.json index bd55a00c5..53857ce04 100644 --- a/src/main/resources/templates/db_scripts/schema.json +++ b/src/main/resources/templates/db_scripts/schema.json @@ -122,6 +122,12 @@ "caseSensitive": false, "removeAccents": false, "sqlExpression": "(jsonb->'agedToLostDelayedBilling'->>'dateLostItemShouldBeBilled')" + }, + { + "fieldName": "action", + "tOps": "ADD", + "caseSensitive": false, + "removeAccents": true } ], "fullTextIndex": [ From 0919867f38521c9f9f81c0e8ab4d7a6ae351f642 Mon Sep 17 00:00:00 2001 From: Niels Erik Nielsen Date: Mon, 2 Oct 2023 09:41:33 +0200 Subject: [PATCH 3/7] Update interface version (CIRCSTORE-452) - scheduled-notice-storage 0.5 -> 0.6 due to added enum value for triggering event. --- descriptors/ModuleDescriptor-template.json | 2 +- ramls/scheduled-notice-storage.raml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json index 7fb206d51..4a6d92716 100644 --- a/descriptors/ModuleDescriptor-template.json +++ b/descriptors/ModuleDescriptor-template.json @@ -403,7 +403,7 @@ }, { "id": "scheduled-notice-storage", - "version": "0.5", + "version": "0.6", "handlers": [ { "methods": ["GET"], diff --git a/ramls/scheduled-notice-storage.raml b/ramls/scheduled-notice-storage.raml index 573a64fc9..3583dc6e0 100644 --- a/ramls/scheduled-notice-storage.raml +++ b/ramls/scheduled-notice-storage.raml @@ -1,6 +1,6 @@ #%RAML 1.0 title: Scheduled Notice Storage -version: v0.5 +version: v0.6 protocols: [ HTTP, HTTPS ] baseUri: http://localhost:9130 From bc85dad80b00d3922017c095c3ca5dbabdb29d25 Mon Sep 17 00:00:00 2001 From: Alexander Kurash Date: Thu, 12 Oct 2023 17:59:53 +0300 Subject: [PATCH 4/7] CIRCSTORE-453 Change instaceId index - remove accents (#426) --- src/main/resources/templates/db_scripts/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/db_scripts/schema.json b/src/main/resources/templates/db_scripts/schema.json index 53857ce04..10b35b720 100644 --- a/src/main/resources/templates/db_scripts/schema.json +++ b/src/main/resources/templates/db_scripts/schema.json @@ -273,7 +273,7 @@ "fieldName": "instanceId", "tOps": "ADD", "caseSensitive": false, - "removeAccents": false + "removeAccents": true }, { "fieldName": "searchIndex.pickupServicePointName", From 2513ebdc603ddf89f2b4437b1ad68945da4468f5 Mon Sep 17 00:00:00 2001 From: Roman Barannyk <53909129+roman-barannyk@users.noreply.github.com> Date: Thu, 12 Oct 2023 18:38:02 +0300 Subject: [PATCH 5/7] [CIRCSTORE-455] Release v17.1.0 (#432) * Update NEWS * [maven-release-plugin] prepare release v17.1.0 * [maven-release-plugin] prepare for next development iteration --- NEWS.md | 30 ++++++++++++++++++++++++++++++ pom.xml | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 0ea39f4ee..3a4e8459e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,33 @@ +## 17.1.0 2023-10-12 +* Add notice triggering event `Due date - with reminder fee` (CIRCSTORE-452) +* Add missing descriptions to JSON-schemas (CIRCSTORE-409) +* Change `instaceId` index - remove accents (CIRCSTORE-453) +* Add b-tree index of action for `loan` table (CIRCSTORE-272) +* Create constraints only if they don't exist (CIRCSTORE-445) +* Return single error for invalid request policy (CIRCSTORE-451) +* Validate allowed service points on POST and PUT (CIRCSTORE-429) +* Allow to create Actual cost record without Expiration date (CIRCSTORE-447) +* Add allowed pickup service points to request policy schema (CIRCSTORE-424) +* Fix slow response for CQL searching - requests (CIRCSTORE-411) +* Migrate to Java 17 (CIRCSTORE-430) +* Add metadata object information to circ rules editor screen (CIRCSTORE-410) +* Modify circulation DTOs to include source field (CIRCSTORE-431) +* Use new RMB readonly APIs (CIRCSTORE-359) +* Implement GET, POST and DELETE endpoints for checkout lock (CIRCSTORE-416) +* Add sessionId to scheduled notice and patron action session (CIRCSTORE-421) +* Update request seach index when service point is updated (CIRCSTORE-408) +* Add property `loan.reminders` (CIRCSTORE-414) +* Use GitHub Workflows api-lint and api-schema-lint and api-doc (CIRCSTORE-415) +* Change spelling of `fulfilmentPreference` (CIRSTORE-413) +* Add logging to abstract request migration service (CIRCSTORE-400) +* Handle item update events (CIRCSTORE-407) +* Implement search fields migration (CIRCSTORE-400) +* Search index fields migration script skeleton (CIRCSTORE-399) +* Add effective call number, shelving order and pickup service point name fields to the request schema (CIRCSTORE-398) +* Add b-tree indices to DB schema (CIRCSTORE-402) +* Create index for Actual Cost Record `status` field (CIRCSTORE-397) +* Add default configuration handling for not initialized TLR settings (CIRCSTORE-412) + ## 16.0.0 2023-02-15 * Use folio-kafka-wrapper service to work with KafkaAdminClient (CIRCSTORE-369) * Add TLR requests expiration logic and queue recalculation (CIRCSTORE-368) diff --git a/pom.xml b/pom.xml index f535442f4..ba1bf798f 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 mod-circulation-storage org.folio - 16.1.0-SNAPSHOT + 17.2.0-SNAPSHOT Apache License 2.0 From e0f4e0ec95a3cc4d2d3cb45dad77282ed4e081d6 Mon Sep 17 00:00:00 2001 From: Alexander Kurash Date: Tue, 17 Oct 2023 15:55:25 +0300 Subject: [PATCH 6/7] CIRCSTORE-457 Fix NPE in Request search fields migration (#433) * CIRCSTORE-453 Remove toMap, improve tests * CIRCSTORE-457 Fix TLR data migration --- .../RequestSearchFieldsMigrationService.java | 10 ++- .../migration/TlrDataMigrationService.java | 4 +- .../org/folio/rest/api/TenantRefApiTests.java | 88 +++++++++++++++---- .../mocks/TlrDataMigrationTestData.sql | 9 +- 4 files changed, 89 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/folio/service/migration/RequestSearchFieldsMigrationService.java b/src/main/java/org/folio/service/migration/RequestSearchFieldsMigrationService.java index c12335f23..cd2c06aca 100644 --- a/src/main/java/org/folio/service/migration/RequestSearchFieldsMigrationService.java +++ b/src/main/java/org/folio/service/migration/RequestSearchFieldsMigrationService.java @@ -1,11 +1,11 @@ package org.folio.service.migration; import static io.vertx.core.Future.succeededFuture; -import static java.util.stream.Collectors.toMap; import static java.util.stream.Collectors.toSet; import static org.folio.support.JsonPropertyWriter.write; import java.util.Collection; +import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -87,7 +87,7 @@ private static void saveServicePointNames(Batch b servicePoints.size()); Map servicePointIdToName = servicePoints.stream() - .collect(toMap(ServicePoint::getId, ServicePoint::getName, (a, b) -> a)); + .collect(HashMap::new, (m, v) -> m.put(v.getId(), v.getName()), HashMap::putAll); batch.getRequestMigrationContexts().forEach(ctx -> ctx.setPickupServicePointName(servicePointIdToName.get(ctx.getPickupServicePointId()))); @@ -119,10 +119,12 @@ private static void saveCallNumbers(Batch batch, log.info("saveCallNumbers:: batch={}, items=Collection({} elements)", batch, items.size()); Map itemIdToCallNumberComponents = items.stream() - .collect(toMap(Item::getId, Item::getEffectiveCallNumberComponents, (a, b) -> a)); + .collect(HashMap::new, (m, v) -> m.put(v.getId(), v.getEffectiveCallNumberComponents()), + HashMap::putAll); Map itemIdToShelvingOrder = items.stream() - .collect(toMap(Item::getId, Item::getEffectiveShelvingOrder, (a, b) -> a)); + .collect(HashMap::new, (m, v) -> m.put(v.getId(), v.getEffectiveShelvingOrder()), + HashMap::putAll); batch.getRequestMigrationContexts().forEach(ctx -> { ctx.setCallNumberComponents(itemIdToCallNumberComponents.get(ctx.getItemId())); diff --git a/src/main/java/org/folio/service/migration/TlrDataMigrationService.java b/src/main/java/org/folio/service/migration/TlrDataMigrationService.java index 05ff14f10..0545d8011 100644 --- a/src/main/java/org/folio/service/migration/TlrDataMigrationService.java +++ b/src/main/java/org/folio/service/migration/TlrDataMigrationService.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -112,7 +113,8 @@ private static void saveHoldingsRecordIds(Batch batch, Collection items) { Map itemIdToHoldingsRecordId = items.stream() - .collect(toMap(Item::getId, Item::getHoldingsRecordId, (a, b) -> a)); + .collect(HashMap::new, (m, v) -> m.put(v.getId(), v.getHoldingsRecordId()), + HashMap::putAll); batch.getRequestMigrationContexts().forEach(ctx -> ctx.setHoldingsRecordId(itemIdToHoldingsRecordId.get(ctx.getItemId()))); diff --git a/src/test/java/org/folio/rest/api/TenantRefApiTests.java b/src/test/java/org/folio/rest/api/TenantRefApiTests.java index ed6e22e60..b10960770 100644 --- a/src/test/java/org/folio/rest/api/TenantRefApiTests.java +++ b/src/test/java/org/folio/rest/api/TenantRefApiTests.java @@ -93,6 +93,18 @@ public class TenantRefApiTests { private static final String FAIL_SECOND_CALL_SCENARIO = "Test scenario"; private static final String FIRST_CALL_MADE_SCENARIO_STATE = "First call made"; private static final String DEFAULT_UUID = "00000000-0000-4000-8000-000000000000"; + private static final String REQUEST_ID_MISSING_HOLDINGS_RECORD_ID = + "6110e6ab-1d84-4bc5-a88e-e984acca9744"; + private static final String REQUEST_ID_MISSING_EFFECTIVE_SHELVING_ORDER = + "45496a79-e1f3-412e-9076-fc5c4ee893f9"; + private static final String REQUEST_ID_MISSING_EFFECTIVE_CALL_NUMBER_COMPONENTS = + "ddcee62b-c41f-4036-a1d7-5a039d259e87"; + private static final String REQUEST_ID_MISSING_CALL_NUMBER = + "f999719d-ca7e-44ce-9f75-9071c856e5d7"; + private static final String REQUEST_ID_MISSING_PREFIX = "6ad37eb7-591b-46f3-9902-c1992ca41158"; + private static final String REQUEST_ID_MISSING_SUFFIX = "ecd86aab-a0ac-4d3c-bb90-0df390b1c6c4"; + private static final String REQUEST_ID_MISSING_PICKUP_SERVICE_POINT_NAME = + "87a7dfd9-8fdb-4b0d-9529-14912b484860"; private static StubMapping itemStorageStub; private static StubMapping holdingsStorageStub; @@ -269,7 +281,6 @@ private void tlrMigrationFailsWhenRemoteCallFails(TestContext context, Async asy }); } - //// @Test public void requestSearchMigrationFailsWhenItemStorageCallFails(TestContext context) { Async async = context.async(); @@ -293,7 +304,6 @@ private void requestSearchMigrationFailsWhenRemoteCallFails(TestContext context, async.complete(); }); } - /// @Test public void useDefaultValuesForInstanceIdAndHoldingsRecordIdWhenItemWasNotFound(TestContext context) { @@ -507,23 +517,43 @@ private void validateRequestSearchMigrationResult(TestContext context, Async asy private void validateRequestSearchMigrationResult(TestContext context, JsonObject requestAfter) { JsonObject requestBefore = requestsBeforeMigration.get(getId(requestAfter)); + String requestId = requestBefore.getString("id"); context.assertNotNull(requestBefore); context.assertNotNull(requestAfter); if (requestBefore.containsKey("pickupServicePointId")) { - context.assertEquals("testSpName", requestAfter.getJsonObject("searchIndex") - .getString("pickupServicePointName")); + if (!REQUEST_ID_MISSING_PICKUP_SERVICE_POINT_NAME.equals(requestId)) { + context.assertEquals("testSpName", requestAfter.getJsonObject("searchIndex") + .getString("pickupServicePointName")); + } + } + + if (!REQUEST_ID_MISSING_EFFECTIVE_SHELVING_ORDER.equals(requestId)) { + context.assertEquals("testShelvingOrder", requestAfter.getJsonObject("searchIndex") + .getString("shelvingOrder")); + } + + if (!REQUEST_ID_MISSING_EFFECTIVE_CALL_NUMBER_COMPONENTS.equals(requestId) && + !REQUEST_ID_MISSING_CALL_NUMBER.equals(requestId)) { + + context.assertEquals("testCallNumber", requestAfter.getJsonObject("searchIndex") + .getJsonObject("callNumberComponents").getString("callNumber")); + } + + if (!REQUEST_ID_MISSING_EFFECTIVE_CALL_NUMBER_COMPONENTS.equals(requestId) && + !REQUEST_ID_MISSING_PREFIX.equals(requestId)) { + + context.assertEquals("testPrefix", requestAfter.getJsonObject("searchIndex") + .getJsonObject("callNumberComponents").getString("prefix")); } - context.assertEquals("testShelvingOrder", requestAfter.getJsonObject("searchIndex") - .getString("shelvingOrder")); - context.assertEquals("testCallNumber", requestAfter.getJsonObject("searchIndex") - .getJsonObject("callNumberComponents").getString("callNumber")); - context.assertEquals("testPrefix", requestAfter.getJsonObject("searchIndex") - .getJsonObject("callNumberComponents").getString("prefix")); - context.assertEquals("testSuffix", requestAfter.getJsonObject("searchIndex") - .getJsonObject("callNumberComponents").getString("suffix")); + if (!REQUEST_ID_MISSING_EFFECTIVE_CALL_NUMBER_COMPONENTS.equals(requestId) && + !REQUEST_ID_MISSING_SUFFIX.equals(requestId)) { + + context.assertEquals("testSuffix", requestAfter.getJsonObject("searchIndex") + .getJsonObject("callNumberComponents").getString("suffix")); + } } static void deleteTenant(TenantClient tenantClient) { @@ -544,10 +574,11 @@ private static void mockEndpoints() { requestsBeforeMigration.values() .forEach(request -> { + final String requestId = request.getString("id"); final String holdingsRecordId = randomId(); final String servicePointId = request.getString("pickupServicePointId"); - items.add(new JsonObject() + JsonObject item = new JsonObject() .put("id", request.getString("itemId")) .put("holdingsRecordId", holdingsRecordId) .put("effectiveShelvingOrder", "testShelvingOrder") @@ -555,7 +586,27 @@ private static void mockEndpoints() { .put("callNumber", "testCallNumber") .put("prefix", "testPrefix") .put("suffix", "testSuffix") - )); + ); + items.add(item); + + if (REQUEST_ID_MISSING_HOLDINGS_RECORD_ID.equals(requestId)) { + item.remove("holdingsRecordId"); + } + if (REQUEST_ID_MISSING_EFFECTIVE_SHELVING_ORDER.equals(requestId)) { + item.remove("effectiveShelvingOrder"); + } + if (REQUEST_ID_MISSING_EFFECTIVE_CALL_NUMBER_COMPONENTS.equals(requestId)) { + item.remove("effectiveCallNumberComponents"); + } + if (REQUEST_ID_MISSING_CALL_NUMBER.equals(requestId)) { + item.getJsonObject("effectiveCallNumberComponents").remove("callNumber"); + } + if (REQUEST_ID_MISSING_PREFIX.equals(requestId)) { + item.getJsonObject("effectiveCallNumberComponents").remove("prefix"); + } + if (REQUEST_ID_MISSING_SUFFIX.equals(requestId)) { + item.getJsonObject("effectiveCallNumberComponents").remove("suffix"); + } holdingRecords.add(new JsonObject() .put("id", holdingsRecordId) @@ -565,9 +616,14 @@ private static void mockEndpoints() { boolean servicePointDoesNotExists = servicePoints.stream() .noneMatch(sp -> sp.getString("id").equals(servicePointId)); if (servicePointDoesNotExists) { - servicePoints.add(new JsonObject() + JsonObject servicePoint = new JsonObject() .put("id", servicePointId) - .put("name", "testSpName")); + .put("name", "testSpName"); + servicePoints.add(servicePoint); + if ("87a7dfd9-8fdb-4b0d-9529-14912b484860".equals(request.getString("id"))) { + // request with pickup service point missing a name + servicePoint.remove("name"); + } } } }); diff --git a/src/test/resources/mocks/TlrDataMigrationTestData.sql b/src/test/resources/mocks/TlrDataMigrationTestData.sql index 6389caed7..1800190cb 100644 --- a/src/test/resources/mocks/TlrDataMigrationTestData.sql +++ b/src/test/resources/mocks/TlrDataMigrationTestData.sql @@ -93,12 +93,19 @@ INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('586 INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('d6678259-a135-4878-b987-5591a6432196', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "af2605a3-eec4-4704-b6bb-119531359b85", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('814bba99-ab26-41c4-a6e8-9c6414ccf305', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "ee8d927b-c0d5-4e54-bf8d-46edb839afed", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('06a69cc3-0e01-4166-908a-d28c184d8b4e', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "8eeb85ac-2780-43a2-bd15-daf8bbdfa9cb", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); -INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('87a7dfd9-8fdb-4b0d-9529-14912b484860', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "8d55866e-7541-4df9-86b3-2ca2e8cb843c", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request with pickup service point missing a name +INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('87a7dfd9-8fdb-4b0d-9529-14912b484860', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "8d55866e-7541-4df9-86b3-2ca2e8cb843c", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91a", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing effectiveCallNumberComponents.suffix INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('ecd86aab-a0ac-4d3c-bb90-0df390b1c6c4', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "82a1962d-b0cc-4819-a130-5838eb0a3f3a", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing effectiveCallNumberComponents.prefix INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('6ad37eb7-591b-46f3-9902-c1992ca41158', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "5709bed6-5f6f-42dd-b180-bd635ccfbfc0", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing effectiveCallNumberComponents.callNumber INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('f999719d-ca7e-44ce-9f75-9071c856e5d7', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "0ea377d2-9587-4361-9b89-65ebaff88006", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing effectiveCallNumberComponents INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('ddcee62b-c41f-4036-a1d7-5a039d259e87', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "0020bf0c-91a8-4125-a705-cfbf40962f94", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing effectiveShelvingOrder INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('45496a79-e1f3-412e-9076-fc5c4ee893f9', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "c8ad11ff-4e3a-4224-b5f2-c050690c24ab", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); +-- request for an Item with missing holdingsRecordId INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('6110e6ab-1d84-4bc5-a88e-e984acca9744', '{"item": {"title": "Test title", "barcode": "90000", "identifiers": [{"value": "0262012103", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "9780262012102", "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"}, {"value": "2003065165", "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"}]}, "itemId": "114925c7-4119-4c1a-a97c-c73812a22c66", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); -- request without an item INSERT INTO test_tenant_mod_circulation_storage.request (id, jsonb) VALUES ('1c3936dc-5596-4a3d-90c6-f3968f4db8ec', '{"itemId": "b4705eb4-efb2-430b-872d-697440dfc04b", "status": "Closed - Filled", "metadata": {"createdDate": "2021-03-18T09:55:56.152", "updatedDate": "2021-03-18T09:58:01.137+00:00", "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f", "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"}, "requester": {"barcode": "456", "lastName": "morty", "firstName": "panic"}, "requestDate": "2021-03-18T09:55:53.000+00:00", "requestType": "Hold", "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599", "fulfillmentPreference": "Hold Shelf", "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f", "requestExpirationDate": "2021-03-19T00:00:00.000+00:00", "holdShelfExpirationDate": "2021-04-08T23:59:59.551+00:00"}'); From e021361f70d7e8c5f3373e31f47bdadb453aea2b Mon Sep 17 00:00:00 2001 From: Roman Barannyk <53909129+roman-barannyk@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:15:30 +0300 Subject: [PATCH 7/7] [CIRCSTORE-459] Update RMB to v35.1, Vert.x to v4.4.5 (#434) * CIRCSTORE-459 update RMB version to 35.1 * CIRCSTORE-459 raise vertx-version --- pom.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index ba1bf798f..e840c4c0d 100644 --- a/pom.xml +++ b/pom.xml @@ -28,14 +28,21 @@ UTF-8 UTF-8 ${basedir}/ramls - 4.3.5 - 35.0.4 + 4.4.6 + 35.1.0 5.3.23 + + org.apache.logging.log4j + log4j-bom + 2.20.0 + pom + import + io.vertx vertx-stack-depchain @@ -46,14 +53,7 @@ org.testcontainers testcontainers-bom - 1.17.3 - pom - import - - - org.apache.logging.log4j - log4j-bom - 2.17.2 + 1.19.1 pom import @@ -185,7 +185,7 @@ org.apache.logging.log4j - log4j-slf4j-impl + log4j-slf4j2-impl org.testcontainers