From 23d6e022d70926041642047afd85218116b89415 Mon Sep 17 00:00:00 2001 From: RBKR Date: Wed, 19 Mar 2025 14:11:17 +0100 Subject: [PATCH 1/5] Add PillarDeleteFileApprover to ReferenceSettings --- .../resources/examples/settings/ReferenceSettings.xml | 1 + .../conf/integrityservice/ReferenceSettings.xml | 3 +++ .../src/main/resources/xsd/ReferenceSettings.xsd | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/bitrepository-core/src/main/resources/examples/settings/ReferenceSettings.xml b/bitrepository-core/src/main/resources/examples/settings/ReferenceSettings.xml index e7b13c1b8..688cb7b05 100644 --- a/bitrepository-core/src/main/resources/examples/settings/ReferenceSettings.xml +++ b/bitrepository-core/src/main/resources/examples/settings/ReferenceSettings.xml @@ -445,6 +445,7 @@ Pillar1 Alpha FILE + Anon Anonymoose anon@kb.dk diff --git a/bitrepository-integration/src/main/resources/quickstart/conf/integrityservice/ReferenceSettings.xml b/bitrepository-integration/src/main/resources/quickstart/conf/integrityservice/ReferenceSettings.xml index e01335fc6..1db9f581d 100644 --- a/bitrepository-integration/src/main/resources/quickstart/conf/integrityservice/ReferenceSettings.xml +++ b/bitrepository-integration/src/main/resources/quickstart/conf/integrityservice/ReferenceSettings.xml @@ -113,16 +113,19 @@ checksum-pillar Alpha CHECKSUM + Anon Anonymoose anon@kb.dk file1-pillar Beta FILE + Anon Anonymoose anon@kb.dk file2-pillar Gamma FILE + Anon Anonymoose anon@kb.dk diff --git a/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd b/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd index d6db153a6..c376c9d6c 100644 --- a/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd +++ b/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd @@ -398,6 +398,14 @@ + + + + Name/email/contact-info of the person responsible for approving any deletions on this pillar prior + to running an actual DeleteFile-operation. + + + From 562a9122de4150f2f26af805d033b0115bad23f6 Mon Sep 17 00:00:00 2001 From: RBKR Date: Thu, 20 Mar 2025 16:06:46 +0100 Subject: [PATCH 2/5] Add integrity endpoint exposing pillar details --- .../common/utils/SettingsUtils.java | 43 +++++++++++-------- .../web/RestIntegrityService.java | 9 ++++ 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java b/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java index c97eb183e..64d853701 100644 --- a/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java +++ b/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java @@ -101,6 +101,26 @@ public static String getCollectionName(String collectionID) { return name; } + public static IntegrityServiceSettings getIntegrityServiceSettings() { + return settings.getReferenceSettings().getIntegrityServiceSettings(); + } + + /** + * Grab all PillarDetails from the ReferenceSettings if any are defined and return them as a list. + * Return an empty list if not defined. + * @return List of all PillarDetails defined in the ReferenceSettings + */ + public static List getPillarIntegrityDetails() { + PillarIntegrityDetails pillarIntegrityDetails = getIntegrityServiceSettings().getPillarIntegrityDetails(); + if (pillarIntegrityDetails != null) { + List pillarDetails = pillarIntegrityDetails.getPillarDetails(); + if (pillarDetails != null) { + return pillarDetails; + } + } + return new ArrayList<>(); + } + /** * Get the human-readable pillar name for the given pillarID from the ReferenceSettings. * @@ -108,21 +128,14 @@ public static String getCollectionName(String collectionID) { * @return Returns the pillar name for the given pillar ID. */ public static String getPillarName(String pillarID) { - PillarIntegrityDetails details = settings.getReferenceSettings().getIntegrityServiceSettings().getPillarIntegrityDetails(); - if (details != null) { - for (PillarIntegrityDetails.PillarDetails d : details.getPillarDetails()) { - if (d.getPillarID().equals(pillarID)) { - return d.getPillarName(); - } + for (PillarIntegrityDetails.PillarDetails d : getPillarIntegrityDetails()) { + if (d.getPillarID().equals(pillarID)) { + return d.getPillarName(); } } return null; } - public static IntegrityServiceSettings getIntegrityServiceSettings() { - return settings.getReferenceSettings().getIntegrityServiceSettings(); - } - /** * Get the {@link PillarType} for the given Pillar ID. * @@ -130,12 +143,9 @@ public static IntegrityServiceSettings getIntegrityServiceSettings() { * @return Returns the {@link PillarType} for the given pillar ID. */ public static PillarType getPillarType(String pillarID) { - PillarIntegrityDetails details = settings.getReferenceSettings().getIntegrityServiceSettings().getPillarIntegrityDetails(); - if (details != null) { - for (PillarIntegrityDetails.PillarDetails d : details.getPillarDetails()) { - if (d.getPillarID().equals(pillarID)) { - return d.getPillarType(); - } + for (PillarIntegrityDetails.PillarDetails d : getPillarIntegrityDetails()) { + if (d.getPillarID().equals(pillarID)) { + return d.getPillarType(); } } return null; @@ -212,5 +222,4 @@ public static Set getStatusContributorsForCollection() { contributors.addAll(SettingsUtils.getAllPillarIDs()); return contributors; } - } diff --git a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java index db411deec..32d326028 100644 --- a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java +++ b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java @@ -42,6 +42,7 @@ import org.bitrepository.service.workflow.Workflow; import org.bitrepository.service.workflow.WorkflowManager; import org.bitrepository.service.workflow.WorkflowStatistic; +import org.bitrepository.settings.referencesettings.PillarIntegrityDetails; import org.bitrepository.settings.referencesettings.PillarType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -261,6 +262,14 @@ public String getIntegrityStatus(@QueryParam("collectionID") String collectionID return writer.toString(); } + @GET + @Path("/getPillarDetails") + @Produces(MediaType.APPLICATION_JSON) + // TODO consider returning a DTO instead + public List getPillarDetails() { + return SettingsUtils.getPillarIntegrityDetails(); + } + /*** * Get the current workflow’s setup as a JSON array */ From d385dcd40d53d43abb8cfcd8a6c80fa76fd3df8e Mon Sep 17 00:00:00 2001 From: RBKR Date: Thu, 20 Mar 2025 16:07:31 +0100 Subject: [PATCH 3/5] Add frontend stuff to display pillar details table --- .../src/main/webapp/dashboard.html | 16 ++++++++++- .../src/main/webapp/static/css/dashboard.css | 12 ++------- .../dashboard_components/collectionStatus.js | 18 ++++++------- .../js/dashboard_components/pillar-details.js | 27 +++++++++++++++++++ .../webapp/static/js/views/dashboard-page.js | 17 +++++++----- 5 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 bitrepository-webclient/src/main/webapp/static/js/dashboard_components/pillar-details.js diff --git a/bitrepository-webclient/src/main/webapp/dashboard.html b/bitrepository-webclient/src/main/webapp/dashboard.html index 2bcc30dea..e6abb6b45 100644 --- a/bitrepository-webclient/src/main/webapp/dashboard.html +++ b/bitrepository-webclient/src/main/webapp/dashboard.html @@ -38,7 +38,7 @@ - + @@ -52,6 +52,19 @@
Collection nameCollection name Number of files Latest Ingest Collection size
+
+ + + + + + + + + + +
Pillar IDPillar namePillar typeDeletion approver
+
@@ -106,6 +119,7 @@

Data distributed on pillars

+ diff --git a/bitrepository-webclient/src/main/webapp/static/css/dashboard.css b/bitrepository-webclient/src/main/webapp/static/css/dashboard.css index 7c0dad911..5b6684275 100644 --- a/bitrepository-webclient/src/main/webapp/static/css/dashboard.css +++ b/bitrepository-webclient/src/main/webapp/static/css/dashboard.css @@ -4,7 +4,7 @@ margin-top: 0.9em; } -.collectionStatus, .dataSizeGraph, .collectionPieBox, .legPieBox { +.collectionStatus, .pillarDetails, .dataSizeGraph, .collectionPieBox, .legPieBox { border: 1px solid #cccccc; float: left; margin: 0 0 2em; @@ -15,18 +15,10 @@ box-sizing: border-box; } -.collectionStatus, .collectionPieBox, .legPieBox { +.collectionStatus, .pillarDetails, .collectionPieBox, .legPieBox { background-color: #F9FCFF; } -.collectionStatus td, .collectionStatus th { - text-align: right; -} - -td.collectionName, th.collectionName { - text-align: left; -} - td.error { background-color: #CC0000; color: white; diff --git a/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/collectionStatus.js b/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/collectionStatus.js index ea7e52144..d45389f16 100644 --- a/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/collectionStatus.js +++ b/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/collectionStatus.js @@ -111,15 +111,15 @@ function makeCollectionRow(collection) { let id = collection.collectionID; let html = ""; html += ""; - html += "" + id + "
"; - html += ""; - html += ""; - html += ""; - html += ""; - html += ""; - html += " "; - html += " "; - html += ""; + html += "" + id + "
"; + html += ""; + html += ""; + html += ""; + html += ""; + html += ""; + html += ""; + html += ""; + html += ""; return html; } diff --git a/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/pillar-details.js b/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/pillar-details.js new file mode 100644 index 000000000..3c62b66bf --- /dev/null +++ b/bitrepository-webclient/src/main/webapp/static/js/dashboard_components/pillar-details.js @@ -0,0 +1,27 @@ +/** + * Appends the information from the pillar details JSON as rows to a table with the given ID. + * @param pillarDetails JSON containing the pillar details to build the rows from + * @param tableBodyId ID of the table to append the rows to + */ +function fillInPillarDetailsTable(pillarDetails, tableBodyId) { + pillarDetails.forEach((detail) => { + $(tableBodyId).append(makePillarDetailsRow(detail)); + }); +} + +/** + * Make a row in the pillar details table given the pillar details JSON. + * @param details Pillar details from ReferenceSettings-file as JSON + * @returns {string} HTML table row containing the pillar details + */ +function makePillarDetailsRow(details) { + let html = ""; + html += ""; + html += "" + details.pillarID + ""; + html += "" + details.pillarName + ""; + html += "" + details.pillarType + ""; + html += "" + details.pillarDeleteFileApprover + ""; + html += ""; + return html; +} + diff --git a/bitrepository-webclient/src/main/webapp/static/js/views/dashboard-page.js b/bitrepository-webclient/src/main/webapp/static/js/views/dashboard-page.js index 2c7a9e9cb..66daf2c31 100644 --- a/bitrepository-webclient/src/main/webapp/static/js/views/dashboard-page.js +++ b/bitrepository-webclient/src/main/webapp/static/js/views/dashboard-page.js @@ -4,8 +4,8 @@ let nameMapper; let dsGraph; function init() { - $.get('repo/urlservice/integrityService', {}, function (url) { - setIntegrityServiceUrl(url); + $.get('repo/urlservice/integrityService', {}, function (integrityUrlBase) { + setIntegrityServiceUrl(integrityUrlBase); $.get("repo/reposervice/getRepositoryName/", {}, function (j) { $("#pageHeader").html("Overview of " + j); }, "html"); @@ -14,11 +14,11 @@ function init() { nameMapper = new CollectionNameMapper(collections); setNameMapper(nameMapper); initiateCollectionStatus(collections, "#collectionStatusBody", 10000); - let dataUrl = url + "/integrity/Statistics/getDataSizeHistory/?collectionID="; + let dataUrl = integrityUrlBase + "/integrity/Statistics/getDataSizeHistory/?collectionID="; dsGraph = new DataSizeGraph(collections, colorMapper, new FileSizeUtils(), dataUrl, "#graphType", "#dataSizeGraphPlaceholder"); makeCollectionSelectionCheckboxes("#dataSizeGraphCollectionSelection", dsGraph, colorMapper, nameMapper); - drawPillarDataSizePieChart(url + "/integrity/Statistics/getLatestPillarDataSize/"); - drawCollectionDataSizePieChart(url + "/integrity/Statistics/getLatestcollectionDataSize/", colorMapper); + drawPillarDataSizePieChart(integrityUrlBase + "/integrity/Statistics/getLatestPillarDataSize/"); + drawCollectionDataSizePieChart(integrityUrlBase + "/integrity/Statistics/getLatestcollectionDataSize/", colorMapper); $("#graphType").on("change", function (event) { event.preventDefault(); dsGraph.graphTypeChanged(); }); @@ -26,10 +26,13 @@ function init() { // Update graphs every hour update_data_size_graph = setInterval(function () { dsGraph.updateData(); - drawPillarDataSizePieChart(url + "/integrity/Statistics/getLatestPillarDataSize/"); - drawCollectionDataSizePieChart(url + "/integrity/Statistics/getLatestcollectionDataSize/", colorMapper); + drawPillarDataSizePieChart(integrityUrlBase + "/integrity/Statistics/getLatestPillarDataSize/"); + drawCollectionDataSizePieChart(integrityUrlBase + "/integrity/Statistics/getLatestcollectionDataSize/", colorMapper); }, 3600000); }); + $.getJSON(integrityUrlBase + "/integrity/IntegrityService/getPillarDetails", {}, function (details) { + fillInPillarDetailsTable(details, "#pillarDetailsBody") + }); }, 'html'); } From 0dd053749e1898c25ffcd4271e106c8736591b9d Mon Sep 17 00:00:00 2001 From: RBKR Date: Thu, 20 Mar 2025 16:43:04 +0100 Subject: [PATCH 4/5] Add pillar details dto and a small serialization test --- .../web/PillarDetailsDTO.java | 67 +++++++++++++++++++ .../web/RestIntegrityService.java | 12 +++- .../web/PillarDetailsDTOTest.java | 24 +++++++ 3 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java create mode 100644 bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java diff --git a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java new file mode 100644 index 000000000..52aae863f --- /dev/null +++ b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java @@ -0,0 +1,67 @@ +package org.bitrepository.integrityservice.web; + +import java.io.Serializable; + +public class PillarDetailsDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String pillarID; + private String pillarName; + private String pillarType; + private String pillarDeleteFileApprover; + + // Constructors + public PillarDetailsDTO() {} + + public PillarDetailsDTO(String pillarID, String pillarName, String pillarType, String pillarDeleteFileApprover) { + this.pillarID = pillarID; + this.pillarName = pillarName; + this.pillarType = pillarType; + this.pillarDeleteFileApprover = pillarDeleteFileApprover; + } + + // Getters and Setters + public String getPillarID() { + return pillarID; + } + + public void setPillarID(String pillarID) { + this.pillarID = pillarID; + } + + public String getPillarName() { + return pillarName; + } + + public void setPillarName(String pillarName) { + this.pillarName = pillarName; + } + + public String getPillarType() { + return pillarType; + } + + public void setPillarType(String pillarType) { + this.pillarType = pillarType; + } + + public String getPillarDeleteFileApprover() { + return pillarDeleteFileApprover; + } + + public void setPillarDeleteFileApprover(String pillarDeleteFileApprover) { + this.pillarDeleteFileApprover = pillarDeleteFileApprover; + } + + // toString() Method + @Override + public String toString() { + return "PillarDetailsDTO{" + + "pillarID='" + pillarID + '\'' + + ", pillarName='" + pillarName + '\'' + + ", pillarType=" + pillarType + + ", pillarDeleteFileApprover='" + pillarDeleteFileApprover + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java index 32d326028..93ec01bd3 100644 --- a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java +++ b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java @@ -265,9 +265,15 @@ public String getIntegrityStatus(@QueryParam("collectionID") String collectionID @GET @Path("/getPillarDetails") @Produces(MediaType.APPLICATION_JSON) - // TODO consider returning a DTO instead - public List getPillarDetails() { - return SettingsUtils.getPillarIntegrityDetails(); + public List getPillarDetails() { + List pillarDetails = SettingsUtils.getPillarIntegrityDetails(); + List result = new ArrayList<>(pillarDetails.size()); + for (PillarIntegrityDetails.PillarDetails details : pillarDetails) { + PillarDetailsDTO detailsDTO = new PillarDetailsDTO(details.getPillarID(), details.getPillarName(), + details.getPillarType().value(), details.getPillarDeleteFileApprover()); + result.add(detailsDTO); + } + return result; } /*** diff --git a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java new file mode 100644 index 000000000..862ecf84b --- /dev/null +++ b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java @@ -0,0 +1,24 @@ +package org.bitrepository.integrityservice.web; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.testng.annotations.Test; + +import java.io.IOException; + +import static org.testng.Assert.*; + +public class PillarDetailsDTOTest { + private final ObjectMapper objectMapper = new ObjectMapper(); // Use ObjectMapper for JSON + + @Test + void testSerialization() throws IOException { + PillarDetailsDTO dto = new PillarDetailsDTO("id", "pillar", "TYPE", "admin"); + + String jsonOutput = objectMapper.writeValueAsString(dto); + + assertTrue(jsonOutput.contains("\"pillarID\":\"id\"")); + assertTrue(jsonOutput.contains("\"pillarName\":\"pillar\"")); + assertTrue(jsonOutput.contains("\"pillarType\":\"TYPE\"")); + assertTrue(jsonOutput.contains("\"pillarDeleteFileApprover\":\"admin\"")); + } +} \ No newline at end of file From 019cbcd490a9500647803a81b56776921eaf2c1c Mon Sep 17 00:00:00 2001 From: RBKR Date: Fri, 21 Mar 2025 11:54:50 +0100 Subject: [PATCH 5/5] Small changes from PR --- .../org/bitrepository/common/utils/SettingsUtils.java | 5 +++-- .../{PillarDetailsDTO.java => PillarDetailsDto.java} | 10 +++------- .../integrityservice/web/RestIntegrityService.java | 6 +++--- ...arDetailsDTOTest.java => PillarDetailsDtoTest.java} | 4 ++-- .../src/main/resources/xsd/ReferenceSettings.xsd | 4 ++-- 5 files changed, 13 insertions(+), 16 deletions(-) rename bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/{PillarDetailsDTO.java => PillarDetailsDto.java} (87%) rename bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/{PillarDetailsDTOTest.java => PillarDetailsDtoTest.java} (88%) diff --git a/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java b/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java index 64d853701..4a816a984 100644 --- a/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java +++ b/bitrepository-core/src/main/java/org/bitrepository/common/utils/SettingsUtils.java @@ -29,6 +29,7 @@ import java.math.BigInteger; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -115,10 +116,10 @@ public static List getPillarIntegrityDetai if (pillarIntegrityDetails != null) { List pillarDetails = pillarIntegrityDetails.getPillarDetails(); if (pillarDetails != null) { - return pillarDetails; + return Collections.unmodifiableList(pillarDetails); } } - return new ArrayList<>(); + return List.of(); } /** diff --git a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDto.java similarity index 87% rename from bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java rename to bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDto.java index 52aae863f..8fe4dc329 100644 --- a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDTO.java +++ b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/PillarDetailsDto.java @@ -2,8 +2,7 @@ import java.io.Serializable; -public class PillarDetailsDTO implements Serializable { - +public class PillarDetailsDto implements Serializable { private static final long serialVersionUID = 1L; private String pillarID; @@ -11,17 +10,15 @@ public class PillarDetailsDTO implements Serializable { private String pillarType; private String pillarDeleteFileApprover; - // Constructors - public PillarDetailsDTO() {} + public PillarDetailsDto() {} - public PillarDetailsDTO(String pillarID, String pillarName, String pillarType, String pillarDeleteFileApprover) { + public PillarDetailsDto(String pillarID, String pillarName, String pillarType, String pillarDeleteFileApprover) { this.pillarID = pillarID; this.pillarName = pillarName; this.pillarType = pillarType; this.pillarDeleteFileApprover = pillarDeleteFileApprover; } - // Getters and Setters public String getPillarID() { return pillarID; } @@ -54,7 +51,6 @@ public void setPillarDeleteFileApprover(String pillarDeleteFileApprover) { this.pillarDeleteFileApprover = pillarDeleteFileApprover; } - // toString() Method @Override public String toString() { return "PillarDetailsDTO{" + diff --git a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java index 93ec01bd3..8a981a478 100644 --- a/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java +++ b/bitrepository-integrity-service/src/main/java/org/bitrepository/integrityservice/web/RestIntegrityService.java @@ -265,11 +265,11 @@ public String getIntegrityStatus(@QueryParam("collectionID") String collectionID @GET @Path("/getPillarDetails") @Produces(MediaType.APPLICATION_JSON) - public List getPillarDetails() { + public List getPillarDetails() { List pillarDetails = SettingsUtils.getPillarIntegrityDetails(); - List result = new ArrayList<>(pillarDetails.size()); + List result = new ArrayList<>(pillarDetails.size()); for (PillarIntegrityDetails.PillarDetails details : pillarDetails) { - PillarDetailsDTO detailsDTO = new PillarDetailsDTO(details.getPillarID(), details.getPillarName(), + PillarDetailsDto detailsDTO = new PillarDetailsDto(details.getPillarID(), details.getPillarName(), details.getPillarType().value(), details.getPillarDeleteFileApprover()); result.add(detailsDTO); } diff --git a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDtoTest.java similarity index 88% rename from bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java rename to bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDtoTest.java index 862ecf84b..b25ef9a33 100644 --- a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDTOTest.java +++ b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/web/PillarDetailsDtoTest.java @@ -7,12 +7,12 @@ import static org.testng.Assert.*; -public class PillarDetailsDTOTest { +public class PillarDetailsDtoTest { private final ObjectMapper objectMapper = new ObjectMapper(); // Use ObjectMapper for JSON @Test void testSerialization() throws IOException { - PillarDetailsDTO dto = new PillarDetailsDTO("id", "pillar", "TYPE", "admin"); + PillarDetailsDto dto = new PillarDetailsDto("id", "pillar", "TYPE", "admin"); String jsonOutput = objectMapper.writeValueAsString(dto); diff --git a/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd b/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd index c376c9d6c..4fd7583af 100644 --- a/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd +++ b/bitrepository-reference-settings/src/main/resources/xsd/ReferenceSettings.xsd @@ -401,8 +401,8 @@ - Name/email/contact-info of the person responsible for approving any deletions on this pillar prior - to running an actual DeleteFile-operation. + Free text field for name/email/contact-info of the person responsible for approving any deletions + on this pillar prior to running an actual DeleteFile-operation.