Skip to content
Snippets Groups Projects
Commit 0b278afe authored by Robert Butora's avatar Robert Butora
Browse files

(quick hack:) makes response writing exclusive (from Servlet XOR from FormatFilter)

parent 3e6d0827
No related branches found
No related tags found
No related merge requests found
...@@ -81,14 +81,12 @@ public class FormatResponseFilter implements Filter ...@@ -81,14 +81,12 @@ public class FormatResponseFilter implements Filter
{ {
LOGGER.info("trace"); LOGGER.info("trace");
LOGGER.info("REQUEST START ============================================================================================="); LOGGER.info("REQUEST START =============================================================================================");
long startTime_msec = System.currentTimeMillis();
FormatResponseWrapper responseWrapper = new FormatResponseWrapper((HttpServletResponse) response); FormatResponseWrapper responseWrapper = new FormatResponseWrapper((HttpServletResponse) response);
chain.doFilter(request, responseWrapper); chain.doFilter(request, responseWrapper);
long startTime_msec = System.currentTimeMillis();
String[] pubdidArr = responseWrapper.getPubdidArr(); String[] pubdidArr = responseWrapper.getPubdidArr();
if ((pubdidArr != null) && (pubdidArr.length > 0)) if ((pubdidArr != null) && (pubdidArr.length > 0))
...@@ -100,7 +98,6 @@ public class FormatResponseFilter implements Filter ...@@ -100,7 +98,6 @@ public class FormatResponseFilter implements Filter
SubsurveyId subsurveyId = new SubsurveyId(params); SubsurveyId subsurveyId = new SubsurveyId(params);
// FIXME add invalid param excpetions -> params already parsed in servlet // FIXME add invalid param excpetions -> params already parsed in servlet
Dataset[] datasetArr = queryObsCore( Dataset[] datasetArr = queryObsCore(
pubdidArr, pubdidArr,
coord,// VLKB: calc ovelrap-codes coord,// VLKB: calc ovelrap-codes
...@@ -114,10 +111,11 @@ public class FormatResponseFilter implements Filter ...@@ -114,10 +111,11 @@ public class FormatResponseFilter implements Filter
settings.serviceUrls.mergeUrl(), settings.serviceUrls.mergeUrl(),
dbSubsurveyArr); dbSubsurveyArr);
response.setCharacterEncoding(RESPONSE_ENCODING);
final String respFormat = settings.serviceUrls.responseFormat(); final String respFormat = settings.serviceUrls.responseFormat();
LOGGER.info("responseFormat: " + respFormat); LOGGER.info("responseFormat: " + respFormat);
response.setCharacterEncoding(RESPONSE_ENCODING);
if(respFormat.equals("application/x-vlkb+xml")) if(respFormat.equals("application/x-vlkb+xml"))
{ {
response.setContentType("application/xml"); response.setContentType("application/xml");
......
...@@ -52,17 +52,11 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -52,17 +52,11 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
throws ServletException, IOException, UnsupportedEncodingException throws ServletException, IOException, UnsupportedEncodingException
{ {
LOGGER.info("trace"); LOGGER.info("trace");
PrintWriter writer = response.getWriter();
long startTime_msec = System.currentTimeMillis();
legacyLogEntry(request); legacyLogEntry(request);
Map<String, String[]> params = request.getParameterMap();
try try
{ {
Map<String, String[]> params = request.getParameterMap();
Coord coord = new Coord(params); Coord coord = new Coord(params);
SubsurveyId subsurveyId = new SubsurveyId(params); SubsurveyId subsurveyId = new SubsurveyId(params);
...@@ -75,8 +69,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -75,8 +69,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
} }
String[] pubdidArr = dbps.queryOverlapingPubdid(coord, subsurveyId); String[] pubdidArr = dbps.queryOverlapingPubdid(coord, subsurveyId);
final String RESPONSE_ENCODING = "UTF-8"; final String RESPONSE_ENCODING = "UTF-8";
/* if filters installed response will be wrapped */ /* if filters installed response will be wrapped */
...@@ -100,6 +92,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -100,6 +92,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
response.setContentType("text/plain"); response.setContentType("text/plain");
response.setCharacterEncoding(RESPONSE_ENCODING); response.setCharacterEncoding(RESPONSE_ENCODING);
PrintWriter writer = response.getWriter();
for(String pubdid : pubdidArr) for(String pubdid : pubdidArr)
{ {
writer.println(pubdid); writer.println(pubdid);
...@@ -114,6 +107,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -114,6 +107,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
response.setStatus(HttpServletResponse.SC_BAD_REQUEST); response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
response.setContentType("text/plain"); response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
doMultiValuedParamNotSupported(ex.getMessage(), writer); doMultiValuedParamNotSupported(ex.getMessage(), writer);
writer.close(); writer.close();
} }
...@@ -124,6 +118,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -124,6 +118,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
response.setStatus(HttpServletResponse.SC_BAD_REQUEST); response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
response.setContentType("text/plain"); response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
doUsageError(ex.getMessage(), writer); doUsageError(ex.getMessage(), writer);
writer.close(); writer.close();
} }
...@@ -135,31 +130,11 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -135,31 +130,11 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
response.setContentType("text/plain"); response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
doError(ex.toString(), writer); doError(ex.toString(), writer);
writer.close(); writer.close();
} }
finally
{
//writer.close();
}
/*
catch (IllegalArgumentException illArg)
{
response.sendError(HttpServletResponse.SC_BAD_REQUEST,
"Request with incorrect parameters: " + illArg.getMessage());
return;
}
catch(Exception ex)
{
LOGGER.info("Exception: " + ex.getMessage());
ex.printStackTrace();
}
*/
return; return;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment