Removed duplicate code and adjusted captions #249
@@ -30,78 +30,28 @@ public class XmlController implements RestController {
|
|||||||
this.xalan = xalan;
|
this.xalan = xalan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ScopedControllerManifest(method = HandlerType.POST, path = "/xpath")
|
@ScopedControllerManifest(method = HandlerType.POST, path = "/xpath")
|
||||||
public void acceptRequestXPath(Request request, Response response) {
|
public void acceptRequestXPath(Request request, Response response) {
|
||||||
XMLRequestBody requestBody;
|
acceptRequest(request, response, XmlJobType.XPath);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ScopedControllerManifest(method = HandlerType.POST, path = "/xquery")
|
@ScopedControllerManifest(method = HandlerType.POST, path = "/xquery")
|
||||||
public void acceptRequestXQuery(Request request, Response response) {
|
public void acceptRequestXQuery(Request request, Response response) {
|
||||||
XMLRequestBody requestBody;
|
acceptRequest(request, response, XmlJobType.XQuery);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ScopedControllerManifest(method = HandlerType.POST, path = "/xsd")
|
@ScopedControllerManifest(method = HandlerType.POST, path = "/xsd")
|
||||||
public void acceptRequestXsd(Request request, Response response) {
|
public void acceptRequestXsd(Request request, Response response) {
|
||||||
XMLRequestBody requestBody;
|
acceptRequest(request, response, XmlJobType.XSD);
|
||||||
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);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ScopedControllerManifest(method = HandlerType.POST, path = "/xslt")
|
@ScopedControllerManifest(method = HandlerType.POST, path = "/xslt")
|
||||||
public void acceptRequestXslt(Request request, Response response) {
|
public void acceptRequestXslt(Request request, Response response) {
|
||||||
|
acceptRequest(request, response, XmlJobType.XSLT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void acceptRequest(Request request, Response response, XmlJobType xmlJobType) {
|
||||||
XMLRequestBody requestBody;
|
XMLRequestBody requestBody;
|
||||||
try {
|
try {
|
||||||
requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class);
|
requestBody = this.gson.fromJson(request.body(), XMLRequestBody.class);
|
||||||
@@ -115,13 +65,13 @@ public class XmlController implements RestController {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (requestBody.getProcessor()) {
|
switch (requestBody.getProcessor().toLowerCase()) {
|
||||||
case "saxon":
|
case "saxon":
|
||||||
process(new XmlJob(response, requestBody, saxon, XmlJobType.XSLT));
|
process(new XmlJob(response, requestBody, saxon, xmlJobType));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case "xalan":
|
case "xalan":
|
||||||
process(new XmlJob(response, requestBody, xalan, XmlJobType.XSLT));
|
process(new XmlJob(response, requestBody, xalan, xmlJobType));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -147,7 +97,7 @@ public class XmlController implements RestController {
|
|||||||
") processed in " + duration + " ms.");
|
") processed in " + duration + " ms.");
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
responseBody = processingErrorResponse(xmlJob.getResponse(), ex, xmlJob);
|
responseBody = processingErrorResponse(ex, xmlJob);
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
xmlJob.getResponse().body(this.gson.toJson(responseBody));
|
xmlJob.getResponse().body(this.gson.toJson(responseBody));
|
||||||
@@ -197,9 +147,10 @@ public class XmlController implements RestController {
|
|||||||
return new XMLResponseBody(result, "OK", requestBody.getVersion());
|
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();
|
XmlEngine engine = xmlJob.getEngine();
|
||||||
XmlJobType xmlJobType = xmlJob.getXmlJobType();
|
XmlJobType xmlJobType = xmlJob.getXmlJobType();
|
||||||
|
Response response = xmlJob.getResponse();
|
||||||
|
|
||||||
XMLResponseBody responseBody = prepareErrorResponseBody(ex.getMessage(), engine.getVersion());
|
XMLResponseBody responseBody = prepareErrorResponseBody(ex.getMessage(), engine.getVersion());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user