From c153e34e22dd890b45aeb8a6428d9180f650f7b3 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 26 Oct 2023 11:36:05 +0200 Subject: [PATCH] Merged all 'accept' methods --- .../r11/tools/controller/XmlController.java | 75 ++++--------------- 1 file changed, 13 insertions(+), 62 deletions(-) diff --git a/Backend/tools-services/src/main/java/com/r11/tools/controller/XmlController.java b/Backend/tools-services/src/main/java/com/r11/tools/controller/XmlController.java index 34af141..0330421 100644 --- a/Backend/tools-services/src/main/java/com/r11/tools/controller/XmlController.java +++ b/Backend/tools-services/src/main/java/com/r11/tools/controller/XmlController.java @@ -30,78 +30,28 @@ public class XmlController implements RestController { this.xalan = xalan; } - - @ScopedControllerManifest(method = HandlerType.POST, path = "/xpath") public void acceptRequestXPath(Request request, Response response) { - XMLRequestBody requestBody; - try { - requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); - } catch (Exception ex) { - requestErrorResponse(response, ex); - return; - } - - if (requestBody.getProcessor() == null) { - invalidEngineSelectedResponse(response); - return; - } - - switch (requestBody.getProcessor()) { - case "saxon": - process(new XmlJob(response, requestBody, saxon, XmlJobType.XPath)); - break; - case "xalan": - process(new XmlJob(response, requestBody, xalan, XmlJobType.XPath)); - break; - default: - invalidEngineSelectedResponse(response); - } + acceptRequest(request, response, XmlJobType.XPath); } @ScopedControllerManifest(method = HandlerType.POST, path = "/xquery") public void acceptRequestXQuery(Request request, Response response) { - XMLRequestBody requestBody; - try { - requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); - } catch (Exception ex) { - requestErrorResponse(response, ex); - return; - } - if (requestBody.getProcessor() == null) { - invalidEngineSelectedResponse(response); - return; - } - - if (requestBody.getProcessor().equalsIgnoreCase("saxon")) - process(new XmlJob(response, requestBody, saxon, XmlJobType.XQuery)); - else - invalidEngineSelectedResponse(response); + acceptRequest(request, response, XmlJobType.XQuery); } @ScopedControllerManifest(method = HandlerType.POST, path = "/xsd") public void acceptRequestXsd(Request request, Response response) { - XMLRequestBody requestBody; - try { - requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); - } catch (Exception ex) { - requestErrorResponse(response, ex); - return; - } - - if (requestBody.getProcessor() == null) { - invalidEngineSelectedResponse(response); - return; - } - if (requestBody.getProcessor().equalsIgnoreCase("xalan")) - process(new XmlJob(response, requestBody, xalan, XmlJobType.XSD)); - else - invalidEngineSelectedResponse(response); + acceptRequest(request, response, XmlJobType.XSD); } @ScopedControllerManifest(method = HandlerType.POST, path = "/xslt") public void acceptRequestXslt(Request request, Response response) { + acceptRequest(request, response, XmlJobType.XSLT); + } + + public void acceptRequest(Request request, Response response, XmlJobType xmlJobType) { XMLRequestBody requestBody; try { requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); @@ -115,13 +65,13 @@ public class XmlController implements RestController { return; } - switch (requestBody.getProcessor()) { + switch (requestBody.getProcessor().toLowerCase()) { case "saxon": - process(new XmlJob(response, requestBody, saxon, XmlJobType.XSLT)); + process(new XmlJob(response, requestBody, saxon, xmlJobType)); return; case "xalan": - process(new XmlJob(response, requestBody, xalan, XmlJobType.XSLT)); + process(new XmlJob(response, requestBody, xalan, xmlJobType)); return; default: @@ -147,7 +97,7 @@ public class XmlController implements RestController { ") processed in " + duration + " ms."); } catch (Exception ex) { - responseBody = processingErrorResponse(xmlJob.getResponse(), ex, xmlJob); + responseBody = processingErrorResponse(ex, xmlJob); } finally { xmlJob.getResponse().body(this.gson.toJson(responseBody)); @@ -197,9 +147,10 @@ public class XmlController implements RestController { return new XMLResponseBody(result, "OK", requestBody.getVersion()); } - private XMLResponseBody processingErrorResponse(Response response, Exception ex, XmlJob xmlJob) { + private XMLResponseBody processingErrorResponse(Exception ex, XmlJob xmlJob) { XmlEngine engine = xmlJob.getEngine(); XmlJobType xmlJobType = xmlJob.getXmlJobType(); + Response response = xmlJob.getResponse(); XMLResponseBody responseBody = prepareErrorResponseBody(ex.getMessage(), engine.getVersion());