| | |
| | | protected void processRequest(HttpServletRequest request, HttpServletResponse response) |
| | | throws ServletException, IOException |
| | | { |
| | | response.setContentType("text/html;charset=UTF-8"); |
| | | try (PrintWriter out = response.getWriter()) { |
| | | |
| | | // Asciidoc-Quelldatei aus HTTP-Request ermitteln |
| | | String vPath = request.getServletPath(); |
| | | String absname = getServletContext().getRealPath(vPath); |
| | | File adocfile = new File(absname); |
| | | |
| | | // HTML-Datei ermitteln |
| | | String nameext = adocfile.getName(); |
| | | String fname = nameext.substring(0, nameext.lastIndexOf(DOT)); |
| | | File htmlfile = new File(adocfile.getParentFile(), fname + DOT + HTML); |
| | | |
| | | /* |
| | | nach HTML transformieren, wenn die Quelle sich geandert hat oder |
| | | die HTML-Datei noch nicht existiert |
| | | */ |
| | | if(!htmlfile.exists() || adocfile.lastModified() > htmlfile.lastModified()) { |
| | | transform(absname); |
| | | // Asciidoc-Quelldatei aus HTTP-Request ermitteln |
| | | String vPath = request.getServletPath(); |
| | | String absname = getServletContext().getRealPath(vPath); |
| | | File adocfile = new File(absname); |
| | | |
| | | // HTML-Datei ermitteln |
| | | String nameext = adocfile.getName(); |
| | | String fname = nameext.substring(0, nameext.lastIndexOf(DOT)); |
| | | File htmlfile = new File(adocfile.getParentFile(), fname + DOT + HTML); |
| | | File outfile = htmlfile; // Standardmaessig wird HTML zurueckgegeben |
| | | response.setContentType("text/html;charset=UTF-8"); |
| | | |
| | | /* |
| | | nach HTML transformieren, wenn die Quelle sich geandert hat oder |
| | | die HTML-Datei noch nicht existiert |
| | | */ |
| | | if(!htmlfile.exists() || adocfile.lastModified() > htmlfile.lastModified()) { |
| | | transform(absname); |
| | | } |
| | | |
| | | /* |
| | | nach PDF transformieren, wenn der Parameter pdf=true existiert und |
| | | wenn die Quelle sich geandert hat oder |
| | | die PDF-Datei noch nicht existiert |
| | | */ |
| | | String pdf = request.getParameter(PDF); |
| | | if(null != pdf && pdf.equalsIgnoreCase(Boolean.TRUE.toString())) { |
| | | File pdffile = new File(adocfile.getParentFile(), fname + DOT + PDF); |
| | | outfile = pdffile; // PDF soll zurueckgegeben werden |
| | | response.setContentType("application/pdf;charset=UTF-8"); |
| | | if(!pdffile.exists() || adocfile.lastModified() > pdffile.lastModified()) { |
| | | transform(absname, PDF); |
| | | } |
| | | |
| | | /* |
| | | nach PDF transformieren, wenn der Parameter pdf=true existiert und |
| | | wenn die Quelle sich geandert hat oder |
| | | die PDF-Datei noch nicht existiert |
| | | */ |
| | | String pdf = request.getParameter(PDF); |
| | | if(null != pdf && pdf.equalsIgnoreCase(Boolean.TRUE.toString())) { |
| | | File pdffile = new File(adocfile.getParentFile(), fname + DOT + PDF); |
| | | if(!pdffile.exists() || adocfile.lastModified() > pdffile.lastModified()) { |
| | | transform(absname, PDF); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // HTML-Datei ausgeben |
| | | FileInputStream in = new FileInputStream(htmlfile); |
| | | try (PrintWriter out = response.getWriter()) { |
| | | // abhaengig vom Parameter pdf HTML- oder PDF-Datei ausgeben |
| | | FileInputStream in = new FileInputStream(outfile); |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader(in)); |
| | | String line; |
| | | while ((line = reader.readLine()) != null) { |