You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2020/01/16 23:07:39 UTC
[jspwiki] 19/26: JSPWIKI-120: move remaining textToHtml(..) method
from WikiEngine to PageManager
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 <ju...@apache.org>
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 );
}
}