Skip to content

Commit f41898e

Browse files
authored
MODEXPW-611. Remove mod-configuration usage to get tenant addresses (#706)
1 parent f0d9cc1 commit f41898e

3 files changed

Lines changed: 19 additions & 89 deletions

File tree

src/main/java/org/folio/dew/batch/acquisitions/services/ConfigurationService.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,13 @@
22

33
import java.util.UUID;
44

5-
import com.fasterxml.jackson.core.JsonProcessingException;
65
import com.fasterxml.jackson.databind.JsonNode;
76
import com.fasterxml.jackson.databind.ObjectMapper;
87

98
import lombok.RequiredArgsConstructor;
109
import org.apache.logging.log4j.LogManager;
1110
import org.apache.logging.log4j.Logger;
12-
import org.folio.dew.client.ConfigurationClient;
13-
import org.folio.dew.domain.dto.ModelConfiguration;
14-
import org.folio.dew.error.NotFoundException;
11+
import org.folio.dew.client.SettingsClient;
1512
import org.springframework.cache.annotation.Cacheable;
1613
import org.springframework.stereotype.Service;
1714

@@ -21,7 +18,7 @@ public class ConfigurationService {
2118

2219
private static final Logger logger = LogManager.getLogger();
2320

24-
private final ConfigurationClient configurationClient;
21+
private final SettingsClient settingsClient;
2522
private final ObjectMapper objectMapper;
2623

2724
@Cacheable(cacheNames = "addressConfiguration")
@@ -30,22 +27,19 @@ public String getAddressConfig(UUID shipToConfigId) {
3027
logger.warn("getAddressConfig:: shipToConfigId is null");
3128
return "";
3229
}
33-
ModelConfiguration config;
3430
try {
35-
config = configurationClient.getConfigById(shipToConfigId.toString());
36-
} catch (NotFoundException e) {
37-
logger.warn("getAddressConfig:: Cannot find config by id: '{}'", shipToConfigId);
38-
return "";
39-
}
40-
if (config.getValue() == null) {
41-
logger.warn("getAddressConfig:: Address on the config with id '{}' is not found", shipToConfigId);
42-
return "";
43-
}
44-
try {
45-
JsonNode valueJsonObject = objectMapper.readTree(config.getValue());
31+
var settingEntry = settingsClient.getSettingById(shipToConfigId.toString());
32+
33+
if (settingEntry == null || !settingEntry.containsKey("value")) {
34+
logger.warn("getAddressConfig:: Address on the config with id '{}' is not found", shipToConfigId);
35+
return "";
36+
}
37+
38+
var value = settingEntry.get("value");
39+
JsonNode valueJsonObject = objectMapper.valueToTree(value);
4640
return valueJsonObject.has("address") ? valueJsonObject.get("address").asText() : "";
47-
} catch (JsonProcessingException e) {
48-
logger.error("getAddressConfig:: Cannot convert config value: {} to json", config, e);
41+
} catch (Exception e) {
42+
logger.warn("getAddressConfig:: Cannot find config by id: '{}'", shipToConfigId, e);
4943
return "";
5044
}
5145
}

src/main/java/org/folio/dew/client/ConfigurationClient.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/test/resources/mappings/configurations.json

Lines changed: 6 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
{
44
"request": {
55
"method": "GET",
6-
"url": "/configurations/entries?query=%28module%3D%3DORG%20and%20configName%3D%3DlocaleSettings%29"
6+
"url": "/settings/entries/1947e709-8d60-42e2-8dde-7566ae446d24"
77
},
88
"response": {
99
"status": 200,
10-
"body": "{\n \"configs\": [\n {\n \"id\": \"8b6fcaae-e5bc-4878-a68d-56c11eea68c0\",\n \"module\": \"ORG\",\n \"configName\": \"localeSettings\",\n \"enabled\": true,\n \"value\": \"{\\\"locale\\\":\\\"en-US\\\",\\\"timezone\\\":\\\"Pacific/Yap\\\"}\",\n \"metadata\": {\n \"createdDate\": \"2021-07-07T14:45:26.120+00:00\",\n \"createdByUserId\": \"36fa42eb-55e0-57e0-ad3b-1dc8b6a6bb31\",\n \"updatedDate\": \"2021-07-07T14:46:23.639+00:00\",\n \"updatedByUserId\": \"36fa42eb-55e0-57e0-ad3b-1dc8b6a6bb31\"\n }\n }\n ],\n \"totalRecords\": 1,\n \"resultInfo\": {\n \"totalRecords\": 1,\n \"facets\": [],\n \"diagnostics\": []\n }\n}",
10+
"body": "{\n \"id\": \"1947e709-8d60-42e2-8dde-7566ae446d24\",\n \"scope\": \"ui-tenant-settings.addresses.manage\",\n \"key\": \"ADDRESS_1723093000876\",\n \"value\": {\n \"name\": \"Name 1\",\n \"address\": \"Address 123\"\n },\n \"metadata\": {\n \"createdDate\": \"2024-08-08T04:56:41.232+00:00\",\n \"createdByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\",\n \"updatedDate\": \"2024-08-08T04:56:51.654+00:00\",\n \"updatedByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\"\n }\n}\n",
1111
"headers": {
1212
"Content-Type": "application/json"
1313
}
@@ -16,20 +16,7 @@
1616
{
1717
"request": {
1818
"method": "GET",
19-
"url": "/configurations/entries/1947e709-8d60-42e2-8dde-7566ae446d24"
20-
},
21-
"response": {
22-
"status": 200,
23-
"body": "{\n \"id\": \"1947e709-8d60-42e2-8dde-7566ae446d24\",\n \"module\": \"TENANT\",\n \"configName\": \"tenant.addresses\",\n \"code\": \"ADDRESS_1723093000876\",\n \"enabled\": true,\n \"value\": \"{\\\"name\\\":\\\"Name 1\\\",\\\"address\\\":\\\"Address 123\\\"}\",\n \"metadata\": {\n \"createdDate\": \"2024-08-08T04:56:41.232+00:00\",\n \"createdByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\",\n \"updatedDate\": \"2024-08-08T04:56:51.654+00:00\",\n \"updatedByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\"\n }\n}\n",
24-
"headers": {
25-
"Content-Type": "application/json"
26-
}
27-
}
28-
},
29-
{
30-
"request": {
31-
"method": "GET",
32-
"url": "/configurations/entries/116a38c2-cac3-4f08-816b-afebfebe453d"
19+
"url": "/settings/entries/116a38c2-cac3-4f08-816b-afebfebe453d"
3320
},
3421
"response": {
3522
"status": 200,
@@ -42,7 +29,7 @@
4229
{
4330
"request": {
4431
"method": "GET",
45-
"url": "/configurations/entries/c5cefe49-e4d4-433e-b286-24ffd935b043"
32+
"url": "/settings/entries/c5cefe49-e4d4-433e-b286-24ffd935b043"
4633
},
4734
"response": {
4835
"status": 404,
@@ -55,42 +42,11 @@
5542
{
5643
"request": {
5744
"method": "GET",
58-
"url": "/configurations/entries/8ea92aa2-7b11-4f0e-9ed2-ab8fe281f37f"
59-
},
60-
"response": {
61-
"status": 200,
62-
"body": "{\n \"id\": \"1947e709-8d60-42e2-8dde-7566ae446d24\",\n \"module\": \"TENANT\",\n \"configName\": \"tenant.addresses\",\n \"code\": \"ADDRESS_1723093000876\",\n \"enabled\": true,\n \"value\": \"{\\\"name\\\":\\\"Name 1\\\"}\",\n \"metadata\": {\n \"createdDate\": \"2024-08-08T04:56:41.232+00:00\",\n \"createdByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\",\n \"updatedDate\": \"2024-08-08T04:56:51.654+00:00\",\n \"updatedByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\"\n }\n}\n",
63-
"headers": {
64-
"Content-Type": "application/json"
65-
}
66-
}
67-
},
68-
{
69-
"scenarioName": "First call should return empty collection",
70-
"requiredScenarioState": "Started",
71-
"newScenarioState": "Configuration is present",
72-
"request": {
73-
"method": "GET",
74-
"url": "/configurations/entries?query=module%3D%3DBULKEDIT%20and%20configName%3D%3Dstatuses"
75-
},
76-
"response": {
77-
"status": 200,
78-
"body": "{\n \"configs\": [],\n \"totalRecords\": 0,\n \"resultInfo\": {\n \"totalRecords\": 0,\n \"facets\": [],\n \"diagnostics\": []\n }\n}",
79-
"headers": {
80-
"Content-Type": "application/json"
81-
}
82-
}
83-
},
84-
{
85-
"scenarioName": "First call should return empty collection",
86-
"requiredScenarioState": "Configuration is present",
87-
"request": {
88-
"method": "GET",
89-
"url": "/configurations/entries?query=module%3D%3DBULKEDIT%20and%20configName%3D%3Dstatuses"
45+
"url": "/settings/entries/8ea92aa2-7b11-4f0e-9ed2-ab8fe281f37f"
9046
},
9147
"response": {
9248
"status": 200,
93-
"body": "{\n \"configs\": [\n {\n \"id\": \"a143fe98-cc6a-4006-82c5-66672b9ce4fa\",\n \"module\": \"BULKEDIT\",\n \"configName\": \"statuses\",\n \"default\": true,\n \"enabled\": true,\n \"value\": \"{\\\"Missing\\\":[\\\"Available\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Long missing\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Unknown\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\"],\\\"Restricted\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"In process (non-requestable)\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Available\\\":[\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Withdrawn\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Intellectual item\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unavailable\\\",\\\"Unknown\\\"],\\\"Unavailable\\\":[\\\"Available\\\",\\\"Missing\\\",\\\"Withdrawn\\\",\\\"In process (non-requestable)\\\",\\\"Intellectual item\\\",\\\"Long missing\\\",\\\"Restricted\\\",\\\"Unknown\\\"]}\",\n \"metadata\": {\n \"createdDate\": \"2022-04-17T14:45:46.622+00:00\",\n \"createdByUserId\": \"3096e76a-aac3-5ee2-b7e3-05db58f5b83e\",\n \"updatedDate\": \"2022-04-17T14:45:46.622+00:00\",\n \"updatedByUserId\": \"3096e76a-aac3-5ee2-b7e3-05db58f5b83e\"\n }\n }\n ],\n \"totalRecords\": 1,\n \"resultInfo\": {\n \"totalRecords\": 1,\n \"facets\": [],\n \"diagnostics\": []\n }\n}",
49+
"body": "{\n \"id\": \"8ea92aa2-7b11-4f0e-9ed2-ab8fe281f37f\",\n \"scope\": \"ui-tenant-settings.addresses.manage\",\n \"key\": \"ADDRESS_1723093000876\",\n \"value\": {\n \"name\": \"Name 1\"\n },\n \"metadata\": {\n \"createdDate\": \"2024-08-08T04:56:41.232+00:00\",\n \"createdByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\",\n \"updatedDate\": \"2024-08-08T04:56:51.654+00:00\",\n \"updatedByUserId\": \"0c79340d-ad6e-4c9a-8384-bac681d24f8c\"\n }\n}\n",
9450
"headers": {
9551
"Content-Type": "application/json"
9652
}

0 commit comments

Comments
 (0)