Jrst-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
August 2009
- 3 participants
- 22 discussions
Author: tchemit
Date: 2009-08-23 16:23:56 +0200 (Sun, 23 Aug 2009)
New Revision: 400
Removed:
trunk/maven-jrst-plugin/src/site/en/rst/
trunk/maven-jrst-plugin/src/site/rst/
Log:
no use of jrst for doc (still not available before doxia-jrst-module)
1
0
23 Aug '09
Author: tchemit
Date: 2009-08-23 16:18:38 +0200 (Sun, 23 Aug 2009)
New Revision: 399
Added:
trunk/jrst-doc/
trunk/jrst-doc/README.txt
trunk/jrst-doc/changelog.txt
trunk/jrst-doc/pom.xml
trunk/jrst-doc/src/
trunk/jrst-doc/src/site/
Modified:
trunk/jrst-doc/src/site/site.xml
trunk/jrst-doc/src/site/site_en.xml
Log:
new jrst module to build the rst site in rst! in that way can display new feature in all release :)
Property changes on: trunk/jrst-doc
___________________________________________________________________
Added: svn:ignore
+ target
nbactions.xml
Copied: trunk/jrst-doc/README.txt (from rev 396, trunk/jrst/README.txt)
===================================================================
--- trunk/jrst-doc/README.txt (rev 0)
+++ trunk/jrst-doc/README.txt 2009-08-23 14:18:38 UTC (rev 399)
@@ -0,0 +1,3 @@
+jRST
+====
+
Property changes on: trunk/jrst-doc/README.txt
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/jrst-doc/changelog.txt (from rev 396, trunk/jrst/changelog.txt)
===================================================================
--- trunk/jrst-doc/changelog.txt (rev 0)
+++ trunk/jrst-doc/changelog.txt 2009-08-23 14:18:38 UTC (rev 399)
@@ -0,0 +1,41 @@
+ver 1.0.0 ?
+ * migrate to org.nuiton groupId
+
+ver 0.8.6 chemit 20090511
+ * bump versions (lutinproject, lutinutil, maven-i18n-plugin, maven-license-switcher-plugin)
+ * use doxia-modules-jrst instead of maven-jrst-plugin
+ * improve download section on site
+ * fix some javadoc, reformat code, remove redundant cast,...
+
+ver-0.8.5 chemit 20090409
+
+ * Fix admonition
+ * Fix comment directive and titles trailing spaces
+ * Readd ODT support ?
+ * Readd PDF support ?
+
+ver-0.8.4 chemit 20090218
+
+ * Fix javadoc
+ * Fix anchor in content
+ * Update xml2rst.xsl stylesheet
+ * Re add i18n plugin on build
+ * Reenable tests during maven build
+ * Move test to junit 4
+ * switch to lutinproject 3.4
+
+ver-0.8.3 chemit 20081009
+
+ * Add title property in xdoc xslt
+ * Switch license to lgpl
+ * maven 2 layout
+
+ver-0.7 poussin 20061110
+
+ * complete rewrite where dom4j tree is use as memory model
+ * parser is in 3 classes, reader, lexer, composer
+ * generation is based on XSL (support, xhtml, xdoc, docbook, other xsl)
+
+ver-0.6 poussin 20060327
+
+ * first version with only regexp and own memory model
\ No newline at end of file
Copied: trunk/jrst-doc/pom.xml (from rev 396, trunk/jrst/pom.xml)
===================================================================
--- trunk/jrst-doc/pom.xml (rev 0)
+++ trunk/jrst-doc/pom.xml 2009-08-23 14:18:38 UTC (rev 399)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton</groupId>
+ <artifactId>jrst</artifactId>
+ <version>1.0.0-rc-4-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.nuiton.jrst</groupId>
+ <artifactId>jrst-doc</artifactId>
+
+ <!-- ************************************************************* -->
+ <!-- *** Project Information ************************************* -->
+ <!-- ************************************************************* -->
+
+ <name>JRst - doc</name>
+ <description>JRST documentations</description>
+ <inceptionYear>2009</inceptionYear>
+
+ <!-- ************************************************************* -->
+ <!-- *** Build Settings ****************************************** -->
+ <!-- ************************************************************* -->
+ <packaging>pom</packaging>
+
+ <properties>
+ <maven.reports.generate>false</maven.reports.generate>
+ </properties>
+
+ <build>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>doxia-module-jrst</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ </plugins>
+ </pluginManagement>
+
+ </build>
+
+ <!-- ************************************************************* -->
+ <!-- *** Build Environment ************************************** -->
+ <!-- ************************************************************* -->
+
+</project>
+
Property changes on: trunk/jrst-doc/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:mergeinfo
+
Added: svn:eol-style
+ native
Property changes on: trunk/jrst-doc/src/site
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/jrst-doc/src/site/site.xml
===================================================================
--- trunk/jrst/src/site/site.xml 2009-08-20 15:09:44 UTC (rev 396)
+++ trunk/jrst-doc/src/site/site.xml 2009-08-23 14:18:38 UTC (rev 399)
@@ -1,24 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="JRst">
+<project name="${project.name}">
- <publishDate format="dd/MM/yyyy"/>
-
- <skin>
- <groupId>org.nuiton</groupId>
- <artifactId>maven-nuiton-skin</artifactId>
- <version>1.0.0</version>
- </skin>
-
+ <poweredBy>
+ <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="${project.url}/images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="${project.url}/images/restructuredtext-logo.png"/>
+ </poweredBy>
+
<bannerLeft>
- <name>Java ReStructuredText parser</name>
+ <name>${project.name}</name>
<href>/</href>
</bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>http://www.codelutin.com</href>
- </bannerRight>
-
<body>
<breadcrumbs>
@@ -31,7 +23,6 @@
<item href="/user/index.html" name="Présentation du JRST"/>
<item href="/user/presentationRST.html" name="Introduction à ReStructuredText"/>
<item href="/user/fonctionnalites.html" name="Fonctionnalités incluses"/>
- <!--item href="http://labs.libre-entreprise.org/frs/?group_id=54" name="Télécharger"/-->
</menu>
<menu name="Developpeur">
@@ -42,16 +33,5 @@
<item name="Documentation externe" href="/devel/docExterne.html"/>
</menu>
- <menu name="Téléchargement">
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}.jar"
- name="Librairie (jar)"/>
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-javadoc.jar"
- name="Javadoc (jar)"/>
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar"
- name="Sources (jar)"/>
- </menu>
-
- <menu ref="reports"/>
-
</body>
</project>
\ No newline at end of file
Modified: trunk/jrst-doc/src/site/site_en.xml
===================================================================
--- trunk/jrst/src/site/site_en.xml 2009-08-20 15:09:44 UTC (rev 396)
+++ trunk/jrst-doc/src/site/site_en.xml 2009-08-23 14:18:38 UTC (rev 399)
@@ -1,22 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="JRst">
-
- <skin>
- <groupId>org.nuiton</groupId>
- <artifactId>maven-nuiton-skin</artifactId>
- <version>1.0.0</version>
- </skin>
-
+<project name="${project.name}">
+
+ <poweredBy>
+ <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="${project.url}/images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="${project.url}/images/restructuredtext-logo.png"/>
+ </poweredBy>
+
<bannerLeft>
- <name>Java ReStructuredText parser</name>
+ <name>${project.name}</name>
<href>/</href>
</bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>http://www.codelutin.com</href>
- </bannerRight>
-
<body>
<breadcrumbs>
@@ -29,8 +23,6 @@
<item href="/user/index.html" name="About"/>
<item href="/user/RSTpresentation.html" name="A ReStructuredText Primer"/>
<item href="/user/functionality.html" name="Functionalities suggested"/>
- <!--item href="http://labs.libre-entreprise.org/frs/?group_id=54" name="Download"/-->
-
</menu>
<menu name="Developer">
@@ -41,16 +33,5 @@
<item name="External documentation" href="/devel/externalDoc.html"/>
</menu>
- <menu name="Download">
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}.jar"
- name="Library (jar)"/>
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-javadoc.jar"
- name="Javadoc (jar)"/>
- <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar"
- name="Sources (jar)"/>
- </menu>
-
- <menu ref="reports"/>
-
</body>
</project>
1
0
23 Aug '09
Author: tchemit
Date: 2009-08-23 16:15:09 +0200 (Sun, 23 Aug 2009)
New Revision: 398
Removed:
trunk/doxia-module-jrst/src/main/components/
Modified:
trunk/doxia-module-jrst/pom.xml
trunk/doxia-module-jrst/src/site/site.xml
trunk/doxia-module-jrst/src/site/site_en.xml
Log:
improve pom (no need of a components.xml file, it is generated by the plugin)
clean site
Modified: trunk/doxia-module-jrst/pom.xml
===================================================================
--- trunk/doxia-module-jrst/pom.xml 2009-08-23 13:27:05 UTC (rev 397)
+++ trunk/doxia-module-jrst/pom.xml 2009-08-23 14:15:09 UTC (rev 398)
@@ -66,7 +66,7 @@
<developers>
<developer>
<name>Eric Chatellier</name>
- <id>chatellier</id>
+ <id>echatellier</id>
<email>chatellier(a)codelutin.com
</email>
<organization>CodeLutin</organization>
@@ -75,6 +75,17 @@
<role>Développeur</role>
</roles>
</developer>
+ <developer>
+ <name>Tony Chemit</name>
+ <id>tchemit</id>
+ <email>chemit(a)codelutin.com
+ </email>
+ <organization>CodeLutin</organization>
+ <timezone>+2</timezone>
+ <roles>
+ <role>Développeur</role>
+ </roles>
+ </developer>
</developers>
<!-- ************************************************************* -->
@@ -90,17 +101,10 @@
<plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-maven-plugin</artifactId>
- <configuration>
- <descriptors>
- <descriptor>src/main/components/components.xml</descriptor>
- <descriptor>target/generated-resources/plexus/META-INF/plexus/components.xml</descriptor>
- </descriptors>
- </configuration>
<executions>
<execution>
<goals>
<goal>descriptor</goal>
- <goal>merge-descriptors</goal>
</goals>
</execution>
</executions>
Modified: trunk/doxia-module-jrst/src/site/site.xml
===================================================================
--- trunk/doxia-module-jrst/src/site/site.xml 2009-08-23 13:27:05 UTC (rev 397)
+++ trunk/doxia-module-jrst/src/site/site.xml 2009-08-23 14:15:09 UTC (rev 398)
@@ -1,22 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="${project.name}">
- <skin>
- <groupId>org.nuiton</groupId>
- <artifactId>maven-nuiton-skin</artifactId>
- <version>1.0.0</version>
- </skin>
-
<bannerLeft>
<name>${project.name}</name>
<href>/</href>
</bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>http://www.codelutin.com</href>
- </bannerRight>
-
<body>
<breadcrumbs>
Modified: trunk/doxia-module-jrst/src/site/site_en.xml
===================================================================
--- trunk/doxia-module-jrst/src/site/site_en.xml 2009-08-23 13:27:05 UTC (rev 397)
+++ trunk/doxia-module-jrst/src/site/site_en.xml 2009-08-23 14:15:09 UTC (rev 398)
@@ -1,22 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="${project.name}">
- <skin>
- <groupId>org.nuiton</groupId>
- <artifactId>maven-nuiton-skin</artifactId>
- <version>1.0.0</version>
- </skin>
-
<bannerLeft>
<name>${project.name}</name>
<href>/</href>
</bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>http://www.codelutin.com</href>
- </bannerRight>
-
<body>
<breadcrumbs>
1
0
r397 - trunk/maven-jrst-plugin/src/main/java/org/nuiton/jrst/plugin
by tchemit@users.nuiton.org 23 Aug '09
by tchemit@users.nuiton.org 23 Aug '09
23 Aug '09
Author: tchemit
Date: 2009-08-23 15:27:05 +0200 (Sun, 23 Aug 2009)
New Revision: 397
Modified:
trunk/maven-jrst-plugin/src/main/java/org/nuiton/jrst/plugin/JRstPlugin.java
Log:
FileUtil does not exists anylonger in nuiton-utils
Modified: trunk/maven-jrst-plugin/src/main/java/org/nuiton/jrst/plugin/JRstPlugin.java
===================================================================
--- trunk/maven-jrst-plugin/src/main/java/org/nuiton/jrst/plugin/JRstPlugin.java 2009-08-20 15:09:44 UTC (rev 396)
+++ trunk/maven-jrst-plugin/src/main/java/org/nuiton/jrst/plugin/JRstPlugin.java 2009-08-23 13:27:05 UTC (rev 397)
@@ -21,11 +21,11 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.codehaus.plexus.util.DirectoryScanner;
import org.nuiton.jrst.JRST;
-import org.nuiton.util.FileUtil;
import org.nuiton.util.MirroredFileUpdater;
import java.io.File;
import java.io.IOException;
+import org.nuiton.util.PluginHelper;
/**
* Transform rst site documentation into xdoc, to
@@ -273,7 +273,7 @@
getLog().info("Copy resource " + in + " to " + out);
}
try {
- FileUtil.copy(in, out);
+ PluginHelper.copy(in, out);
} catch (IOException e) {
getLog().error(e);
}
1
0
Author: tchemit
Date: 2009-08-20 17:09:44 +0200 (Thu, 20 Aug 2009)
New Revision: 396
Modified:
trunk/jrst/pom.xml
trunk/pom.xml
Log:
use thirdparty artifacts
Modified: trunk/jrst/pom.xml
===================================================================
--- trunk/jrst/pom.xml 2009-08-16 12:09:08 UTC (rev 395)
+++ trunk/jrst/pom.xml 2009-08-20 15:09:44 UTC (rev 396)
@@ -41,7 +41,7 @@
</dependency>
<!-- Annoted interfaces to present command line arguments -->
<dependency>
- <groupId>uk.co.flamingpenguin</groupId>
+ <groupId>uk.co.flamingpenguin.jewelcli</groupId>
<artifactId>jewelcli</artifactId>
</dependency>
<!-- XSLT processor -->
@@ -52,7 +52,7 @@
</dependency>
<!-- Swing librairie -->
<dependency>
- <groupId>sdoc</groupId>
+ <groupId>org.nuiton.thirdparty</groupId>
<artifactId>sdoc</artifactId>
<!--scope>runtime</scope-->
</dependency>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-08-16 12:09:08 UTC (rev 395)
+++ trunk/pom.xml 2009-08-20 15:09:44 UTC (rev 396)
@@ -60,7 +60,7 @@
</dependency>
<dependency>
- <groupId>sdoc</groupId>
+ <groupId>org.nuiton.thirdparty</groupId>
<artifactId>sdoc</artifactId>
<version>0.5.0-beta-patchcl</version>
<scope>test</scope>
@@ -74,9 +74,9 @@
</dependency>
<dependency>
- <groupId>uk.co.flamingpenguin</groupId>
+ <groupId>uk.co.flamingpenguin.jewelcli</groupId>
<artifactId>jewelcli</artifactId>
- <version>0.54</version>
+ <version>0.57</version>
<scope>compile</scope>
</dependency>
1
0
Author: tchemit
Date: 2009-08-16 14:09:08 +0200 (Sun, 16 Aug 2009)
New Revision: 395
Modified:
trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
Log:
- improve test
Modified: trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
===================================================================
--- trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java 2009-08-16 12:08:07 UTC (rev 394)
+++ trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java 2009-08-16 12:09:08 UTC (rev 395)
@@ -1,7 +1,6 @@
package org.nuiton.jrst;
import java.io.File;
-import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.io.FileUtils;
@@ -39,7 +38,7 @@
}
@Test
- public void testToRst() throws IOException {
+ public void testToRst() throws Exception {
File in = new File(testBasedir, "toRst1-in.rst");
List<String> IN_LINES = Arrays.asList(new String[]{
@@ -75,13 +74,9 @@
FileUtils.writeLines(in, IN_LINES);
File out = new File(testBasedir, "toRst1-out.rst");
- try {
- JRST.generate(JRST.TYPE_RST, in, out, JRST.Overwrite.ALLTIME);
- } catch (Exception e) {
- log.error(e);
- Assert.fail(e.getMessage());
- }
+ JRST.generate(JRST.TYPE_RST, in, out, JRST.Overwrite.ALLTIME);
+
List<?> readLines = FileUtils.readLines(out);
Assert.assertEquals(OUT_LINES.size(), readLines.size());
for (int i = 0, j = OUT_LINES.size(); i < j; i++) {
1
0
Author: tchemit
Date: 2009-08-16 14:08:07 +0200 (Sun, 16 Aug 2009)
New Revision: 394
Modified:
trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
Log:
- make this works on topic
- simplify (remove DocUtilsConvertisor which give use nothing else)
- improve code (use constants and StringBuilder instead ofString concatenation = bad)
- add JRSTTest test to test toRst mode (must be continued...)
Modified: trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
===================================================================
--- trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java 2009-08-16 12:07:32 UTC (rev 393)
+++ trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java 2009-08-16 12:08:07 UTC (rev 394)
@@ -83,7 +83,6 @@
Assert.fail(e.getMessage());
}
List<?> readLines = FileUtils.readLines(out);
- // the title == Title === is transformed in Title ----
Assert.assertEquals(OUT_LINES.size(), readLines.size());
for (int i = 0, j = OUT_LINES.size(); i < j; i++) {
String inLine = OUT_LINES.get(i);
1
0
r393 - in trunk/jrst/src: main/java/org/nuiton/jrst main/java/org/nuiton/jrst/convertisor test/java/org/nuiton/jrst
by tchemit@users.nuiton.org 16 Aug '09
by tchemit@users.nuiton.org 16 Aug '09
16 Aug '09
Author: tchemit
Date: 2009-08-16 14:07:32 +0200 (Sun, 16 Aug 2009)
New Revision: 393
Added:
trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
Removed:
trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsConvertisor.java
Modified:
trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java
trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtils2RST.java
trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsVisitor.java
Log:
- make this works on topic
- simplify (remove DocUtilsConvertisor which give use nothing else)
- improve code (use constants and StringBuilder instead ofString concatenation = bad)
- add JRSTTest test to test toRst mode (must be continued...)
Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java
===================================================================
--- trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2009-08-16 12:05:26 UTC (rev 392)
+++ trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2009-08-16 12:07:32 UTC (rev 393)
@@ -438,7 +438,8 @@
// Recuperation du resultat
String result = visitor.getResult();
-
+ // nettoyage du visiteur
+ visitor.clear();
// Ecriture du resultat dans un fichier
// prepare the output flux
FileWriter out = null;
Modified: trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtils2RST.java
===================================================================
--- trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtils2RST.java 2009-08-16 12:05:26 UTC (rev 392)
+++ trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtils2RST.java 2009-08-16 12:07:32 UTC (rev 393)
@@ -1,8 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
package org.nuiton.jrst.convertisor;
import java.util.List;
@@ -19,539 +14,529 @@
*
* @author letellier
*/
-public class DocUtils2RST extends DocUtilsConvertisor {
+public class DocUtils2RST extends DocUtilsVisitor {
/** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(DocUtilsVisitor.class);
-
+ private static Log log = LogFactory.getLog(DocUtils2RST.class);
protected int level = 0;
- public DocUtils2RST() {
- }
-
@Override
public String composeDocument(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTitle(Element e) {
String result = e.getText();
- String underLine = "";
- for (int i = 0;i<result.length();i++){
+ String underLine = EMPTY_STRING;
+ for (int i = 0; i < result.length(); i++) {
underLine += TITLE_CHAR.charAt(level);
}
- result += '\n' + underLine + '\n';
- log.debug("composeTitle : " + result);
+ result += LINE_SEPARATOR + underLine + LINE_SEPARATOR;
+ log.debug("composeTitle :\n" + result);
return result;
}
@Override
public String composeSubTitle(Element e) {
String result = e.getText();
- String underLine = "";
- for (int i = 0;i<result.length();i++){
+ String underLine = EMPTY_STRING;
+ for (int i = 0; i < result.length(); i++) {
underLine += TITLE_CHAR.charAt(level);
}
- result += '\n' + underLine + '\n';
- log.debug("composeSubTitle : " + result);
+ result += LINE_SEPARATOR + underLine + LINE_SEPARATOR;
+ log.debug("composeSubTitle :\n" + result);
return result;
}
@Override
public String composeDocInfo(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAutor(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAutors(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOrganisation(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAddress(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeContact(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeVersion(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeResvision(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeStatus(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDate(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeCopyright(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDecoration(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeHeader(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFooter(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSection(Element e) {
level++;
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTopic(Element e) {
- String result = ".. topic:: ";
+ StringBuilder buffer = new StringBuilder(".. topic:: ");
level++;
- List<Element> elements = e.elements();
- for (Element element : elements){
- if (element.getName().equals(TITLE)){
+ List<?> elements = e.elements();
+ for (Object o : elements) {
+ Element element = (Element) o;
+ try {
+ if (elementEquals(TITLE, element)) {
+ log.debug("topic title : " + element.getText());
+ buffer.append(indent(element.getText()));
+ } else if (elementEquals(PARAGRAPH, element)) {
+ log.trace("topic para (from element) : " + element.getText());
+ String para = parseDocument(element);
+ log.debug("topic para (from parsing) : " + para);
+ buffer.append(indent(para));
+ }
+ } finally {
+ // always mark the node as fired
addCachedElement(element);
- result += indent(element.getText());
- } else if (element.getName().equals(PARAGRAPH)){
- Element ePara = e.element(PARAGRAPH);
- result += ePara.getText();
- addCachedElement(element);
- result += indent(parseDocument(element));
}
}
--level;
- log.debug("composeTopic : " + result);
+ String result = buffer.toString();
+ log.debug("composeTopic :\n" + result);
return result;
}
@Override
public String composeSideBar(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTransition(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeParagraph(Element e) {
- String result = "";
- result += indent(e.getText(), level);
- log.debug("composeParagraph : " + result);
+ String result = indent(e.getText(), level);
+ log.debug("composeParagraph :\n" + result);
return result;
}
@Override
public String composeCompound(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeContainer(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeBulletList(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeEnumeratedList(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeListItem(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDefinitionList(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDefinitionListItem(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTerm(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeClassifier(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDefinition(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFieldList(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeField(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFieldName(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFieldBody(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOptionList(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOptionListItem(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOptionGroup(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOption(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOptionString(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeOptionArgument(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDescription(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLiteralBlock(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLineBlock(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLine(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeBlockQuote(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAttribution(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDocTestBlock(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAttention(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeCaution(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeDanger(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeError(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeHint(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeImportant(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeNote(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTip(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeWarning(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAdmonition(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFootnote(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeCitation(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLabel(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeRubric(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTarget(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSubstitutionDefinition(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeComment(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composePending(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFigure(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeImage(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeCaption(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLegend(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSystemMessage(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeRaw(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTable(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTgroup(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeColspec(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeThead(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTbody(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeRow(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeEntry(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeEmphasis(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeStrong(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeLiteral(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeReference(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeFootnoteReference(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeCitationReference(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSubstitutionReference(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeTitleReference(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAbbreviation(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeAcronyme(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSuperscipt(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeSubscript(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeInline(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeProblematic(Element e) {
- return "";
+ return EMPTY_STRING;
}
@Override
public String composeGenerated(Element e) {
- return "";
+ return EMPTY_STRING;
}
- protected String indent(String toIndent){
+ protected String indent(String toIndent) {
return indent(toIndent, level);
}
-
- protected String indent(String toIndent, int l){
- String result = "";
- for (String s : toIndent.split("\n")){
- for(int i=0;i<l;i++){
- result+=" ";
- }
- result+=s;
- result+="\n";
- }
- return result;
- }
}
Deleted: trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsConvertisor.java
===================================================================
--- trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsConvertisor.java 2009-08-16 12:05:26 UTC (rev 392)
+++ trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsConvertisor.java 2009-08-16 12:07:32 UTC (rev 393)
@@ -1,283 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.nuiton.jrst.convertisor;
-
-import org.dom4j.Element;
-import org.nuiton.jrst.ReStructuredText;
-/**
- *
- * @author letellier
- */
-public abstract class DocUtilsConvertisor extends DocUtilsVisitor{
-
- @Override
- public void visit(Element e) {
-
- if (!cachedElements.contains(e)){
-
- addCachedElement(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Root Element
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- if (elementEquals(ReStructuredText.DOCUMENT,e)) { rstResult += composeDocument(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Title Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.TITLE,e)) { rstResult += composeTitle(e);
- } else if (elementEquals(ReStructuredText.SUBTITLE,e)) { rstResult += composeSubTitle(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Bibliographic Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.DOCINFO,e)) { rstResult += composeDocInfo(e);
-
- // } else if (elementEquals(ReStructuredText.INFO,e)) { rstResult += compose
- } else if (elementEquals(ReStructuredText.AUTHOR,e)) { rstResult += composeAutor(e);
- } else if (elementEquals(ReStructuredText.AUTHORS,e)) { rstResult += composeAutors(e);
- } else if (elementEquals(ReStructuredText.ORGANIZATION,e)) { rstResult += composeOrganisation(e);
- } else if (elementEquals(ReStructuredText.ADDRESS,e)) { rstResult += composeAddress(e);
- } else if (elementEquals(ReStructuredText.CONTACT,e)) { rstResult += composeContact(e);
- } else if (elementEquals(ReStructuredText.VERSION,e)) { rstResult += composeVersion(e);
- } else if (elementEquals(ReStructuredText.REVISION,e)) { rstResult += composeResvision(e);
- } else if (elementEquals(ReStructuredText.STATUS,e)) { rstResult += composeStatus(e);
- } else if (elementEquals(ReStructuredText.DATE,e)) { rstResult += composeDate(e);
- } else if (elementEquals(ReStructuredText.COPYRIGHT,e)) { rstResult += composeCopyright(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Decoration Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.DECORATION,e)) { rstResult += composeDecoration(e);
- } else if (elementEquals(ReStructuredText.HEADER,e)) { rstResult += composeHeader(e);
- } else if (elementEquals(ReStructuredText.FOOTER,e)) { rstResult += composeFooter(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Structural Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.SECTION,e)) { rstResult += composeSection(e);
- } else if (elementEquals(ReStructuredText.TOPIC,e)) { rstResult += composeTopic(e);
- } else if (elementEquals(ReStructuredText.SIDEBAR,e)) { rstResult += composeSideBar(e);
- } else if (elementEquals(ReStructuredText.TRANSITION,e)) { rstResult += composeTransition(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Body Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.PARAGRAPH,e)) { rstResult += composeParagraph(e);
- } else if (elementEquals(ReStructuredText.COMPOUND,e)) { rstResult += composeCompound(e);
- } else if (elementEquals(ReStructuredText.CONTAINER,e)) { rstResult += composeContainer(e);
- } else if (elementEquals(ReStructuredText.BULLET_LIST,e)) { rstResult += composeBulletList(e);
- } else if (elementEquals(ReStructuredText.ENUMERATED_LIST,e)) { rstResult += composeEnumeratedList(e);
- } else if (elementEquals(ReStructuredText.LIST_ITEM,e)) { rstResult += composeListItem(e);
- } else if (elementEquals(ReStructuredText.DEFINITION_LIST,e)) { rstResult += composeDefinitionList(e);
- } else if (elementEquals(ReStructuredText.DEFINITION_LIST_ITEM,e)) { rstResult += composeDefinitionListItem(e);
- } else if (elementEquals(ReStructuredText.TERM,e)) { rstResult += composeTerm(e);
- } else if (elementEquals(ReStructuredText.CLASSIFIER,e)) { rstResult += composeClassifier(e);
- } else if (elementEquals(ReStructuredText.DEFINITION,e)) { rstResult += composeDefinition(e);
- } else if (elementEquals(ReStructuredText.FIELD_LIST,e)) { rstResult += composeFieldList(e);
- } else if (elementEquals(ReStructuredText.FIELD,e)) { rstResult += composeField(e);
- } else if (elementEquals(ReStructuredText.FIELD_NAME,e)) { rstResult += composeFieldName(e);
- } else if (elementEquals(ReStructuredText.FIELD_BODY,e)) { rstResult += composeFieldBody(e);
- } else if (elementEquals(ReStructuredText.OPTION_LIST,e)) { rstResult += composeOptionList(e);
- } else if (elementEquals(ReStructuredText.OPTION_LIST_ITEM,e)) { rstResult += composeOptionListItem(e);
- } else if (elementEquals(ReStructuredText.OPTION_GROUP,e)) { rstResult += composeOptionGroup(e);
- } else if (elementEquals(ReStructuredText.OPTION,e)) { rstResult += composeOption(e);
- } else if (elementEquals(ReStructuredText.OPTION_STRING,e)) { rstResult += composeOptionString(e);
- } else if (elementEquals(ReStructuredText.OPTION_ARGUMENT,e)) { rstResult += composeOptionArgument(e);
- } else if (elementEquals(ReStructuredText.DESCRIPTION,e)) { rstResult += composeDescription(e);
- } else if (elementEquals(ReStructuredText.LITERAL_BLOCK,e)) { rstResult += composeLiteralBlock(e);
- } else if (elementEquals(ReStructuredText.LINE_BLOCK,e)) { rstResult += composeLineBlock(e);
- } else if (elementEquals(ReStructuredText.LINE,e)) { rstResult += composeLine(e);
- } else if (elementEquals(ReStructuredText.BLOCK_QUOTE,e)) { rstResult += composeBlockQuote(e);
- } else if (elementEquals(ReStructuredText.ATTRIBUTION,e)) { rstResult += composeAttribution(e);
- } else if (elementEquals(ReStructuredText.DOCTEST_BLOCK,e)) { rstResult += composeDocTestBlock(e);
- } else if (elementEquals(ReStructuredText.ATTENTION,e)) { rstResult += composeAttention(e);
- } else if (elementEquals(ReStructuredText.CAUTION,e)) { rstResult += composeCaution(e);
- } else if (elementEquals(ReStructuredText.DANGER,e)) { rstResult += composeDanger(e);
- } else if (elementEquals(ReStructuredText.ERROR,e)) { rstResult += composeError(e);
- } else if (elementEquals(ReStructuredText.HINT,e)) { rstResult += composeHint(e);
- } else if (elementEquals(ReStructuredText.IMPORTANT,e)) { rstResult += composeImportant(e);
- } else if (elementEquals(ReStructuredText.NOTE,e)) { rstResult += composeNote(e);
- } else if (elementEquals(ReStructuredText.TIP,e)) { rstResult += composeTip(e);
- } else if (elementEquals(ReStructuredText.WARNING,e)) { rstResult += composeWarning(e);
- } else if (elementEquals(ReStructuredText.ADMONITION,e)) { rstResult += composeAdmonition(e);
- } else if (elementEquals(ReStructuredText.FOOTNOTE,e)) { rstResult += composeFootnote(e);
- } else if (elementEquals(ReStructuredText.CITATION,e)) { rstResult += composeCitation(e);
- } else if (elementEquals(ReStructuredText.LABEL,e)) { rstResult += composeLabel(e);
- } else if (elementEquals(ReStructuredText.RUBRIC,e)) { rstResult += composeRubric(e);
- } else if (elementEquals(ReStructuredText.TARGET,e)) { rstResult += composeTarget(e);
- } else if (elementEquals(ReStructuredText.SUBSTITUTION_DEFINITION,e)) { rstResult += composeSubstitutionDefinition(e);
- } else if (elementEquals(ReStructuredText.COMMENT,e)) { rstResult += composeComment(e);
- } else if (elementEquals(ReStructuredText.PENDING,e)) { rstResult += composePending(e);
- } else if (elementEquals(ReStructuredText.FIGURE,e)) { rstResult += composeFigure(e);
- } else if (elementEquals(ReStructuredText.IMAGE,e)) { rstResult += composeImage(e);
- } else if (elementEquals(ReStructuredText.CAPTION,e)) { rstResult += composeCaption(e);
- } else if (elementEquals(ReStructuredText.LEGEND,e)) { rstResult += composeLegend(e);
- } else if (elementEquals(ReStructuredText.SYSTEM_MESSAGE,e)) { rstResult += composeSystemMessage(e);
- } else if (elementEquals(ReStructuredText.RAW,e)) { rstResult += composeRaw(e);
-
- // table
- } else if (elementEquals(ReStructuredText.TABLE,e)) { rstResult += composeTable(e);
- } else if (elementEquals(ReStructuredText.TGROUP,e)) { rstResult += composeTgroup(e);
- } else if (elementEquals(ReStructuredText.COLSPEC,e)) { rstResult += composeColspec(e);
- } else if (elementEquals(ReStructuredText.THEAD,e)) { rstResult += composeThead(e);
- } else if (elementEquals(ReStructuredText.TBODY,e)) { rstResult += composeTbody(e);
- } else if (elementEquals(ReStructuredText.ROW,e)) { rstResult += composeRow(e);
- } else if (elementEquals(ReStructuredText.ENTRY,e)) { rstResult += composeEntry(e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Inline Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- } else if (elementEquals(ReStructuredText.EMPHASIS,e)) { rstResult += composeEmphasis(e);
- } else if (elementEquals(ReStructuredText.STRONG,e)) { rstResult += composeStrong(e);
- } else if (elementEquals(ReStructuredText.LITERAL,e)) { rstResult += composeLiteral(e);
- } else if (elementEquals(ReStructuredText.REFERENCE,e)) { rstResult += composeReference(e);
- } else if (elementEquals(ReStructuredText.FOOTNOTE_REFERENCE,e)) { rstResult += composeFootnoteReference(e);
- } else if (elementEquals(ReStructuredText.CITATION_REFERENCE,e)) { rstResult += composeCitationReference(e);
- } else if (elementEquals(ReStructuredText.SUBSTITUTION_REFERENCE,e)) { rstResult += composeSubstitutionReference(e);
- } else if (elementEquals(ReStructuredText.TITLE_REFERENCE,e)) { rstResult += composeTitleReference(e);
- } else if (elementEquals(ReStructuredText.ABBREVIATION,e)) { rstResult += composeAbbreviation(e);
- } else if (elementEquals(ReStructuredText.ACRONYM,e)) { rstResult += composeAcronyme(e);
- } else if (elementEquals(ReStructuredText.SUPERSCRIPT,e)) { rstResult += composeSuperscipt(e);
- } else if (elementEquals(ReStructuredText.SUBSCRIPT,e)) { rstResult += composeSubscript(e);
- } else if (elementEquals(ReStructuredText.INLINE,e)) { rstResult += composeInline(e);
- } else if (elementEquals(ReStructuredText.PROBLEMATIC,e)) { rstResult += composeProblematic(e);
- } else if (elementEquals(ReStructuredText.GENERATED,e)) { rstResult += composeGenerated(e);
- }
-
- }
- }
-
- protected boolean elementEquals(String name, Element e) {
- return e.getName().equals(name);
- }
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Root Element
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeDocument(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Title Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeTitle(Element e);
- public abstract String composeSubTitle(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Bibliographic Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeDocInfo(Element e);
-
- // public abstract String compose
- public abstract String composeAutor(Element e);
- public abstract String composeAutors(Element e);
- public abstract String composeOrganisation(Element e);
- public abstract String composeAddress(Element e);
- public abstract String composeContact(Element e);
- public abstract String composeVersion(Element e);
- public abstract String composeResvision(Element e);
- public abstract String composeStatus(Element e);
- public abstract String composeDate(Element e);
- public abstract String composeCopyright(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Decoration Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeDecoration(Element e);
- public abstract String composeHeader(Element e);
- public abstract String composeFooter(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Structural Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeSection(Element e);
- public abstract String composeTopic(Element e);
- public abstract String composeSideBar(Element e);
- public abstract String composeTransition(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Body Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeParagraph(Element e);
- public abstract String composeCompound(Element e);
- public abstract String composeContainer(Element e);
- public abstract String composeBulletList(Element e);
- public abstract String composeEnumeratedList(Element e);
- public abstract String composeListItem(Element e);
- public abstract String composeDefinitionList(Element e);
- public abstract String composeDefinitionListItem(Element e);
- public abstract String composeTerm(Element e);
- public abstract String composeClassifier(Element e);
- public abstract String composeDefinition(Element e);
- public abstract String composeFieldList(Element e);
- public abstract String composeField(Element e);
- public abstract String composeFieldName(Element e);
- public abstract String composeFieldBody(Element e);
- public abstract String composeOptionList(Element e);
- public abstract String composeOptionListItem(Element e);
- public abstract String composeOptionGroup(Element e);
- public abstract String composeOption(Element e);
- public abstract String composeOptionString(Element e);
- public abstract String composeOptionArgument(Element e);
- public abstract String composeDescription(Element e);
- public abstract String composeLiteralBlock(Element e);
- public abstract String composeLineBlock(Element e);
- public abstract String composeLine(Element e);
- public abstract String composeBlockQuote(Element e);
- public abstract String composeAttribution(Element e);
- public abstract String composeDocTestBlock(Element e);
- public abstract String composeAttention(Element e);
- public abstract String composeCaution(Element e);
- public abstract String composeDanger(Element e);
- public abstract String composeError(Element e);
- public abstract String composeHint(Element e);
- public abstract String composeImportant(Element e);
- public abstract String composeNote(Element e);
- public abstract String composeTip(Element e);
- public abstract String composeWarning(Element e);
- public abstract String composeAdmonition(Element e);
- public abstract String composeFootnote(Element e);
- public abstract String composeCitation(Element e);
- public abstract String composeLabel(Element e);
- public abstract String composeRubric(Element e);
- public abstract String composeTarget(Element e);
- public abstract String composeSubstitutionDefinition(Element e);
- public abstract String composeComment(Element e);
- public abstract String composePending(Element e);
- public abstract String composeFigure(Element e);
- public abstract String composeImage(Element e);
- public abstract String composeCaption(Element e);
- public abstract String composeLegend(Element e);
- public abstract String composeSystemMessage(Element e);
- public abstract String composeRaw(Element e);
-
- // table
- public abstract String composeTable(Element e);
- public abstract String composeTgroup(Element e);
- public abstract String composeColspec(Element e);
- public abstract String composeThead(Element e);
- public abstract String composeTbody(Element e);
- public abstract String composeRow(Element e);
- public abstract String composeEntry(Element e);
-
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Inline Elements
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- public abstract String composeEmphasis(Element e);
- public abstract String composeStrong(Element e);
- public abstract String composeLiteral(Element e);
- public abstract String composeReference(Element e);
- public abstract String composeFootnoteReference(Element e);
- public abstract String composeCitationReference(Element e);
- public abstract String composeSubstitutionReference(Element e);
- public abstract String composeTitleReference(Element e);
- public abstract String composeAbbreviation(Element e);
- public abstract String composeAcronyme(Element e);
- public abstract String composeSuperscipt(Element e);
- public abstract String composeSubscript(Element e);
- public abstract String composeInline(Element e);
- public abstract String composeProblematic(Element e);
- public abstract String composeGenerated(Element e);
-}
Modified: trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsVisitor.java
===================================================================
--- trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsVisitor.java 2009-08-16 12:05:26 UTC (rev 392)
+++ trunk/jrst/src/main/java/org/nuiton/jrst/convertisor/DocUtilsVisitor.java 2009-08-16 12:07:32 UTC (rev 393)
@@ -1,81 +1,547 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
package org.nuiton.jrst.convertisor;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;
+import org.nuiton.jrst.ReStructuredText;
/**
*
* @author letellier
*/
+public abstract class DocUtilsVisitor extends VisitorSupport {
-public class DocUtilsVisitor extends VisitorSupport{
-
+ public static final String EMPTY_STRING = "";
+ public static final String LINE_SEPARATOR = "\n";
+ public static final String SPACE = " ";
/** to use log facility, just put in your code: log.info(\"...\"); */
private static Log log = LogFactory.getLog(DocUtilsVisitor.class);
-
- // Enregistre les elements parse pour ne jamais les y repasser
+ // Enregistre les elements parse pour ne jamais les revisiter
protected List<Element> cachedElements;
+ // le resultat de la visite
+ protected StringBuilder rstResult;
- protected String rstResult = "";
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Root Element
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeDocument(Element e);
- public DocUtilsVisitor(){
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Title Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeTitle(Element e);
+
+ public abstract String composeSubTitle(Element e);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Bibliographic Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeDocInfo(Element e);
+
+ // public abstract String compose
+ public abstract String composeAutor(Element e);
+
+ public abstract String composeAutors(Element e);
+
+ public abstract String composeOrganisation(Element e);
+
+ public abstract String composeAddress(Element e);
+
+ public abstract String composeContact(Element e);
+
+ public abstract String composeVersion(Element e);
+
+ public abstract String composeResvision(Element e);
+
+ public abstract String composeStatus(Element e);
+
+ public abstract String composeDate(Element e);
+
+ public abstract String composeCopyright(Element e);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Decoration Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeDecoration(Element e);
+
+ public abstract String composeHeader(Element e);
+
+ public abstract String composeFooter(Element e);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Structural Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeSection(Element e);
+
+ public abstract String composeTopic(Element e);
+
+ public abstract String composeSideBar(Element e);
+
+ public abstract String composeTransition(Element e);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Body Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeParagraph(Element e);
+
+ public abstract String composeCompound(Element e);
+
+ public abstract String composeContainer(Element e);
+
+ public abstract String composeBulletList(Element e);
+
+ public abstract String composeEnumeratedList(Element e);
+
+ public abstract String composeListItem(Element e);
+
+ public abstract String composeDefinitionList(Element e);
+
+ public abstract String composeDefinitionListItem(Element e);
+
+ public abstract String composeTerm(Element e);
+
+ public abstract String composeClassifier(Element e);
+
+ public abstract String composeDefinition(Element e);
+
+ public abstract String composeFieldList(Element e);
+
+ public abstract String composeField(Element e);
+
+ public abstract String composeFieldName(Element e);
+
+ public abstract String composeFieldBody(Element e);
+
+ public abstract String composeOptionList(Element e);
+
+ public abstract String composeOptionListItem(Element e);
+
+ public abstract String composeOptionGroup(Element e);
+
+ public abstract String composeOption(Element e);
+
+ public abstract String composeOptionString(Element e);
+
+ public abstract String composeOptionArgument(Element e);
+
+ public abstract String composeDescription(Element e);
+
+ public abstract String composeLiteralBlock(Element e);
+
+ public abstract String composeLineBlock(Element e);
+
+ public abstract String composeLine(Element e);
+
+ public abstract String composeBlockQuote(Element e);
+
+ public abstract String composeAttribution(Element e);
+
+ public abstract String composeDocTestBlock(Element e);
+
+ public abstract String composeAttention(Element e);
+
+ public abstract String composeCaution(Element e);
+
+ public abstract String composeDanger(Element e);
+
+ public abstract String composeError(Element e);
+
+ public abstract String composeHint(Element e);
+
+ public abstract String composeImportant(Element e);
+
+ public abstract String composeNote(Element e);
+
+ public abstract String composeTip(Element e);
+
+ public abstract String composeWarning(Element e);
+
+ public abstract String composeAdmonition(Element e);
+
+ public abstract String composeFootnote(Element e);
+
+ public abstract String composeCitation(Element e);
+
+ public abstract String composeLabel(Element e);
+
+ public abstract String composeRubric(Element e);
+
+ public abstract String composeTarget(Element e);
+
+ public abstract String composeSubstitutionDefinition(Element e);
+
+ public abstract String composeComment(Element e);
+
+ public abstract String composePending(Element e);
+
+ public abstract String composeFigure(Element e);
+
+ public abstract String composeImage(Element e);
+
+ public abstract String composeCaption(Element e);
+
+ public abstract String composeLegend(Element e);
+
+ public abstract String composeSystemMessage(Element e);
+
+ public abstract String composeRaw(Element e);
+
+ // table
+ public abstract String composeTable(Element e);
+
+ public abstract String composeTgroup(Element e);
+
+ public abstract String composeColspec(Element e);
+
+ public abstract String composeThead(Element e);
+
+ public abstract String composeTbody(Element e);
+
+ public abstract String composeRow(Element e);
+
+ public abstract String composeEntry(Element e);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Inline Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ public abstract String composeEmphasis(Element e);
+
+ public abstract String composeStrong(Element e);
+
+ public abstract String composeLiteral(Element e);
+
+ public abstract String composeReference(Element e);
+
+ public abstract String composeFootnoteReference(Element e);
+
+ public abstract String composeCitationReference(Element e);
+
+ public abstract String composeSubstitutionReference(Element e);
+
+ public abstract String composeTitleReference(Element e);
+
+ public abstract String composeAbbreviation(Element e);
+
+ public abstract String composeAcronyme(Element e);
+
+ public abstract String composeSuperscipt(Element e);
+
+ public abstract String composeSubscript(Element e);
+
+ public abstract String composeInline(Element e);
+
+ public abstract String composeProblematic(Element e);
+
+ public abstract String composeGenerated(Element e);
+
+ public DocUtilsVisitor() {
cachedElements = new ArrayList<Element>();
+ rstResult = new StringBuilder();
}
- public void setCachedElements(List<Element> cachedElements){
- this.cachedElements = cachedElements;
- }
+ @Override
+ public void visit(Element e) {
- public List<Element> getCachedElements(){
- return cachedElements;
- }
+ if (!cachedElements.contains(e)) {
+ log.debug("entre element " + e.getName());
+ addCachedElement(e);
- // Permet de ne jamais repasser sur ce noeud
- public void addCachedElement(Element e){
- cachedElements.add(e);
- }
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Root Element
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ if (elementEquals(ReStructuredText.DOCUMENT, e)) {
+ appendResult(composeDocument(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Title Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.TITLE, e)) {
+ appendResult(composeTitle(e));
+ } else if (elementEquals(ReStructuredText.SUBTITLE, e)) {
+ appendResult(composeSubTitle(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Bibliographic Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.DOCINFO, e)) {
+ appendResult(composeDocInfo(e));
- public void addCachedElements(List<Element> elements){
- cachedElements.addAll(elements);
+ // } else if (elementEquals(ReStructuredText.INFO,e)) { appendResult(composeInfo(e));
+ } else if (elementEquals(ReStructuredText.AUTHOR, e)) {
+ appendResult(composeAutor(e));
+ } else if (elementEquals(ReStructuredText.AUTHORS, e)) {
+ appendResult(composeAutors(e));
+ } else if (elementEquals(ReStructuredText.ORGANIZATION, e)) {
+ appendResult(composeOrganisation(e));
+ } else if (elementEquals(ReStructuredText.ADDRESS, e)) {
+ appendResult(composeAddress(e));
+ } else if (elementEquals(ReStructuredText.CONTACT, e)) {
+ appendResult(composeContact(e));
+ } else if (elementEquals(ReStructuredText.VERSION, e)) {
+ appendResult(composeVersion(e));
+ } else if (elementEquals(ReStructuredText.REVISION, e)) {
+ appendResult(composeResvision(e));
+ } else if (elementEquals(ReStructuredText.STATUS, e)) {
+ appendResult(composeStatus(e));
+ } else if (elementEquals(ReStructuredText.DATE, e)) {
+ appendResult(composeDate(e));
+ } else if (elementEquals(ReStructuredText.COPYRIGHT, e)) {
+ appendResult(composeCopyright(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Decoration Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.DECORATION, e)) {
+ appendResult(composeDecoration(e));
+ } else if (elementEquals(ReStructuredText.HEADER, e)) {
+ appendResult(composeHeader(e));
+ } else if (elementEquals(ReStructuredText.FOOTER, e)) {
+ appendResult(composeFooter(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Structural Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.SECTION, e)) {
+ appendResult(composeSection(e));
+ } else if (elementEquals(ReStructuredText.TOPIC, e)) {
+ appendResult(composeTopic(e));
+ } else if (elementEquals(ReStructuredText.SIDEBAR, e)) {
+ appendResult(composeSideBar(e));
+ } else if (elementEquals(ReStructuredText.TRANSITION, e)) {
+ appendResult(composeTransition(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Body Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.PARAGRAPH, e)) {
+ appendResult(composeParagraph(e));
+ } else if (elementEquals(ReStructuredText.COMPOUND, e)) {
+ appendResult(composeCompound(e));
+ } else if (elementEquals(ReStructuredText.CONTAINER, e)) {
+ appendResult(composeContainer(e));
+ } else if (elementEquals(ReStructuredText.BULLET_LIST, e)) {
+ appendResult(composeBulletList(e));
+ } else if (elementEquals(ReStructuredText.ENUMERATED_LIST, e)) {
+ appendResult(composeEnumeratedList(e));
+ } else if (elementEquals(ReStructuredText.LIST_ITEM, e)) {
+ appendResult(composeListItem(e));
+ } else if (elementEquals(ReStructuredText.DEFINITION_LIST, e)) {
+ appendResult(composeDefinitionList(e));
+ } else if (elementEquals(ReStructuredText.DEFINITION_LIST_ITEM, e)) {
+ appendResult(composeDefinitionListItem(e));
+ } else if (elementEquals(ReStructuredText.TERM, e)) {
+ appendResult(composeTerm(e));
+ } else if (elementEquals(ReStructuredText.CLASSIFIER, e)) {
+ appendResult(composeClassifier(e));
+ } else if (elementEquals(ReStructuredText.DEFINITION, e)) {
+ appendResult(composeDefinition(e));
+ } else if (elementEquals(ReStructuredText.FIELD_LIST, e)) {
+ appendResult(composeFieldList(e));
+ } else if (elementEquals(ReStructuredText.FIELD, e)) {
+ appendResult(composeField(e));
+ } else if (elementEquals(ReStructuredText.FIELD_NAME, e)) {
+ appendResult(composeFieldName(e));
+ } else if (elementEquals(ReStructuredText.FIELD_BODY, e)) {
+ appendResult(composeFieldBody(e));
+ } else if (elementEquals(ReStructuredText.OPTION_LIST, e)) {
+ appendResult(composeOptionList(e));
+ } else if (elementEquals(ReStructuredText.OPTION_LIST_ITEM, e)) {
+ appendResult(composeOptionListItem(e));
+ } else if (elementEquals(ReStructuredText.OPTION_GROUP, e)) {
+ appendResult(composeOptionGroup(e));
+ } else if (elementEquals(ReStructuredText.OPTION, e)) {
+ appendResult(composeOption(e));
+ } else if (elementEquals(ReStructuredText.OPTION_STRING, e)) {
+ appendResult(composeOptionString(e));
+ } else if (elementEquals(ReStructuredText.OPTION_ARGUMENT, e)) {
+ appendResult(composeOptionArgument(e));
+ } else if (elementEquals(ReStructuredText.DESCRIPTION, e)) {
+ appendResult(composeDescription(e));
+ } else if (elementEquals(ReStructuredText.LITERAL_BLOCK, e)) {
+ appendResult(composeLiteralBlock(e));
+ } else if (elementEquals(ReStructuredText.LINE_BLOCK, e)) {
+ appendResult(composeLineBlock(e));
+ } else if (elementEquals(ReStructuredText.LINE, e)) {
+ appendResult(composeLine(e));
+ } else if (elementEquals(ReStructuredText.BLOCK_QUOTE, e)) {
+ appendResult(composeBlockQuote(e));
+ } else if (elementEquals(ReStructuredText.ATTRIBUTION, e)) {
+ appendResult(composeAttribution(e));
+ } else if (elementEquals(ReStructuredText.DOCTEST_BLOCK, e)) {
+ appendResult(composeDocTestBlock(e));
+ } else if (elementEquals(ReStructuredText.ATTENTION, e)) {
+ appendResult(composeAttention(e));
+ } else if (elementEquals(ReStructuredText.CAUTION, e)) {
+ appendResult(composeCaution(e));
+ } else if (elementEquals(ReStructuredText.DANGER, e)) {
+ appendResult(composeDanger(e));
+ } else if (elementEquals(ReStructuredText.ERROR, e)) {
+ appendResult(composeError(e));
+ } else if (elementEquals(ReStructuredText.HINT, e)) {
+ appendResult(composeHint(e));
+ } else if (elementEquals(ReStructuredText.IMPORTANT, e)) {
+ appendResult(composeImportant(e));
+ } else if (elementEquals(ReStructuredText.NOTE, e)) {
+ appendResult(composeNote(e));
+ } else if (elementEquals(ReStructuredText.TIP, e)) {
+ appendResult(composeTip(e));
+ } else if (elementEquals(ReStructuredText.WARNING, e)) {
+ appendResult(composeWarning(e));
+ } else if (elementEquals(ReStructuredText.ADMONITION, e)) {
+ appendResult(composeAdmonition(e));
+ } else if (elementEquals(ReStructuredText.FOOTNOTE, e)) {
+ appendResult(composeFootnote(e));
+ } else if (elementEquals(ReStructuredText.CITATION, e)) {
+ appendResult(composeCitation(e));
+ } else if (elementEquals(ReStructuredText.LABEL, e)) {
+ appendResult(composeLabel(e));
+ } else if (elementEquals(ReStructuredText.RUBRIC, e)) {
+ appendResult(composeRubric(e));
+ } else if (elementEquals(ReStructuredText.TARGET, e)) {
+ appendResult(composeTarget(e));
+ } else if (elementEquals(ReStructuredText.SUBSTITUTION_DEFINITION, e)) {
+ appendResult(composeSubstitutionDefinition(e));
+ } else if (elementEquals(ReStructuredText.COMMENT, e)) {
+ appendResult(composeComment(e));
+ } else if (elementEquals(ReStructuredText.PENDING, e)) {
+ appendResult(composePending(e));
+ } else if (elementEquals(ReStructuredText.FIGURE, e)) {
+ appendResult(composeFigure(e));
+ } else if (elementEquals(ReStructuredText.IMAGE, e)) {
+ appendResult(composeImage(e));
+ } else if (elementEquals(ReStructuredText.CAPTION, e)) {
+ appendResult(composeCaption(e));
+ } else if (elementEquals(ReStructuredText.LEGEND, e)) {
+ appendResult(composeLegend(e));
+ } else if (elementEquals(ReStructuredText.SYSTEM_MESSAGE, e)) {
+ appendResult(composeSystemMessage(e));
+ } else if (elementEquals(ReStructuredText.RAW, e)) {
+ appendResult(composeRaw(e));
+
+ // table
+ } else if (elementEquals(ReStructuredText.TABLE, e)) {
+ appendResult(composeTable(e));
+ } else if (elementEquals(ReStructuredText.TGROUP, e)) {
+ appendResult(composeTgroup(e));
+ } else if (elementEquals(ReStructuredText.COLSPEC, e)) {
+ appendResult(composeColspec(e));
+ } else if (elementEquals(ReStructuredText.THEAD, e)) {
+ appendResult(composeThead(e));
+ } else if (elementEquals(ReStructuredText.TBODY, e)) {
+ appendResult(composeTbody(e));
+ } else if (elementEquals(ReStructuredText.ROW, e)) {
+ appendResult(composeRow(e));
+ } else if (elementEquals(ReStructuredText.ENTRY, e)) {
+ appendResult(composeEntry(e));
+ } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // Inline Elements
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ else if (elementEquals(ReStructuredText.EMPHASIS, e)) {
+ appendResult(composeEmphasis(e));
+ } else if (elementEquals(ReStructuredText.STRONG, e)) {
+ appendResult(composeStrong(e));
+ } else if (elementEquals(ReStructuredText.LITERAL, e)) {
+ appendResult(composeLiteral(e));
+ } else if (elementEquals(ReStructuredText.REFERENCE, e)) {
+ appendResult(composeReference(e));
+ } else if (elementEquals(ReStructuredText.FOOTNOTE_REFERENCE, e)) {
+ appendResult(composeFootnoteReference(e));
+ } else if (elementEquals(ReStructuredText.CITATION_REFERENCE, e)) {
+ appendResult(composeCitationReference(e));
+ } else if (elementEquals(ReStructuredText.SUBSTITUTION_REFERENCE, e)) {
+ appendResult(composeSubstitutionReference(e));
+ } else if (elementEquals(ReStructuredText.TITLE_REFERENCE, e)) {
+ appendResult(composeTitleReference(e));
+ } else if (elementEquals(ReStructuredText.ABBREVIATION, e)) {
+ appendResult(composeAbbreviation(e));
+ } else if (elementEquals(ReStructuredText.ACRONYM, e)) {
+ appendResult(composeAcronyme(e));
+ } else if (elementEquals(ReStructuredText.SUPERSCRIPT, e)) {
+ appendResult(composeSuperscipt(e));
+ } else if (elementEquals(ReStructuredText.SUBSCRIPT, e)) {
+ appendResult(composeSubscript(e));
+ } else if (elementEquals(ReStructuredText.INLINE, e)) {
+ appendResult(composeInline(e));
+ } else if (elementEquals(ReStructuredText.PROBLEMATIC, e)) {
+ appendResult(composeProblematic(e));
+ } else if (elementEquals(ReStructuredText.GENERATED, e)) {
+ appendResult(composeGenerated(e));
+ }
+
+ }
}
- public String parseDocument(Element el){
+ public String parseDocument(Element el) {
try {
- // FIXME : Cette partie ne marche pas corectement...
- log.info("This element : " + el.getName());
+ if (log.isDebugEnabled()) {
+ log.debug("This element : " + el.getName());
+ }
- // Creation dune nouvelle instance du visitor utilise
+ // Creation dune nouvelle instance du visitor utilise
DocUtilsVisitor visitor = this.getClass().newInstance();
- // Traitement recursif (pour parser un document dans un autre
- el.accept(visitor);
+ // Traitement recursif (pour parser un document dans un autre)
+ try {
+ el.accept(visitor);
+ String result = visitor.getResult();
+ if (log.isDebugEnabled()) {
+ log.debug("document parsing result:\n" + result);
+ }
+ return result;
+ } finally {
+ // Recuperation des elements parcourus
+ addCachedElements(visitor.getCachedElements());
+ // nettoyage du visiteur temporaire
+ visitor.clear();
+ }
- // Ajout du resultat a la suite du courant
- rstResult += visitor.getResult();
-
- // Recuperation des documents parse
- addCachedElements(visitor.getCachedElements());
-
} catch (Exception ex) {
- log.error("Cant compose document : ", ex);
+ if (log.isErrorEnabled()) {
+ log.error("Cant compose document for reason " + ex.getMessage(), ex);
+ }
+ //FIXME : TC-20090816 should deal better the exception ?
+ return EMPTY_STRING;
}
- return rstResult;
}
- public String getResult(){
- return rstResult;
+ public String getResult() {
+ return rstResult.toString();
}
+ public void clear() {
+ cachedElements.clear();
+ rstResult = null;
+ }
+
+ protected void appendResult(String result) {
+ rstResult.append(result);
+ }
+
+ protected boolean elementEquals(String name, Element e) {
+ return e.getName().equals(name);
+ }
+
+ protected List<Element> getCachedElements() {
+ return cachedElements;
+ }
+
+ // Permet de ne jamais repasser sur ce noeud
+ protected void addCachedElement(Element e) {
+ cachedElements.add(e);
+ }
+
+ protected void addCachedElements(List<Element> elements) {
+ cachedElements.addAll(elements);
+ }
+
+ protected String indent(String toIndent, int l) {
+ String prefix = EMPTY_STRING;
+ for (int i = 0; i < l; i++) {
+ prefix += SPACE;
+ }
+ StringBuilder buffer = new StringBuilder();
+ for (String s : toIndent.split(LINE_SEPARATOR)) {
+ buffer.append(prefix).append(s).append(LINE_SEPARATOR);
+ }
+ return buffer.toString();
+ }
}
Added: trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java
===================================================================
--- trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java (rev 0)
+++ trunk/jrst/src/test/java/org/nuiton/jrst/JRSTTest.java 2009-08-16 12:07:32 UTC (rev 393)
@@ -0,0 +1,95 @@
+package org.nuiton.jrst;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ * @author chemit
+ */
+public class JRSTTest {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ protected static Log log = LogFactory.getLog(JRSTTest.class);
+ static File basedir;
+ static File testBasedir;
+
+ @BeforeClass
+ public static void beforeClass() {
+ String tmp = System.getProperty("basedir");
+ if (tmp == null || tmp.isEmpty()) {
+ tmp = new File("").getAbsolutePath();
+ }
+ basedir = new File(tmp);
+ testBasedir = new File(basedir,
+ "target" + File.separator +
+ "tests" + File.separator +
+ // "tests-" + System.nanoTime() + File.separator +
+ JRSTTest.class.getName());
+ testBasedir.mkdirs();
+ log.info("test basedir : " + testBasedir);
+ }
+
+ @Test
+ public void testToRst() throws IOException {
+ File in = new File(testBasedir, "toRst1-in.rst");
+
+ List<String> IN_LINES = Arrays.asList(new String[]{
+ "=====",
+ "Title",
+ "=====",
+ // "",
+ "SubTitle",
+ "--------",
+ // "",
+ ".. topic:: TopicTitle",
+ // "",
+ " TopicBody.",
+ // "",
+ // "",
+ "Another body outside of the topic :)"
+ });
+ List<String> OUT_LINES = Arrays.asList(new String[]{
+ "Title",
+ "-----",
+ // "",
+ "SubTitle",
+ "--------",
+ // "",
+ ".. topic:: TopicTitle",
+ // "",
+ " TopicBody.",
+ // "",
+ // "",
+ "Another body outside of the topic :)"
+ });
+
+ FileUtils.writeLines(in, IN_LINES);
+
+ File out = new File(testBasedir, "toRst1-out.rst");
+ try {
+ JRST.generate(JRST.TYPE_RST, in, out, JRST.Overwrite.ALLTIME);
+
+ } catch (Exception e) {
+ log.error(e);
+ Assert.fail(e.getMessage());
+ }
+ List<?> readLines = FileUtils.readLines(out);
+ // the title == Title === is transformed in Title ----
+ Assert.assertEquals(OUT_LINES.size(), readLines.size());
+ for (int i = 0, j = OUT_LINES.size(); i < j; i++) {
+ String inLine = OUT_LINES.get(i);
+ String outLine = (String) readLines.get(i);
+ Assert.assertEquals(inLine, outLine);
+
+ }
+ }
+}
1
0
Author: tchemit
Date: 2009-08-16 14:05:26 +0200 (Sun, 16 Aug 2009)
New Revision: 392
Modified:
trunk/jrst/src/test/java/org/nuiton/jrst/ThreadRedirection.java
Log:
use constants
Modified: trunk/jrst/src/test/java/org/nuiton/jrst/ThreadRedirection.java
===================================================================
--- trunk/jrst/src/test/java/org/nuiton/jrst/ThreadRedirection.java 2009-08-16 10:33:50 UTC (rev 391)
+++ trunk/jrst/src/test/java/org/nuiton/jrst/ThreadRedirection.java 2009-08-16 12:05:26 UTC (rev 392)
@@ -26,6 +26,7 @@
* Class qui redirige la sortie standard pour la laisser en interne
*/
public class ThreadRedirection extends Thread {
+ public static final String LINE_SEPARATOR = "\n";
protected StringBuffer str;
protected Process process;
@@ -34,6 +35,7 @@
str = new StringBuffer();
}
+ @Override
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -41,7 +43,7 @@
try {
String line;
while ((line = reader.readLine()) != null) {
- str.append(line + "\n");
+ str.append(line + LINE_SEPARATOR);
}
} finally {
1
0
Author: tchemit
Date: 2009-08-16 12:33:50 +0200 (Sun, 16 Aug 2009)
New Revision: 391
Modified:
trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java
Log:
format code, remove deprecated code, javadoc
Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java
===================================================================
--- trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2009-08-16 08:53:22 UTC (rev 390)
+++ trunk/jrst/src/main/java/org/nuiton/jrst/JRST.java 2009-08-16 10:33:50 UTC (rev 391)
@@ -256,8 +256,9 @@
while (!done) {
System.out.println(_("rstFile?"));
cheminRST = lireFile(false, false);
- if (cheminRST.length() == 0)
+ if (cheminRST.length() == 0) {
System.exit(0);
+ }
File fileRST = new File(cheminRST);
if (!fileRST.exists()) {
System.out.println(_("dontExist"));
@@ -395,7 +396,9 @@
*
* @param xslListOrOutType
* @param fileIn
+ * @param inputEncoding
* @param fileOut
+ * @param outputEncoding
* @param overwrite
* @throws Exception
*/
@@ -419,18 +422,18 @@
}
// parse rst file
- URL url = fileIn.toURL();
+ URL url = fileIn.toURI().toURL();
Reader in = new InputStreamReader(url.openStream(), inputEncoding);
JRSTReader jrst = new JRSTReader();
Document doc = jrst.read(in);
// Sortie vers rst
if (xslListOrOutType.equals(TYPE_RST)){
- // Creation dun visitor qui convertie de l'xml vers le rst
+ // Creation d'un visitor qui convertie de l'xml vers le rst
DocUtilsVisitor visitor = new DocUtils2RST();
// Atacher le visitor au document
- // il va parcourir tout les elements et reconstruir du rst
+ // il va parcourir tout les elements et reconstruire du rst
doc.accept(visitor);
// Recuperation du resultat
@@ -461,7 +464,7 @@
URL stylesheet = null;
File file = new File(xsl);
if (file.exists()) {
- stylesheet = file.toURL();
+ stylesheet = file.toURI().toURL();
} else {
//stylesheet = JRST.class.getResource(xsl);
stylesheet = Resource.getURL(xsl);
1
0