public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PortalTransaction trans = new PortalTransaction(); try { populateTransaction(trans, request, response); logRequestStart(trans); doService(trans); } catch (Throwable th) { reportError(th, trans.requestNumber, trans.logger); trans.reply = createErrorReply(th); } trans.endTime = Calendar.getInstance(); logPerformance(trans); try { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.print(trans.reply); out.close(); } catch (Exception e) { /** Not much we can do here but log the error. */ reportError(e, trans.requestNumber, trans.logger); } logRequestEnd(trans); }
private void populateTransaction( PortalTransaction trans, HttpServletRequest request, HttpServletResponse response) { trans.logger = new Logger(); trans.request = request; trans.response = response; trans.reply = null; trans.requestNumber = nextRequestNumber(); trans.beginTime = Calendar.getInstance(); trans.endTime = null; trans.logger.setRequestID(Integer.toString(trans.requestNumber)); }