From 71fc4d2c691d9f09cef33df0c5b47a8354408d0e Mon Sep 17 00:00:00 2001 From: Eduardo Pinho Date: Mon, 19 Jun 2023 23:34:02 +0100 Subject: [PATCH] Transfer Options - improve web service and UI (#649) * [core] Include transfer syntax UID in transfer options response * Accept PUT in tranfer option update endpoint * [webapp] Improve Transfer Options submenu - show Transfer Syntax UID in each option - simplify and restyle form, reduce text - have two "Select all" buttons instead of one - one of them changes TSes for the selected SOP class, the other one changes all transfer syntaxes --- .../java/pt/ua/dicoogle/server/SOPList.java | 1 + .../ua/dicoogle/server/TransfersStorage.java | 4 + .../management/TransferOptionsServlet.java | 7 +- .../webapp/js/actions/transferActions.js | 18 +++- .../management/transferOptionsView.js | 98 +++++++++++++------ .../webapp/js/stores/transferStore.js | 30 ++++-- .../webapp/sass/modules/_management.scss | 4 + 7 files changed, 120 insertions(+), 42 deletions(-) diff --git a/dicoogle/src/main/java/pt/ua/dicoogle/server/SOPList.java b/dicoogle/src/main/java/pt/ua/dicoogle/server/SOPList.java index ffeea11d4..9cef7f583 100644 --- a/dicoogle/src/main/java/pt/ua/dicoogle/server/SOPList.java +++ b/dicoogle/src/main/java/pt/ua/dicoogle/server/SOPList.java @@ -339,6 +339,7 @@ public String getSOPList() { JSONObject tsobj = new JSONObject(); String name = TransfersStorage.getGlobalTransferMap().get(i); boolean value = ts.getTS()[i]; + tsobj.put("uid", TransfersStorage.convertTsNameToUID(name)); tsobj.put("name", name); tsobj.put("value", value); diff --git a/dicoogle/src/main/java/pt/ua/dicoogle/server/TransfersStorage.java b/dicoogle/src/main/java/pt/ua/dicoogle/server/TransfersStorage.java index 839fc5a51..b981b0d82 100755 --- a/dicoogle/src/main/java/pt/ua/dicoogle/server/TransfersStorage.java +++ b/dicoogle/src/main/java/pt/ua/dicoogle/server/TransfersStorage.java @@ -185,6 +185,10 @@ public String[] getVerboseTS() { } return return_value; } + + public static String convertTsNameToUID(String name) { + return namesUidMapping.getKey(name).toString(); + } public List asList() { return Arrays.asList(this.getVerboseTS()); diff --git a/dicoogle/src/main/java/pt/ua/dicoogle/server/web/servlets/management/TransferOptionsServlet.java b/dicoogle/src/main/java/pt/ua/dicoogle/server/web/servlets/management/TransferOptionsServlet.java index fc9cf9c17..36423ab97 100644 --- a/dicoogle/src/main/java/pt/ua/dicoogle/server/web/servlets/management/TransferOptionsServlet.java +++ b/dicoogle/src/main/java/pt/ua/dicoogle/server/web/servlets/management/TransferOptionsServlet.java @@ -50,7 +50,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se } @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String UID = req.getParameter("uid"); String option = req.getParameter("option"); @@ -77,6 +77,11 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws S ServerSettingsManager.saveSettings(); ResponseUtil.simpleResponse(resp, "success", true); } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + this.doPut(req, resp); + } public static class TransferenceOptionsResponse { List