Fixed merge issue
This commit is contained in:
		| @@ -1,94 +0,0 @@ | ||||
| package com.r11.tools.controller; | ||||
|  | ||||
| import com.google.gson.Gson; | ||||
| import com.r11.tools.controller.internal.*; | ||||
| import com.r11.tools.model.XMLRequestBody; | ||||
| import com.r11.tools.model.XMLResponseBody; | ||||
| import com.r11.tools.model.XPathQueryResult; | ||||
| import com.r11.tools.xml.XmlEngine; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| import spark.Request; | ||||
| import spark.Response; | ||||
|  | ||||
| @GlobalControllerManifest | ||||
| public class XPathController implements RestController { | ||||
|  | ||||
|     private final Gson gson; | ||||
|     private final Logger logger; | ||||
|  | ||||
|     private final XmlEngine saxon; | ||||
|     private final XmlEngine xalan; | ||||
|  | ||||
|     public XPathController(Gson gson, Logger logger, XmlEngine saxon, XmlEngine xalan) { | ||||
|         this.gson = gson; | ||||
|         this.logger = logger; | ||||
|         this.saxon = saxon; | ||||
|         this.xalan = xalan; | ||||
|     } | ||||
|  | ||||
|     private XMLResponseBody errorResponse(String message, String processor) { | ||||
|         return new XMLResponseBody(message, "ERR", processor, -1); | ||||
|     } | ||||
|  | ||||
|     private void nonValidEngineSelectedResponse(Response response) { | ||||
|         XMLResponseBody responseBody = | ||||
|                 errorResponse("Valid engines are: saxon, xalan", "N/A"); | ||||
|         response.body(this.gson.toJson(responseBody)); | ||||
|         response.status(400); | ||||
|     } | ||||
|  | ||||
|     @ScopedControllerManifest(method = HandlerType.POST, path = "/xpath") | ||||
|     public void acceptRequest(Request request, Response response) { | ||||
|         XMLRequestBody requestBody; | ||||
|         try { | ||||
|             requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); | ||||
|         } catch (Exception e) { | ||||
|             XMLResponseBody responseBody = errorResponse(e.getMessage(), "N/A"); | ||||
|             response.status(400); | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (requestBody.getProcessor() == null) { | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         switch (requestBody.getProcessor()) { | ||||
|             case "saxon": | ||||
|                 process(response, requestBody, saxon); | ||||
|                 break; | ||||
|             case "xalan": | ||||
|                 process(response, requestBody, xalan); | ||||
|                 break; | ||||
|             default: | ||||
|                 nonValidEngineSelectedResponse(response); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void process(Response response, XMLRequestBody requestBody, XmlEngine engine) { | ||||
|         long timeStart = System.currentTimeMillis(); | ||||
|         XMLResponseBody responseBody = null; | ||||
|         try { | ||||
|             XPathQueryResult xPathQueryResult = | ||||
|                     engine.processXPath(requestBody.getData(), requestBody.getProcess(), requestBody.getVersion()); | ||||
|  | ||||
|             response.status(200); | ||||
|             long duration = System.currentTimeMillis() - timeStart; | ||||
|             responseBody = new XMLResponseBody(xPathQueryResult.getData().trim(), | ||||
|                     "OK", engine.getVersion(),duration); | ||||
|              | ||||
|             responseBody.setType(xPathQueryResult.getType()); | ||||
|             this.logger.info("Request (XPath, " + engine.getVersion() + ") processed in " + duration + " ms."); | ||||
|         } catch (Exception ex) { | ||||
|             responseBody = errorResponse(ex.getMessage(), engine.getVersion()); | ||||
|             response.status(400); | ||||
|  | ||||
|             this.logger.error("Error on processing XPath using " + engine.getVersion() + ". " + ex); | ||||
|         } finally { | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -1,87 +0,0 @@ | ||||
| package com.r11.tools.controller; | ||||
|  | ||||
| import com.google.gson.Gson; | ||||
| import com.r11.tools.controller.internal.*; | ||||
| import com.r11.tools.model.XMLRequestBody; | ||||
| import com.r11.tools.model.XMLResponseBody; | ||||
| import com.r11.tools.xml.XmlEngine; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| import spark.Request; | ||||
| import spark.Response; | ||||
|  | ||||
| /** | ||||
|  * Controller used to handle XQuery tool. Currently, it supports Saxon engine | ||||
|  * @author Adam Bem | ||||
|  */ | ||||
| @GlobalControllerManifest | ||||
| public class XQueryController implements RestController { | ||||
|  | ||||
|     private final Gson gson; | ||||
|     private final Logger logger; | ||||
|     private final XmlEngine saxon; | ||||
|  | ||||
|     public XQueryController(Gson gson, Logger logger, XmlEngine saxon) { | ||||
|         this.gson = gson; | ||||
|         this.logger = logger; | ||||
|         this.saxon = saxon; | ||||
|     } | ||||
|  | ||||
|     private XMLResponseBody prepareErrorResponse(String message, String processor) { | ||||
|         return new XMLResponseBody(message, "ERR", processor, -1); | ||||
|     } | ||||
|  | ||||
|     private void nonValidEngineSelectedResponse(Response response) { | ||||
|         XMLResponseBody responseBody = | ||||
|                 prepareErrorResponse("Valid engines are: saxon", "N/A"); | ||||
|         response.body(this.gson.toJson(responseBody)); | ||||
|         response.status(400); | ||||
|     } | ||||
|  | ||||
|     @ScopedControllerManifest(method = HandlerType.POST, path = "/xquery") | ||||
|     public void acceptRequest(Request request, Response response) { | ||||
|         XMLRequestBody requestBody; | ||||
|         try { | ||||
|             requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); | ||||
|         } catch (Exception e) { | ||||
|             XMLResponseBody responseBody = prepareErrorResponse(e.getMessage(), "N/A"); | ||||
|  | ||||
|             response.status(400); | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|             return; | ||||
|         } | ||||
|         if (requestBody.getProcessor() == null) { | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|             return; | ||||
|         } | ||||
|          | ||||
|         if (requestBody.getProcessor().equalsIgnoreCase("saxon")) | ||||
|             process(response, requestBody, saxon); | ||||
|         else | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|     } | ||||
|  | ||||
|     private void process(Response response, XMLRequestBody requestBody, XmlEngine engine) { | ||||
|         XMLResponseBody responseBody = null; | ||||
|         long timeStart = System.currentTimeMillis(); | ||||
|         try { | ||||
|             String result = engine.executeXQuery(requestBody.getData(), requestBody.getProcess(), requestBody.getVersion()); | ||||
|  | ||||
|             response.status(200); | ||||
|  | ||||
|             long duration = System.currentTimeMillis() - timeStart; | ||||
|             responseBody = new XMLResponseBody(result, "OK", engine.getVersion(), duration); | ||||
|  | ||||
|             this.logger.info("Request (XQuery, " + engine.getVersion() + ") processed in " + duration + " ms."); | ||||
|         } catch (Exception ex) { | ||||
|             response.status(400); | ||||
|             responseBody = prepareErrorResponse(ex.getMessage(), engine.getVersion()); | ||||
|  | ||||
|             this.logger.error("Error on processing XQuery using " + engine.getVersion() + ". " + ex); | ||||
|         } | ||||
|         finally { | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -1,85 +0,0 @@ | ||||
| package com.r11.tools.controller; | ||||
|  | ||||
| import com.google.gson.Gson; | ||||
| import com.r11.tools.controller.internal.*; | ||||
| import com.r11.tools.model.XMLRequestBody; | ||||
| import com.r11.tools.model.XMLResponseBody; | ||||
| import com.r11.tools.xml.XmlEngine; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| import spark.Request; | ||||
| import spark.Response; | ||||
|  | ||||
| @GlobalControllerManifest | ||||
| public class XsdController implements RestController { | ||||
|  | ||||
|     private final Gson gson; | ||||
|     private final Logger logger; | ||||
|  | ||||
|     private final XmlEngine xalan; | ||||
|  | ||||
|     public XsdController(Gson gson, Logger logger, XmlEngine xalan) { | ||||
|         this.gson = gson; | ||||
|         this.logger = logger; | ||||
|         this.xalan = xalan; | ||||
|     } | ||||
|  | ||||
|     private XMLResponseBody prepareErrorResponse(String message, String processor) { | ||||
|         return new XMLResponseBody(message, "ERR", processor, -1); | ||||
|     } | ||||
|  | ||||
|     private void nonValidEngineSelectedResponse(Response response) { | ||||
|         XMLResponseBody responseBody = | ||||
|                 prepareErrorResponse("Valid engines is: xalan", "N/A"); | ||||
|         response.body(this.gson.toJson(responseBody)); | ||||
|         response.status(400); | ||||
|     } | ||||
|     @ScopedControllerManifest(method = HandlerType.POST, path = "/xsd") | ||||
|     public void acceptRequest(Request request, Response response) { | ||||
|         XMLRequestBody requestBody; | ||||
|         try { | ||||
|             requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); | ||||
|         } catch (Exception e) { | ||||
|             XMLResponseBody responseBody = prepareErrorResponse(e.getMessage(), "N/A"); | ||||
|  | ||||
|             response.status(400); | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (requestBody.getProcessor() == null) { | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|             return; | ||||
|         } | ||||
|         if (requestBody.getProcessor().equalsIgnoreCase("xalan")) | ||||
|             process(response, requestBody, xalan); | ||||
|         else | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private void process(Response response, XMLRequestBody requestBody, XmlEngine engine) { | ||||
|         XMLResponseBody responseBody = null; | ||||
|         try { | ||||
|             long timeStart = System.currentTimeMillis(); | ||||
|             String result = engine.validate(requestBody.getData(), requestBody.getProcess()).trim(); | ||||
|  | ||||
|             response.status(200); | ||||
|  | ||||
|             long duration = System.currentTimeMillis() - timeStart; | ||||
|             responseBody = new XMLResponseBody(result, "OK", engine.getVersion(), duration); | ||||
|  | ||||
|             this.logger.info("Request (XSD, " +  engine.getVersion() + ") processed in " + duration + " ms."); | ||||
|         } catch (Exception ex) { | ||||
|             responseBody = prepareErrorResponse(ex.getMessage(), engine.getVersion()); | ||||
|             response.status(400); | ||||
|  | ||||
|             this.logger.error("Error on validation against XSD using " + engine.getVersion() + ". " + ex); | ||||
|         } | ||||
|         finally { | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|         } | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -1,93 +0,0 @@ | ||||
| package com.r11.tools.controller; | ||||
|  | ||||
| import com.google.gson.Gson; | ||||
| import com.r11.tools.controller.internal.*; | ||||
| import com.r11.tools.model.XMLRequestBody; | ||||
| import com.r11.tools.model.XMLResponseBody; | ||||
| import com.r11.tools.xml.XmlEngine; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| import spark.Request; | ||||
| import spark.Response; | ||||
|  | ||||
| @GlobalControllerManifest | ||||
| public class XsltController implements RestController { | ||||
|  | ||||
|     private final Gson gson; | ||||
|     private final Logger logger; | ||||
|  | ||||
|     private final XmlEngine saxon; | ||||
|     private final XmlEngine xalan; | ||||
|  | ||||
|     public XsltController(Gson gson, Logger logger, XmlEngine saxon, XmlEngine xalan) { | ||||
|         this.gson = gson; | ||||
|         this.logger = logger; | ||||
|         this.saxon = saxon; | ||||
|         this.xalan = xalan; | ||||
|     } | ||||
|  | ||||
|     private XMLResponseBody prepareErrorResponse(String message, String processor) { | ||||
|         return new XMLResponseBody(message, "ERR", processor, -1); | ||||
|     } | ||||
|  | ||||
|     private void nonValidEngineSelectedResponse(Response response) { | ||||
|         XMLResponseBody responseBody = | ||||
|                 prepareErrorResponse("Valid engines are: saxon, xalan", "N/A"); | ||||
|         response.body(this.gson.toJson(responseBody)); | ||||
|         response.status(400); | ||||
|     } | ||||
|  | ||||
|     @ScopedControllerManifest(method = HandlerType.POST, path = "/xslt") | ||||
|     public void acceptRequest(Request request, Response response) { | ||||
|         XMLRequestBody requestBody; | ||||
|         try { | ||||
|             requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class); | ||||
|         } catch (Exception e) { | ||||
|             XMLResponseBody responseBody = prepareErrorResponse(e.getMessage(), "N/A"); | ||||
|  | ||||
|             response.status(400); | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (requestBody.getProcessor() == null) { | ||||
|             nonValidEngineSelectedResponse(response); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         switch (requestBody.getProcessor()) { | ||||
|             case "saxon": | ||||
|                 process(response, requestBody, saxon); | ||||
|                 return; | ||||
|  | ||||
|             case "xalan": | ||||
|                 process(response, requestBody, xalan); | ||||
|                 return; | ||||
|  | ||||
|             default: | ||||
|                 nonValidEngineSelectedResponse(response); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void process(Response response, XMLRequestBody requestBody, XmlEngine engine) { | ||||
|         XMLResponseBody responseBody = null; | ||||
|         long timeStart = System.currentTimeMillis(); | ||||
|         try { | ||||
|             String result = engine.processXSLT(requestBody.getData(), requestBody.getProcess()); | ||||
|             response.status(200); | ||||
|  | ||||
|             long duration = System.currentTimeMillis() - timeStart; | ||||
|             responseBody = new XMLResponseBody(result, "OK", engine.getVersion(), duration); | ||||
|  | ||||
|             this.logger.info("Request (XSLT, " + engine.getVersion() + ") processed in " + duration + " ms."); | ||||
|         } catch (Exception ex) { | ||||
|             responseBody = prepareErrorResponse(ex.getMessage(), engine.getVersion()); | ||||
|             response.status(400); | ||||
|             this.logger.error("Error on processing XSLT using " + engine.getVersion() + ". " + ex); | ||||
|  | ||||
|         } finally { | ||||
|             response.body(this.gson.toJson(responseBody)); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user