[Mulgara-svn] r1901 - trunk/src/jar/querylang/java/org/mulgara/protocol/http
pag at mulgara.org
pag at mulgara.org
Thu Jan 28 20:57:47 UTC 2010
Author: pag
Date: 2010-01-28 12:57:46 -0800 (Thu, 28 Jan 2010)
New Revision: 1901
Modified:
trunk/src/jar/querylang/java/org/mulgara/protocol/http/ProtocolServlet.java
Log:
Moved closing of an Answer until after the try/catch for streaming the answer to output. This means that irrelevant errors will not interfere with the HTTP result
Modified: trunk/src/jar/querylang/java/org/mulgara/protocol/http/ProtocolServlet.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/protocol/http/ProtocolServlet.java 2010-01-28 20:56:20 UTC (rev 1900)
+++ trunk/src/jar/querylang/java/org/mulgara/protocol/http/ProtocolServlet.java 2010-01-28 20:57:46 UTC (rev 1901)
@@ -187,6 +187,7 @@
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ Answer result = null;
try {
RestParams params = new RestParams(req);
RestParams.ResourceType type = params.getType();
@@ -201,19 +202,19 @@
query = getQuery(createAskQuery(params.getTriple()), req);
}
- Answer result = executeQuery(query, req);
+ result = executeQuery(query, req);
Output outputType = getOutputType(req, query);
sendAnswer(result, outputType, resp);
+ } catch (ServletException e) {
+ e.sendResponseTo(resp);
+ } finally {
try {
- result.close();
+ if (result != null) result.close();
} catch (TuplesException e) {
- throw new InternalErrorException("Error closing: " + e.getMessage());
+ logger.warn("Error closing: " + e.getMessage(), e);
}
-
- } catch (ServletException e) {
- e.sendResponseTo(resp);
}
}
More information about the Mulgara-svn
mailing list