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 6a83a537b2925c72f4c6c657ceb2690ae67d2eb8 Author: juanpablo <[email protected]> AuthorDate: Thu Jan 16 00:04:50 2020 +0100 JSPWIKI-120: move remaining textToHtml(..) method from WikiEngine to PageManager --- .../src/main/java/org/apache/wiki/WikiEngine.java | 40 +-------------- .../main/java/org/apache/wiki/plugin/IfPlugin.java | 2 +- .../java/org/apache/wiki/plugin/InsertPage.java | 2 +- .../org/apache/wiki/plugin/PageViewPlugin.java | 2 +- .../wiki/render/DefaultRenderingManager.java | 33 ++++++++++++ .../org/apache/wiki/render/RenderingManager.java | 9 ++++ .../java/org/apache/wiki/rss/RSSGenerator.java | 4 +- .../java/org/apache/wiki/tags/TranslateTag.java | 2 +- .../apache/wiki/tasks/pages/SaveWikiPageTask.java | 16 +++--- .../java/org/apache/wiki/workflow/Workflow.java | 13 +++-- .../wiki/plugin/UndefinedPagesPluginTest.java | 58 ++++++++-------------- 11 files changed, 84 insertions(+), 97 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java index 9f9895b..de440ae 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java @@ -19,13 +19,11 @@ package org.apache.wiki; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.StopWatch; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.apache.wiki.api.engine.AdminBeanManager; import org.apache.wiki.api.engine.FilterManager; import org.apache.wiki.api.engine.PluginManager; -import org.apache.wiki.api.exceptions.FilterException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.attachment.AttachmentManager; @@ -932,7 +930,7 @@ public class WikiEngine { */ public String getHTML( final WikiContext context, final WikiPage page ) { final String pagedata = getPageManager().getPureText( page.getName(), page.getVersion() ); - return textToHTML( context, pagedata ); + return m_renderingManager.textToHTML( context, pagedata ); } /** @@ -962,42 +960,6 @@ public class WikiEngine { } /** - * Converts raw page data to HTML. - * - * @param pagedata Raw page data to convert to HTML - * @param context The WikiContext in which the page is to be rendered - * @return Rendered page text - */ - public String textToHTML( final WikiContext context, String pagedata ) { - String result = ""; - - final boolean runFilters = "true".equals(m_variableManager.getValue(context,VariableManager.VAR_RUNFILTERS,"true")); - - final StopWatch sw = new StopWatch(); - sw.start(); - try { - if( runFilters ) { - pagedata = m_filterManager.doPreTranslateFiltering( context, pagedata ); - } - - result = m_renderingManager.getHTML( context, pagedata ); - - if( runFilters ) { - result = m_filterManager.doPostTranslateFiltering( context, result ); - } - } catch( final FilterException e ) { - log.error( "page filter threw exception: ", e ); - // FIXME: Don't yet know what to do - } - sw.stop(); - if( log.isDebugEnabled() ) { - log.debug( "Page " + context.getRealPage().getName() + " rendered, took " + sw ); - } - - return result; - } - - /** * Protected method that signals that the WikiEngine will be shut down by the servlet container. It is called by * {@link WikiServlet#destroy()}. When this method is called, it fires a "shutdown" WikiEngineEvent to all registered listeners. */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java index 64305d0..a6cb392 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IfPlugin.java @@ -141,7 +141,7 @@ public class IfPlugin implements WikiPlugin */ public String execute( final WikiContext context, final Map< String, String > params ) throws PluginException { return ifInclude( context,params ) - ? context.getEngine().textToHTML( context, params.get( DefaultPluginManager.PARAM_BODY ) ) + ? context.getEngine().getRenderingManager().textToHTML( context, params.get( DefaultPluginManager.PARAM_BODY ) ) : "" ; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java index e34e990..d2b9449 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java @@ -206,7 +206,7 @@ public class InsertPage if( showOnce ) res.append("\" data-once=\""+cookieName ); res.append("\" >"); - res.append( engine.textToHTML( includedContext, pageData ) ); + res.append( engine.getRenderingManager().textToHTML( includedContext, pageData ) ); res.append( moreLink ); res.append("</div>"); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java index 12f312b..1981a44 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java @@ -517,7 +517,7 @@ public class PageViewPlugin extends AbstractReferralPlugin implements WikiPlugin buf.append( footer ); // let the engine render the list - result = engine.textToHTML( context, buf.toString() ); + result = engine.getRenderingManager().textToHTML( context, buf.toString() ); } } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java index 331ad7d..686070c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java @@ -270,6 +270,39 @@ public class DefaultRenderingManager implements RenderingManager { * {@inheritDoc} */ @Override + public String textToHTML( final WikiContext context, String pagedata ) { + String result = ""; + + final boolean runFilters = "true".equals( m_engine.getVariableManager().getValue( context,VariableManager.VAR_RUNFILTERS,"true" ) ); + + final StopWatch sw = new StopWatch(); + sw.start(); + try { + if( runFilters ) { + pagedata = m_engine.getFilterManager().doPreTranslateFiltering( context, pagedata ); + } + + result = getHTML( context, pagedata ); + + if( runFilters ) { + result = m_engine.getFilterManager().doPostTranslateFiltering( context, result ); + } + } catch( final FilterException e ) { + log.error( "page filter threw exception: ", e ); + // FIXME: Don't yet know what to do + } + sw.stop(); + if( log.isDebugEnabled() ) { + log.debug( "Page " + context.getRealPage().getName() + " rendered, took " + sw ); + } + + return result; + } + + /** + * {@inheritDoc} + */ + @Override public String textToHTML( final WikiContext context, String pagedata, final StringTransmutator localLinkHook, diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java index 937fce7..ac2c4b0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java @@ -162,6 +162,15 @@ public interface RenderingManager extends WikiEventListener, InternalModule { } /** + * Converts raw page data to HTML. + * + * @param pagedata Raw page data to convert to HTML + * @param context The WikiContext in which the page is to be rendered + * @return Rendered page text + */ + String textToHTML( WikiContext context, String pagedata ); + + /** * Helper method for doing the HTML translation. * * @param context The WikiContext in which to do the conversion diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java index 53e5fe2..d4e5687 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java @@ -533,9 +533,7 @@ public class RSSGenerator { if( maxlen > MAX_CHARACTERS ) maxlen = MAX_CHARACTERS; if( maxlen > 0 ) { - pageText = m_engine.textToHTML( wikiContext, - pageText.substring( firstLine+1, - maxlen ).trim() ); + pageText = m_engine.getRenderingManager().textToHTML( wikiContext, pageText.substring( firstLine + 1, maxlen ).trim() ); if( maxlen == MAX_CHARACTERS ) { pageText += "..."; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java index f6cbd0c..f4355d2 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java @@ -52,7 +52,7 @@ public class TranslateTag if( wikiText != null ) { wikiText = wikiText.trim(); - final String result = context.getEngine().textToHTML( context, wikiText ); + final String result = context.getEngine().getRenderingManager().textToHTML( context, wikiText ); getPreviousOut().write( result ); } } catch( final Exception e ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java index 72ee1b3..e076fb8 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java @@ -48,19 +48,19 @@ public class SaveWikiPageTask extends Task { @Override public Outcome execute() throws WikiException { // Retrieve attributes - WikiContext context = (WikiContext) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_ATTR_PRESAVE_WIKI_CONTEXT ); - String proposedText = (String) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_FACT_PROPOSED_TEXT ); + final WikiContext context = ( WikiContext ) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_ATTR_PRESAVE_WIKI_CONTEXT ); + final String proposedText = (String) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_FACT_PROPOSED_TEXT ); - WikiEngine engine = context.getEngine(); - WikiPage page = context.getPage(); + final WikiEngine engine = context.getEngine(); + final WikiPage page = context.getPage(); // Let the rest of the engine handle actual saving. - engine.getPageManager().putPageText(page, proposedText); + engine.getPageManager().putPageText( page, proposedText ); // Refresh the context for post save filtering. - engine.getPageManager().getPage(page.getName()); - engine.textToHTML(context, proposedText); - engine.getFilterManager().doPostSaveFiltering(context, proposedText); + engine.getPageManager().getPage( page.getName() ); + engine.getRenderingManager().textToHTML( context, proposedText ); + engine.getFilterManager().doPostSaveFiltering( context, proposedText ); return Outcome.STEP_COMPLETE; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/workflow/Workflow.java b/jspwiki-main/src/main/java/org/apache/wiki/workflow/Workflow.java index 80aa960..3a0883b 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/workflow/Workflow.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/workflow/Workflow.java @@ -18,6 +18,11 @@ */ package org.apache.wiki.workflow; +import org.apache.wiki.api.exceptions.WikiException; +import org.apache.wiki.event.WikiEventListener; +import org.apache.wiki.event.WikiEventManager; +import org.apache.wiki.event.WorkflowEvent; + import java.io.Serializable; import java.security.Principal; import java.util.ArrayList; @@ -28,11 +33,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.apache.wiki.api.exceptions.WikiException; -import org.apache.wiki.event.WikiEventListener; -import org.apache.wiki.event.WikiEventManager; -import org.apache.wiki.event.WorkflowEvent; - /** * <p> * Sequence of {@link Step} objects linked together. Workflows are always @@ -382,8 +382,7 @@ public class Workflow implements Serializable * Retrieves a named Object associated with this Workflow. If the Workflow * has completed or aborted, this method always returns <code>null</code>. * - * @param attr - * the name of the attribute + * @param attr the name of the attribute * @return the value */ public final synchronized Object getAttribute( String attr ) diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java index c0a7dad..58aab45 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java @@ -19,8 +19,7 @@ package org.apache.wiki.plugin; -import java.util.Properties; - +import net.sf.ehcache.CacheManager; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiPage; @@ -31,19 +30,18 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import net.sf.ehcache.CacheManager; +import java.util.Properties; + + +public class UndefinedPagesPluginTest { -public class UndefinedPagesPluginTest -{ Properties props = TestEngine.getTestProperties(); TestEngine testEngine; WikiContext context; PluginManager manager; @BeforeEach - public void setUp() - throws Exception - { + public void setUp() throws Exception { CacheManager.getInstance().removeAllCaches(); testEngine = new TestEngine(props); @@ -55,16 +53,14 @@ public class UndefinedPagesPluginTest } @AfterEach - public void tearDown() - { + public void tearDown() { testEngine.deleteTestPage( "TestPage" ); testEngine.deleteTestPage( "Foobar" ); TestEngine.emptyWorkDir(); } - private String wikitize( String s ) - { - return testEngine.textToHTML( context, s ); + private String wikitize( final String s ) { + return testEngine.getRenderingManager().textToHTML( context, s ); } /** @@ -73,39 +69,29 @@ public class UndefinedPagesPluginTest * be listed as non-existent. */ @Test - public void testSimpleUndefined() - throws Exception - { - WikiContext context2 = new WikiContext( testEngine, new WikiPage(testEngine, "Foobar") ); - - String res = manager.execute( context2, - "{INSERT org.apache.wiki.plugin.UndefinedPagesPlugin"); + public void testSimpleUndefined() throws Exception { + final WikiContext context2 = new WikiContext( testEngine, new WikiPage( testEngine, "Foobar" ) ); + final String res = manager.execute( context2,"{INSERT org.apache.wiki.plugin.UndefinedPagesPlugin" ); + final String exp = "[Foobar 2]\\\\"; - String exp = "[Foobar 2]\\\\"; - - Assertions.assertEquals( wikitize(exp), res ); + Assertions.assertEquals( wikitize( exp ), res ); } @Test - public void testCount() throws Exception - { - String result = null; - result = manager.execute(context, "{UndefinedPagesPlugin show=count}"); - Assertions.assertEquals("1", result); + public void testCount() throws Exception { + final String result = manager.execute( context, "{UndefinedPagesPlugin show=count}"); + Assertions.assertEquals("1", result ); // test if the proper exception is thrown: - String expectedExceptionString = "parameter showLastModified is not valid for the UndefinedPagesPlugin"; + final String expectedExceptionString = "parameter showLastModified is not valid for the UndefinedPagesPlugin"; String exceptionString = null; - try - { - result = manager.execute(context, "{UndefinedPagesPlugin,show=count,showLastModified=true}"); - } - catch (PluginException pe) - { + try { + manager.execute( context, "{UndefinedPagesPlugin,show=count,showLastModified=true}" ); + } catch( final PluginException pe ) { exceptionString = pe.getMessage(); } - Assertions.assertEquals(expectedExceptionString, exceptionString); + Assertions.assertEquals( expectedExceptionString, exceptionString ); } }
