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