Merged all 'accept' methods
This commit is contained in:
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user