| | |
| | | */ |
| | | package de.uhilger.httpserver.adoc; |
| | | |
| | | import com.sun.net.httpserver.HttpExchange; |
| | | import de.uhilger.httpserver.base.HttpResponder; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.Map; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | |
| | | public static final String HTML = "html"; |
| | | public static final String PDF = "pdf"; |
| | | |
| | | public void handle(HttpExchange e, String fileBase, String fileName, boolean pdf) throws IOException { |
| | | File adocfile = new File(fileBase, fileName); |
| | | logger.fine("adocfile: " + adocfile.getAbsolutePath()); |
| | | AdocActor actor = new AdocActor(); |
| | | File outfile; |
| | | if(pdf) { |
| | | outfile = actor.getTargetFile(adocfile, AdocActor.PDF); |
| | | } else { |
| | | outfile = actor.getTargetFile(adocfile, AdocActor.HTML); |
| | | } |
| | | logger.fine("outfile: " + outfile.getAbsolutePath()); |
| | | HttpResponder fs = new HttpResponder(); |
| | | fs.serveFile(e, outfile); |
| | | } |
| | | |
| | | public File getTargetFile(File adocfile, String ext) { |
| | | String nameext = adocfile.getName(); |
| | | String fname = nameext.substring(0, nameext.lastIndexOf(DOT)); |
| | |
| | | logger.log(Level.FINE, "in: {0}", 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 |
| | | //logger.fine("out: " + outfile.getAbsolutePath()); |
| | | //response.setCharacterEncoding("UTF-8"); |
| | | File outfile = getTargetFile(adocfile, HTML); |
| | | File htmlfile = outfile; |
| | | |
| | |
| | | //response.setContentType("application/pdf"); |
| | | transform(absname, PDF); |
| | | } |
| | | //ServletOutputStream os = response.getOutputStream(); |
| | | //InputStream bytes = new FileInputStream(outfile); |
| | | //int b = bytes.read(); |
| | | //while(b > -1 ) { |
| | | // os.write(b); |
| | | // b = bytes.read(); |
| | | //} |
| | | } else { |
| | | //PrintWriter out = response.getWriter(); |
| | | //InputStreamReader in = new InputStreamReader(new FileInputStream(outfile), "UTF-8"); |
| | | //in.transferTo(out); |
| | | } |
| | | } |
| | | |