This is an automated email from the ASF dual-hosted git repository. juanpablo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit 63c82a09a8bae091b8fd4b248181689c4bba2b25 Author: Juan Pablo Santos RodrÃguez <[email protected]> AuthorDate: Sun Feb 20 22:16:25 2022 +0100 Refactored the org.apache.wiki.htmltowiki package, so it doesn't use Stack but instead a Deque. May split the package on the main module to its own module later on. --- .../org/apache/wiki/htmltowiki/SyntaxDecorator.java | 4 ++-- .../wiki/htmltowiki/XHtmlElementToWikiTranslator.java | 18 +++++++++--------- .../org/apache/wiki/htmltowiki/syntax/BrDecorator.java | 6 +++--- .../apache/wiki/htmltowiki/syntax/CodeDecorator.java | 10 +++++----- .../org/apache/wiki/htmltowiki/syntax/LiDecorator.java | 8 ++++---- .../org/apache/wiki/htmltowiki/syntax/OlDecorator.java | 10 +++++----- .../wiki/htmltowiki/syntax/PlainTextBoldDecorator.java | 5 +---- .../wiki/htmltowiki/syntax/PlainTextCssDecorator.java | 5 +---- .../syntax/PlainTextCssSpecialDecorator.java | 5 +---- .../wiki/htmltowiki/syntax/PlainTextDecorator.java | 5 +---- .../htmltowiki/syntax/PlainTextItalicDecorator.java | 5 +---- .../htmltowiki/syntax/PlainTextMonospaceDecorator.java | 10 +++++----- .../org/apache/wiki/htmltowiki/syntax/TdDecorator.java | 6 +++--- .../wiki/htmltowiki/syntax/TextElementDecorator.java | 6 +++--- .../org/apache/wiki/htmltowiki/syntax/ThDecorator.java | 6 +++--- .../org/apache/wiki/htmltowiki/syntax/UlDecorator.java | 10 +++++----- .../wiki/htmltowiki/syntax/WikiSyntaxDecorator.java | 4 ++-- .../htmltowiki/syntax/jspwiki/JSPWikiBrDecorator.java | 4 ++-- .../syntax/jspwiki/JSPWikiCodeDecorator.java | 4 ++-- .../htmltowiki/syntax/jspwiki/JSPWikiLiDecorator.java | 14 ++++++++++---- .../htmltowiki/syntax/jspwiki/JSPWikiOlDecorator.java | 4 ++-- .../syntax/jspwiki/JSPWikiPlainTextBoldDecorator.java | 5 ++--- .../syntax/jspwiki/JSPWikiPlainTextCssDecorator.java | 5 ++--- .../jspwiki/JSPWikiPlainTextCssSpecialDecorator.java | 5 ++--- .../jspwiki/JSPWikiPlainTextItalicDecorator.java | 5 ++--- .../jspwiki/JSPWikiPlainTextMonospaceDecorator.java | 4 ++-- .../syntax/jspwiki/JSPWikiSyntaxDecorator.java | 16 ++++++++-------- .../htmltowiki/syntax/jspwiki/JSPWikiTdDecorator.java | 4 ++-- .../htmltowiki/syntax/jspwiki/JSPWikiThDecorator.java | 4 ++-- .../htmltowiki/syntax/jspwiki/JSPWikiUlDecorator.java | 4 ++-- .../syntax/markdown/MarkdownBrDecorator.java | 4 ++-- .../syntax/markdown/MarkdownCodeDecorator.java | 4 ++-- .../syntax/markdown/MarkdownLiDecorator.java | 6 +++--- .../syntax/markdown/MarkdownOlDecorator.java | 4 ++-- .../markdown/MarkdownPlainTextBoldDecorator.java | 5 ++--- .../syntax/markdown/MarkdownPlainTextCssDecorator.java | 5 ++--- .../markdown/MarkdownPlainTextCssSpecialDecorator.java | 5 ++--- .../markdown/MarkdownPlainTextItalicDecorator.java | 5 ++--- .../markdown/MarkdownPlainTextMonospaceDecorator.java | 4 ++-- .../syntax/markdown/MarkdownSyntaxDecorator.java | 16 ++++++++-------- .../syntax/markdown/MarkdownTdDecorator.java | 4 ++-- .../syntax/markdown/MarkdownThDecorator.java | 4 ++-- .../syntax/markdown/MarkdownUlDecorator.java | 4 ++-- 43 files changed, 127 insertions(+), 144 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/SyntaxDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/SyntaxDecorator.java index 1fc4a19..150336b 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/SyntaxDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/SyntaxDecorator.java @@ -23,8 +23,8 @@ import org.jdom2.JDOMException; import org.jdom2.Text; import java.io.PrintWriter; +import java.util.Deque; import java.util.Map; -import java.util.Stack; /** @@ -42,7 +42,7 @@ public interface SyntaxDecorator { * @param config xhtml to wiki configuration object. * @param chain chain (in the chain of responsabilities pattern) that is expected to be called by the different xhtml decorations. */ - void init( PrintWriter out, Stack< String > liStack, Stack< String > preStack, WhitespaceTrimWriter outTrimmer, XHtmlToWikiConfig config, XHtmlElementToWikiTranslator chain ); + void init( PrintWriter out, Deque< String > liStack, Deque< String > preStack, WhitespaceTrimWriter outTrimmer, XHtmlToWikiConfig config, XHtmlElementToWikiTranslator chain ); /** * Decorates an {@code a} element. diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java index bef1843..7229fd5 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/XHtmlElementToWikiTranslator.java @@ -32,10 +32,11 @@ import org.jdom2.Text; import org.jdom2.xpath.XPathFactory; import java.io.PrintWriter; +import java.util.ArrayDeque; import java.util.Arrays; +import java.util.Deque; import java.util.LinkedHashMap; import java.util.Map; -import java.util.Stack; /** @@ -73,8 +74,8 @@ public class XHtmlElementToWikiTranslator { this.config = config; syntax = getSyntaxDecorator(); final PrintWriter out = new PrintWriter( outTrimmer ); - final Stack< String > liStack = new Stack<>(); - final Stack< String > preStack = new PreStack(); + final Deque< String > liStack = new ArrayDeque<>(); + final Deque< String > preStack = new PreDeque(); syntax.init( out, liStack, preStack, outTrimmer, config, this ); translate( base ); @@ -358,18 +359,17 @@ public class XHtmlElementToWikiTranslator { return dto; } - private class PreStack extends Stack< String > { + private class PreDeque extends ArrayDeque< String > { @Override - public String push( final String item ) { - final String push = super.push( item ); + public void addFirst( final String item ) { + super.addFirst( item ); outTrimmer.setWhitespaceTrimMode( isEmpty() ); - return push; } @Override - public synchronized String pop() { - final String pop = super.pop(); + public String removeFirst() { + final String pop = super.removeFirst(); outTrimmer.setWhitespaceTrimMode( isEmpty() ); return pop; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/BrDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/BrDecorator.java index 4a4a011..dd851b0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/BrDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/BrDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class BrDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; final protected XHtmlElementToWikiTranslator chain; - protected BrDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected BrDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.preStack = preStack; this.chain = chain; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/CodeDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/CodeDecorator.java index 1afb969..a17af6a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/CodeDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/CodeDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class CodeDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; final protected XHtmlElementToWikiTranslator chain; - protected CodeDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected CodeDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.preStack = preStack; this.chain = chain; @@ -48,9 +48,9 @@ public abstract class CodeDecorator { */ public void decorate( final Element e ) throws JDOMException { out.print( markupCodeOpen() ); - preStack.push( markupCodeOpen() ); + preStack.addFirst( markupCodeOpen() ); chain.translate( e ); - preStack.pop(); + preStack.removeFirst(); out.print( markupCodeClose() ); // NOTE: don't print a newline after the closing brackets because if the Text is inside // a table or list, it would break it if there was a subsequent row or list item. diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/LiDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/LiDecorator.java index 6b1f8bd..23f49ce 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/LiDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/LiDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class LiDecorator { final protected PrintWriter out; - final protected Stack< String > liStack; + final protected Deque< String > liStack; final protected XHtmlElementToWikiTranslator chain; - protected LiDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + protected LiDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.liStack = liStack; this.chain = chain; @@ -67,6 +67,6 @@ public abstract class LiDecorator { * * @return Wiki markup for a {@code LI} element. */ - protected abstract String markupLi( Stack< String > liStack ); + protected abstract String markupLi( Deque< String > liStack ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/OlDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/OlDecorator.java index 2310271..bf6ab79 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/OlDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/OlDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class OlDecorator { final protected PrintWriter out; - final protected Stack< String > liStack; + final protected Deque< String > liStack; final protected XHtmlElementToWikiTranslator chain; - protected OlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + protected OlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.liStack = liStack; this.chain = chain; @@ -48,9 +48,9 @@ public abstract class OlDecorator { */ public void decorate( final Element e ) throws JDOMException { out.println(); - liStack.push( markupOl() ); + liStack.addFirst( markupOl() ); chain.translate( e ); - liStack.pop(); + liStack.removeFirst(); } /** diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextBoldDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextBoldDecorator.java index 609b835..b51cdc3 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextBoldDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextBoldDecorator.java @@ -23,7 +23,6 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; /** @@ -32,13 +31,11 @@ import java.util.Stack; public abstract class PlainTextBoldDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; final protected XHtmlElementToWikiTranslator chain; final protected PlainTextItalicDecorator ptid; - protected PlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected PlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { this.out = out; - this.preStack = preStack; this.chain = chain; this.ptid = ptid; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssDecorator.java index 5513913..c8d1a66 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssDecorator.java @@ -22,7 +22,6 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,13 +30,11 @@ import java.util.Stack; public abstract class PlainTextCssDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; final protected XHtmlElementToWikiTranslator chain; final protected PlainTextBoldDecorator ptbd; - protected PlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected PlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { this.out = out; - this.preStack = preStack; this.chain = chain; this.ptbd = ptbd; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssSpecialDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssSpecialDecorator.java index 29dc157..ac8c389 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssSpecialDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextCssSpecialDecorator.java @@ -22,7 +22,6 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,12 +30,10 @@ import java.util.Stack; public abstract class PlainTextCssSpecialDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; final protected XHtmlElementToWikiTranslator chain; - protected PlainTextCssSpecialDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected PlainTextCssSpecialDecorator( final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { this.out = out; - this.preStack = preStack; this.chain = chain; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextDecorator.java index ae45168..1381d5d 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextDecorator.java @@ -22,7 +22,6 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; /** @@ -38,13 +37,11 @@ import java.util.Stack; public class PlainTextDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; final protected XHtmlElementToWikiTranslator chain; final protected PlainTextCssDecorator ptcd; - public PlainTextDecorator( final PlainTextCssDecorator ptcd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + public PlainTextDecorator( final PlainTextCssDecorator ptcd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { this.out = out; - this.preStack = preStack; this.chain = chain; this.ptcd = ptcd; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextItalicDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextItalicDecorator.java index 1695d9d..4946f65 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextItalicDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextItalicDecorator.java @@ -23,7 +23,6 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; /** @@ -32,13 +31,11 @@ import java.util.Stack; public abstract class PlainTextItalicDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; final protected XHtmlElementToWikiTranslator chain; final protected PlainTextMonospaceDecorator ptmd; - protected PlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected PlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { this.out = out; - this.preStack = preStack; this.chain = chain; this.ptmd = ptmd; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextMonospaceDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextMonospaceDecorator.java index c671c0d..b188651 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextMonospaceDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/PlainTextMonospaceDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,11 +32,11 @@ import java.util.Stack; public abstract class PlainTextMonospaceDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; final protected XHtmlElementToWikiTranslator chain; final protected PlainTextCssSpecialDecorator ptcsd; - protected PlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected PlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.preStack = preStack; this.chain = chain; @@ -51,11 +51,11 @@ public abstract class PlainTextMonospaceDecorator { public void decorate( final XHtmlElementToWikiTranslator.ElementDecoratorData dto ) throws JDOMException { if( dto.monospace ) { out.print( markupMonospaceOpen() ); - preStack.push( markupMonospaceOpen() ); + preStack.addFirst( markupMonospaceOpen() ); } ptcsd.decorate( dto ); if( dto.monospace ) { - preStack.pop(); + preStack.removeFirst(); out.print( markupMonospaceClose() ); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TdDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TdDecorator.java index 5793725..561e1d0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TdDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TdDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class TdDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; final protected XHtmlElementToWikiTranslator chain; - protected TdDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected TdDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.preStack = preStack; this.chain = chain; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TextElementDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TextElementDecorator.java index 49d0730..62b6b5f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TextElementDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/TextElementDecorator.java @@ -21,7 +21,7 @@ package org.apache.wiki.htmltowiki.syntax; import org.jdom2.Text; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,9 +30,9 @@ import java.util.Stack; public class TextElementDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; - public TextElementDecorator( final PrintWriter out, final Stack< String > preStack ) { + public TextElementDecorator( final PrintWriter out, final Deque< String > preStack ) { this.out = out; this.preStack = preStack; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/ThDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/ThDecorator.java index 0b571ad..00d588b 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/ThDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/ThDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class ThDecorator { final protected PrintWriter out; - final protected Stack< String > preStack; + final protected Deque< String > preStack; final protected XHtmlElementToWikiTranslator chain; - protected ThDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + protected ThDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.preStack = preStack; this.chain = chain; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/UlDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/UlDecorator.java index 30a11d7..3f5267e 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/UlDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/UlDecorator.java @@ -23,7 +23,7 @@ import org.jdom2.Element; import org.jdom2.JDOMException; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -32,10 +32,10 @@ import java.util.Stack; public abstract class UlDecorator { final protected PrintWriter out; - final protected Stack< String > liStack; + final protected Deque< String > liStack; final protected XHtmlElementToWikiTranslator chain; - protected UlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + protected UlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { this.out = out; this.liStack = liStack; this.chain = chain; @@ -48,9 +48,9 @@ public abstract class UlDecorator { */ public void decorate( final Element e ) throws JDOMException { out.println(); - liStack.push( markupUl() ); + liStack.addFirst( markupUl() ); chain.translate( e ); - liStack.pop(); + liStack.removeFirst(); } /** diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/WikiSyntaxDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/WikiSyntaxDecorator.java index 61af84d..f81536c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/WikiSyntaxDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/WikiSyntaxDecorator.java @@ -27,15 +27,15 @@ import org.jdom2.JDOMException; import org.jdom2.Text; import java.io.PrintWriter; +import java.util.Deque; import java.util.Map; -import java.util.Stack; /** * <p>Base Syntax decorator which translates to JSPWiki syntax. Delegates each kind of XHTML element to its specific * decorator.</p> * <p>This class is useful when developing a new wiki syntax decorator - just extend from it and provide the implementations of all - * the needed Decorators on the {@link SyntaxDecorator#init(PrintWriter, Stack, Stack, WhitespaceTrimWriter, XHtmlToWikiConfig, XHtmlElementToWikiTranslator)} method</p> + * the needed Decorators on the {@link SyntaxDecorator#init(PrintWriter, Deque, Deque, WhitespaceTrimWriter, XHtmlToWikiConfig, XHtmlElementToWikiTranslator)} method</p> */ public abstract class WikiSyntaxDecorator implements SyntaxDecorator { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiBrDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiBrDecorator.java index f9cd615..84c15ed 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiBrDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiBrDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.BrDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiBrDecorator extends BrDecorator { - JSPWikiBrDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiBrDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiCodeDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiCodeDecorator.java index 9e8b613..b6e377f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiCodeDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiCodeDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.CodeDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiCodeDecorator extends CodeDecorator { - JSPWikiCodeDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiCodeDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiLiDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiLiDecorator.java index e748ea3..563371a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiLiDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiLiDecorator.java @@ -22,7 +22,8 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.LiDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; +import java.util.Iterator; /** @@ -30,14 +31,19 @@ import java.util.Stack; */ class JSPWikiLiDecorator extends LiDecorator { - JSPWikiLiDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiLiDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); } /** {@inheritDoc} */ @Override - protected String markupLi( final Stack< String > liStack ) { - return String.join( "", liStack ) + " "; + protected String markupLi( final Deque< String > liStack ) { + final StringBuilder li = new StringBuilder(); + final Iterator< String > iterator = liStack.descendingIterator(); + while( iterator.hasNext() ) { + li.append( iterator.next() ); + } + return li + " "; } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiOlDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiOlDecorator.java index ab8ee68..49ebc1b 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiOlDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiOlDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.OlDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiOlDecorator extends OlDecorator { - JSPWikiOlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiOlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextBoldDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextBoldDecorator.java index 52ac526..f014f6c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextBoldDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextBoldDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextBoldDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextItalicDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class JSPWikiPlainTextBoldDecorator extends PlainTextBoldDecorator { - JSPWikiPlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptid, out, preStack, chain ); + JSPWikiPlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptid, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssDecorator.java index 3d9cceb..1aab16c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextBoldDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextCssDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class JSPWikiPlainTextCssDecorator extends PlainTextCssDecorator { - JSPWikiPlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptbd, out, preStack, chain ); + JSPWikiPlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptbd, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssSpecialDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssSpecialDecorator.java index 459f8c0..a7dfd89 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssSpecialDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextCssSpecialDecorator.java @@ -22,7 +22,6 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.PlainTextCssSpecialDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -30,8 +29,8 @@ import java.util.Stack; */ class JSPWikiPlainTextCssSpecialDecorator extends PlainTextCssSpecialDecorator { - JSPWikiPlainTextCssSpecialDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( out, preStack, chain ); + JSPWikiPlainTextCssSpecialDecorator( final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextItalicDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextItalicDecorator.java index 2f0c307..9e23511 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextItalicDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextItalicDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextItalicDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextMonospaceDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class JSPWikiPlainTextItalicDecorator extends PlainTextItalicDecorator { - JSPWikiPlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptmd, out, preStack, chain ); + JSPWikiPlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptmd, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextMonospaceDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextMonospaceDecorator.java index 23a7c63..440bc1c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextMonospaceDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiPlainTextMonospaceDecorator.java @@ -23,7 +23,7 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextCssSpecialDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextMonospaceDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -31,7 +31,7 @@ import java.util.Stack; */ class JSPWikiPlainTextMonospaceDecorator extends PlainTextMonospaceDecorator { - JSPWikiPlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiPlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( ptcsd, out, preStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiSyntaxDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiSyntaxDecorator.java index 2034fbd..8200cba 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiSyntaxDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiSyntaxDecorator.java @@ -31,7 +31,7 @@ import org.apache.wiki.htmltowiki.syntax.TrDecorator; import org.apache.wiki.htmltowiki.syntax.WikiSyntaxDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -42,8 +42,8 @@ public class JSPWikiSyntaxDecorator extends WikiSyntaxDecorator { /** {@inheritDoc} */ @Override public void init( final PrintWriter out, - final Stack< String > liStack, - final Stack< String > preStack, + final Deque< String > liStack, + final Deque< String > preStack, final WhitespaceTrimWriter outTrimmer, final XHtmlToWikiConfig config, final XHtmlElementToWikiTranslator chain ) { @@ -51,12 +51,12 @@ public class JSPWikiSyntaxDecorator extends WikiSyntaxDecorator { this.outTrimmer = outTrimmer; this.chain = chain; - this.cssStyle = new JSPWikiPlainTextCssSpecialDecorator( out, preStack, chain ); + this.cssStyle = new JSPWikiPlainTextCssSpecialDecorator( out, chain ); this.pre = new JSPWikiPlainTextMonospaceDecorator( cssStyle, out, preStack, chain ); - this.em = new JSPWikiPlainTextItalicDecorator( pre, out, preStack, chain ); - this.strong = new JSPWikiPlainTextBoldDecorator( em, out, preStack, chain ); - this.css = new JSPWikiPlainTextCssDecorator( strong, out, preStack, chain ); - this.plainText = new PlainTextDecorator( css, out, preStack, chain ); + this.em = new JSPWikiPlainTextItalicDecorator( pre, out, chain ); + this.strong = new JSPWikiPlainTextBoldDecorator( em, out, chain ); + this.css = new JSPWikiPlainTextCssDecorator( strong, out, chain ); + this.plainText = new PlainTextDecorator( css, out, chain ); this.a = new JSPWikiADecorator( out, config, chain ); this.br = new JSPWikiBrDecorator( out, preStack, chain ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiTdDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiTdDecorator.java index 38cdbf0..2f4778a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiTdDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiTdDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.TdDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiTdDecorator extends TdDecorator { - JSPWikiTdDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiTdDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiThDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiThDecorator.java index 343c115..95a71a0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiThDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiThDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.ThDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiThDecorator extends ThDecorator { - JSPWikiThDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiThDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiUlDecorator.java b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiUlDecorator.java index 8010c34..244a4ee 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiUlDecorator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/htmltowiki/syntax/jspwiki/JSPWikiUlDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.UlDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class JSPWikiUlDecorator extends UlDecorator { - JSPWikiUlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + JSPWikiUlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownBrDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownBrDecorator.java index 9f25eb9..fa16244 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownBrDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownBrDecorator.java @@ -24,7 +24,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.BrDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -34,7 +34,7 @@ class MarkdownBrDecorator extends BrDecorator { private static final String INDENTATION_UNIT = StringUtils.repeat( WhitespaceTrimWriter.NO_TRIMMED_SPACE, 2 ); - MarkdownBrDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownBrDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownCodeDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownCodeDecorator.java index 8ba0c1f..c5f66e7 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownCodeDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownCodeDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.CodeDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class MarkdownCodeDecorator extends CodeDecorator { - MarkdownCodeDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownCodeDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownLiDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownLiDecorator.java index 37b600c..c0aad88 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownLiDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownLiDecorator.java @@ -24,7 +24,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.LiDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -34,13 +34,13 @@ class MarkdownLiDecorator extends LiDecorator { private static final String INDENTATION_UNIT = StringUtils.repeat( WhitespaceTrimWriter.NO_TRIMMED_SPACE, 4 ); - MarkdownLiDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownLiDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); } /** {@inheritDoc} */ @Override - protected String markupLi( final Stack< String > liStack ) { + protected String markupLi( final Deque< String > liStack ) { final String liIndentation = StringUtils.repeat( INDENTATION_UNIT, liStack.size() - 1 ); return liIndentation + liStack.peek() + " "; } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownOlDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownOlDecorator.java index 0ebecdf..4967b32 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownOlDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownOlDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.OlDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class MarkdownOlDecorator extends OlDecorator { - MarkdownOlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownOlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextBoldDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextBoldDecorator.java index ef42958..6c60c1f 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextBoldDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextBoldDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextBoldDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextItalicDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class MarkdownPlainTextBoldDecorator extends PlainTextBoldDecorator { - MarkdownPlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptid, out, preStack, chain ); + MarkdownPlainTextBoldDecorator( final PlainTextItalicDecorator ptid, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptid, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssDecorator.java index 0cbc675..018013e 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextBoldDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextCssDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class MarkdownPlainTextCssDecorator extends PlainTextCssDecorator { - MarkdownPlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptbd, out, preStack, chain ); + MarkdownPlainTextCssDecorator( final PlainTextBoldDecorator ptbd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptbd, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssSpecialDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssSpecialDecorator.java index 2d7965d..57158f2 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssSpecialDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextCssSpecialDecorator.java @@ -22,7 +22,6 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.PlainTextCssSpecialDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -30,8 +29,8 @@ import java.util.Stack; */ class MarkdownPlainTextCssSpecialDecorator extends PlainTextCssSpecialDecorator { - MarkdownPlainTextCssSpecialDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( out, preStack, chain ); + MarkdownPlainTextCssSpecialDecorator( final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextItalicDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextItalicDecorator.java index 397c41f..3f0f6ee 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextItalicDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextItalicDecorator.java @@ -23,7 +23,6 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextItalicDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextMonospaceDecorator; import java.io.PrintWriter; -import java.util.Stack; /** @@ -31,8 +30,8 @@ import java.util.Stack; */ class MarkdownPlainTextItalicDecorator extends PlainTextItalicDecorator { - MarkdownPlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { - super( ptmd, out, preStack, chain ); + MarkdownPlainTextItalicDecorator( final PlainTextMonospaceDecorator ptmd, final PrintWriter out, final XHtmlElementToWikiTranslator chain ) { + super( ptmd, out, chain ); } /** {@inheritDoc} */ diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextMonospaceDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextMonospaceDecorator.java index 4f513b0..2806f28 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextMonospaceDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownPlainTextMonospaceDecorator.java @@ -23,7 +23,7 @@ import org.apache.wiki.htmltowiki.syntax.PlainTextCssSpecialDecorator; import org.apache.wiki.htmltowiki.syntax.PlainTextMonospaceDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -31,7 +31,7 @@ import java.util.Stack; */ class MarkdownPlainTextMonospaceDecorator extends PlainTextMonospaceDecorator { - MarkdownPlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownPlainTextMonospaceDecorator( final PlainTextCssSpecialDecorator ptcsd, final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( ptcsd, out, preStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownSyntaxDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownSyntaxDecorator.java index 1f3f99a..6959566 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownSyntaxDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownSyntaxDecorator.java @@ -30,7 +30,7 @@ import org.apache.wiki.htmltowiki.syntax.TrDecorator; import org.apache.wiki.htmltowiki.syntax.WikiSyntaxDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -41,8 +41,8 @@ public class MarkdownSyntaxDecorator extends WikiSyntaxDecorator { /** {@inheritDoc} */ @Override public void init( final PrintWriter out, - final Stack< String > liStack, - final Stack< String > preStack, + final Deque< String > liStack, + final Deque< String > preStack, final WhitespaceTrimWriter outTrimmer, final XHtmlToWikiConfig config, final XHtmlElementToWikiTranslator chain ) { @@ -50,12 +50,12 @@ public class MarkdownSyntaxDecorator extends WikiSyntaxDecorator { this.outTrimmer = outTrimmer; this.chain = chain; - this.cssStyle = new MarkdownPlainTextCssSpecialDecorator( out, preStack, chain ); + this.cssStyle = new MarkdownPlainTextCssSpecialDecorator( out, chain ); this.pre = new MarkdownPlainTextMonospaceDecorator( cssStyle, out, preStack, chain ); - this.em = new MarkdownPlainTextItalicDecorator( pre, out, preStack, chain ); - this.strong = new MarkdownPlainTextBoldDecorator( em, out, preStack, chain ); - this.css = new MarkdownPlainTextCssDecorator( strong, out, preStack, chain ); - this.plainText = new PlainTextDecorator( css, out, preStack, chain ); + this.em = new MarkdownPlainTextItalicDecorator( pre, out, chain ); + this.strong = new MarkdownPlainTextBoldDecorator( em, out, chain ); + this.css = new MarkdownPlainTextCssDecorator( strong, out, chain ); + this.plainText = new PlainTextDecorator( css, out, chain ); this.a = new MarkdownADecorator( out, config, chain ); this.br = new MarkdownBrDecorator( out, preStack, chain ); diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownTdDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownTdDecorator.java index fec1e3d..69fe0fb 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownTdDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownTdDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.TdDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class MarkdownTdDecorator extends TdDecorator { - MarkdownTdDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownTdDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownThDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownThDecorator.java index d1efeec..aa6a4ae 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownThDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownThDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.ThDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class MarkdownThDecorator extends ThDecorator { - MarkdownThDecorator( final PrintWriter out, final Stack< String > preStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownThDecorator( final PrintWriter out, final Deque< String > preStack, final XHtmlElementToWikiTranslator chain ) { super( out, preStack, chain ); } diff --git a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownUlDecorator.java b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownUlDecorator.java index 60b865a..2284b48 100644 --- a/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownUlDecorator.java +++ b/jspwiki-markdown/src/main/java/org/apache/wiki/htmltowiki/syntax/markdown/MarkdownUlDecorator.java @@ -22,7 +22,7 @@ import org.apache.wiki.htmltowiki.XHtmlElementToWikiTranslator; import org.apache.wiki.htmltowiki.syntax.UlDecorator; import java.io.PrintWriter; -import java.util.Stack; +import java.util.Deque; /** @@ -30,7 +30,7 @@ import java.util.Stack; */ class MarkdownUlDecorator extends UlDecorator { - MarkdownUlDecorator( final PrintWriter out, final Stack< String > liStack, final XHtmlElementToWikiTranslator chain ) { + MarkdownUlDecorator( final PrintWriter out, final Deque< String > liStack, final XHtmlElementToWikiTranslator chain ) { super( out, liStack, chain ); }
