Author: kcardineaud Date: 2011-05-25 17:21:53 +0200 (Wed, 25 May 2011) New Revision: 590 Url: http://nuiton.org/repositories/revision/jrst/590 Log: #1546 Add some generate methodes Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java trunk/jrst/src/test/java/org/nuiton/jrst/JRSTCompareDocutils.java Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java =================================================================== --- trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2011-05-23 07:51:02 UTC (rev 589) +++ trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2011-05-25 15:21:53 UTC (rev 590) @@ -32,7 +32,6 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; @@ -40,6 +39,8 @@ import java.io.OutputStream; import java.io.Reader; import java.io.StringReader; +import java.io.StringWriter; +import java.io.Writer; import java.net.URL; import java.util.HashMap; import java.util.List; @@ -121,8 +122,6 @@ // /** XSL Stylesheet to transform xml into rst. */ // protected static final String rst2rst = "JRSTWriter"; - /** XSL Stylesheet to transform Docbook into ODF. */ - protected static final String docbook2odf = "/xsl/docbook2odf-0.244/docbook.xsl"; /** XSL Stylesheet to transform Docbook into PDF. */ protected static final String docbook2fo = "/docbook/fo/docbook.xsl"; @@ -172,7 +171,7 @@ stylesheets.put(TYPE_JAVAHELP, rst2docbook + "," + docbook2javahelp); stylesheets.put(TYPE_HTMLHELP, rst2docbook + "," + docbook2htmlhelp); stylesheets.put(TYPE_RST, ""); - stylesheets.put(TYPE_ODT, rst2docbook + "," + docbook2odf); + //stylesheets.put(TYPE_ODT, rst2docbook + "," + docbook2odf); stylesheets.put(TYPE_FO, rst2docbook + "," + docbook2fo); stylesheets.put(TYPE_PDF, rst2docbook + "," + docbook2fo); } @@ -266,7 +265,7 @@ URL url = fileIn.toURI().toURL(); Reader reader = new InputStreamReader(url.openStream(), UTF_8); FileWriter writer = new FileWriter(fileOut); - String result = generate(xslListOrOutType, reader); + String result = generateString(xslListOrOutType, reader); fileOut.getAbsoluteFile().getParentFile().mkdirs(); // generation PDF @@ -319,18 +318,42 @@ * @throws Exception */ public static String generate(String xslListOrOutType, String in) throws Exception { - return generate(xslListOrOutType, new StringReader(in)); + return generateString(xslListOrOutType, new StringReader(in)); } /** + * + * @param xslListOrOutType + * @param in + * @throws Exception + */ + public static Writer generate(String xslListOrOutType, Reader in) throws Exception { + StringWriter writer = new StringWriter(); + writer.write(generateString(xslListOrOutType,in)); + return writer; + } + + + /** + * + * @param xslListOrOutType + * @param in + * @throws Exception + */ + public static StringBuffer generate(String xslListOrOutType, StringBuffer in) throws Exception { + return new StringBuffer(generate(xslListOrOutType, in.toString())); + } + + + /** * * @param xslListOrOutType * @param in * @throws Exception */ - public static String generate(String xslListOrOutType, Reader in) throws Exception { + public static String generateString(String xslListOrOutType, Reader in) throws Exception { - Document doc = generateXMl(in); + Document doc = generateXML(in); // Sortie vers rst if (xslListOrOutType.equals(TYPE_RST)){ @@ -340,7 +363,11 @@ } return doc.asXML(); } + + + + private static Document applyXsls(Document doc, String xslListOrOutType) throws IOException, FileNotFoundException, TransformerException { // search xsl file list to apply @@ -439,7 +466,7 @@ return doc; } - public static Document generateXMl(Reader in) throws Exception { + public static Document generateXML(Reader in) throws Exception { // parse rst file JRSTReader jrst = new JRSTReader(); return jrst.read(in); Modified: trunk/jrst/src/test/java/org/nuiton/jrst/JRSTCompareDocutils.java =================================================================== --- trunk/jrst/src/test/java/org/nuiton/jrst/JRSTCompareDocutils.java 2011-05-23 07:51:02 UTC (rev 589) +++ trunk/jrst/src/test/java/org/nuiton/jrst/JRSTCompareDocutils.java 2011-05-25 15:21:53 UTC (rev 590) @@ -11,6 +11,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; +import java.io.FileFilter; import javax.xml.transform.TransformerException; @@ -27,8 +28,6 @@ import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; -import org.junit.Ignore; -import org.junit.Test; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.ClassPathI18nInitializer; import org.nuiton.util.FileUtil; @@ -80,7 +79,13 @@ LinkedList<File> rstFilesTests = new LinkedList<File>(); //1. recuperation des fichiers de test directement dans le repertoire des fichiers rst - rstFilesTests.addAll(FileUtil.getFiles(rep)); + class NormalFileFilter implements FileFilter { + @Override + public boolean accept(File f) { + return f.isFile(); + } + } + rstFilesTests.addAll(FileUtil.getFilteredElements(rep,new NormalFileFilter(),false)); //2. boucle sur les fichiers de test Iterator<File> iteFiles = rstFilesTests.iterator(); @@ -233,7 +238,7 @@ Reader reader = new InputStreamReader(url.openStream(), JRST.UTF_8); - return JRST.generate(JRST.TYPE_HTML,reader); + return JRST.generateString(JRST.TYPE_HTML,reader); } /** @@ -247,7 +252,7 @@ URL url = source.toURI().toURL(); Reader reader = new InputStreamReader(url.openStream(), JRST.UTF_8); - return JRST.generate(JRST.TYPE_RST,reader); + return JRST.generateString(JRST.TYPE_RST,reader); } @@ -283,7 +288,7 @@ private static boolean testIfDocutils() { - File file = new File("src/test/resources/docutilsFilesTest/rstTest.rst"); + File file = new File("src/test/resources/FilesTest/rstTest.rst"); ProcessBuilder processBuilder = new ProcessBuilder(rst2xml, file.getPath()); processBuilder.redirectErrorStream(true);