From 7cfffe43881f5911ac0d97813d9f4c3d6ef210a9 Mon Sep 17 00:00:00 2001 From: Tilman Walther Date: Sat, 21 Jan 2012 12:35:27 +0100 Subject: [PATCH] MIME type --- .../wikiinajar/xrays/ControllerResponse.java | 3 +- .../net/sf/wikiinajar/xrays/HttpServer.java | 60 ++++++++++--------- 2 files changed, 35 insertions(+), 28 deletions(-) mode change 100644 => 100755 More Wiki in a jar/src/net/sf/wikiinajar/xrays/ControllerResponse.java diff --git a/More Wiki in a jar/src/net/sf/wikiinajar/xrays/ControllerResponse.java b/More Wiki in a jar/src/net/sf/wikiinajar/xrays/ControllerResponse.java old mode 100644 new mode 100755 index cd83b39..db62424 --- a/More Wiki in a jar/src/net/sf/wikiinajar/xrays/ControllerResponse.java +++ b/More Wiki in a jar/src/net/sf/wikiinajar/xrays/ControllerResponse.java @@ -35,7 +35,8 @@ import java.util.Hashtable; public class ControllerResponse { private static final String MIME_DEFAULT = "text/plain"; - + + // TODO Tilman Das ist der übergebene MIME-Type public static final String MIME_XML = "text/xml"; public static final String MIME_HTML = "text/html"; diff --git a/More Wiki in a jar/src/net/sf/wikiinajar/xrays/HttpServer.java b/More Wiki in a jar/src/net/sf/wikiinajar/xrays/HttpServer.java index cc6964d..91d7c88 100755 --- a/More Wiki in a jar/src/net/sf/wikiinajar/xrays/HttpServer.java +++ b/More Wiki in a jar/src/net/sf/wikiinajar/xrays/HttpServer.java @@ -22,6 +22,7 @@ package net.sf.wikiinajar.xrays; import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -203,34 +204,39 @@ public class HttpServer extends NanoHTTPD { + // TODO Tilman Hier geht es los + boolean serverSideXslt = true; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); - // Hier geht es los - String xsltFileName = "public/skins/default/master.xsl"; - + if (serverSideXslt) { - - // http://www.oreilly.de/artikel/java_xslt_tips.html - - // JAXP liest Daten über die Source-Schnittstelle - Source xmlSource = new StreamSource(new StringReader(fullFile)); - Source xsltSource = new StreamSource(xsltFileName); - - // das Factory-Pattern unterstützt verschiedene XSLT-Prozessoren - TransformerFactory transFact = TransformerFactory.newInstance(); - - Transformer trans = null; - try { - trans = transFact.newTransformer(xsltSource); - } catch (TransformerConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - try { - trans.transform(xmlSource, new StreamResult(System.out)); - } catch (TransformerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + String xsltFileName = "public/skins/default/master.xsl"; + + + + // http://www.oreilly.de/artikel/java_xslt_tips.html + + // JAXP liest Daten über die Source-Schnittstelle + Source xmlSource = new StreamSource(new StringReader(fullFile)); + Source xsltSource = new StreamSource(xsltFileName); + + // das Factory-Pattern unterstützt verschiedene XSLT-Prozessoren + TransformerFactory transFact = TransformerFactory.newInstance(); + + Transformer trans = null; + try { + trans = transFact.newTransformer(xsltSource); + } catch (TransformerConfigurationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + try { + trans.transform(xmlSource, new StreamResult(baos)); + } catch (TransformerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } @@ -244,7 +250,7 @@ public class HttpServer extends NanoHTTPD { // TODO Hier evtl. noch den MIME type ändern - Response serverResponse = newNoChacheResponse(HTTP_OK, response.getMime(), fullFile); + Response serverResponse = newNoChacheResponse(HTTP_OK, response.getMime(), baos.toString()); return serverResponse;