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

adds (crude) error handling to Formatting-filter

parent 05a9f19f
No related branches found
No related tags found
No related merge requests found
...@@ -57,6 +57,11 @@ public class FormatResponseFilter implements Filter ...@@ -57,6 +57,11 @@ public class FormatResponseFilter implements Filter
protected Subsurvey[] dbSubsurveyArr = null; protected Subsurvey[] dbSubsurveyArr = null;
private String reqQueryString; private String reqQueryString;
protected void doUsageError(String message, PrintWriter printWriter)
{
printWriter.println("UsageError : " + message);
}
@Override @Override
public void init(FilterConfig filterConfig) throws ServletException public void init(FilterConfig filterConfig) throws ServletException
...@@ -77,16 +82,11 @@ public class FormatResponseFilter implements Filter ...@@ -77,16 +82,11 @@ public class FormatResponseFilter implements Filter
LOGGER.info("trace"); LOGGER.info("trace");
LOGGER.info("REQUEST START ============================================================================================="); LOGGER.info("REQUEST START =============================================================================================");
Map<String, String[]> params = request.getParameterMap();
//for(String keys : params.keySet()) LOGGER.info("Params: " + keys);
Coord coord = new Coord(params);
SubsurveyId subsurveyId = new SubsurveyId(params);
// FIXME add invalid param excpetions
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(); long startTime_msec = System.currentTimeMillis();
String[] pubdidArr = responseWrapper.getPubdidArr(); String[] pubdidArr = responseWrapper.getPubdidArr();
...@@ -95,6 +95,12 @@ public class FormatResponseFilter implements Filter ...@@ -95,6 +95,12 @@ public class FormatResponseFilter implements Filter
{ {
PrintWriter responseWriter = ((HttpServletResponse)response).getWriter(); PrintWriter responseWriter = ((HttpServletResponse)response).getWriter();
Map<String, String[]> params = request.getParameterMap();
Coord coord = new Coord(params);
SubsurveyId subsurveyId = new SubsurveyId(params);
// 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
...@@ -126,15 +132,18 @@ public class FormatResponseFilter implements Filter ...@@ -126,15 +132,18 @@ public class FormatResponseFilter implements Filter
} }
else else
{ {
; // FIXME throws wrong setting-file param: batter convert string to enum and throw 'unrecoginzed respFormat' then; final String errMsg = "Illegal response format request: " + respFormat;
// here use switch with enums and switch-default: say error: 'unsupported respFromat' type LOGGER.info(errMsg);
response.setContentType("text/plain");
doUsageError(errMsg, responseWriter);
// FIXME set http err code
} }
responseWriter.close(); responseWriter.close();
} }
else else
{ {
LOGGER.info("Servlet returned no ID's."); LOGGER.info("SearchServlet returned no ID's.");
} }
LOGGER.info("REQUEST END ============================================================================================="); LOGGER.info("REQUEST END =============================================================================================");
......
...@@ -99,7 +99,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -99,7 +99,6 @@ 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)
{ {
...@@ -114,7 +113,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -114,7 +113,6 @@ 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 = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
doMultiValuedParamNotSupported(ex.getMessage(), writer); doMultiValuedParamNotSupported(ex.getMessage(), writer);
writer.close(); writer.close();
...@@ -125,7 +123,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -125,7 +123,6 @@ 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 = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
doUsageError(ex.getMessage(), writer); doUsageError(ex.getMessage(), writer);
writer.close(); writer.close();
...@@ -137,7 +134,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -137,7 +134,6 @@ 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 = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
doError(ex.toString(), writer); doError(ex.toString(), writer);
writer.close(); writer.close();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment