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:38 UTC

[jspwiki] 18/26: JSPWIKI-120: moved textToHtml(..) methods from WikiEngine to RenderingManager

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 3729e43d8bd1e352ffdeca8571e7e5cadd7d394b
Author: juanpablo <ju...@apache.org>
AuthorDate: Wed Jan 15 00:12:43 2020 +0100

    JSPWIKI-120: moved textToHtml(..) methods from WikiEngine to RenderingManager
    
    also, constant PROP_RUNFILTERS from WikiEngine moved to VariableManager as VAR_RUNFILTERS
---
 .../src/main/java/org/apache/wiki/WikiEngine.java  | 114 +--------------------
 .../org/apache/wiki/plugin/TableOfContents.java    |   3 +-
 .../wiki/references/DefaultReferenceManager.java   |  15 ++-
 .../wiki/render/DefaultRenderingManager.java       |  67 ++++++++++++
 .../org/apache/wiki/render/RenderingManager.java   |  55 ++++++++++
 .../org/apache/wiki/variables/VariableManager.java |   3 +
 .../java/org/apache/wiki/xmlrpc/RPCHandler.java    |  87 +++++++---------
 .../org/apache/wiki/xmlrpc/RPCHandlerUTF8.java     |   2 +-
 8 files changed, 174 insertions(+), 172 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 fb9bdc5..9f9895b 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
@@ -43,7 +43,6 @@ import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.i18n.InternationalizationManager;
 import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.MarkupParser;
-import org.apache.wiki.parser.WikiDocument;
 import org.apache.wiki.providers.WikiPageProvider;
 import org.apache.wiki.references.ReferenceManager;
 import org.apache.wiki.render.RenderingManager;
@@ -67,7 +66,6 @@ import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
-import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -160,9 +158,6 @@ public class WikiEngine  {
     /** Property name for setting the url generator instance */
     public static final String PROP_URLCONSTRUCTOR = "jspwiki.urlConstructor";
 
-    /** If this property is set to false, all filters are disabled when translating. */
-    public static final String PROP_RUNFILTERS   = "jspwiki.runFilters";
-
     /** Does the work in renaming pages. */
     private PageRenamer    m_pageRenamer = null;
 
@@ -976,7 +971,7 @@ public class WikiEngine  {
     public String textToHTML( final WikiContext context, String pagedata ) {
         String result = "";
 
-        final boolean runFilters = "true".equals(m_variableManager.getValue(context,PROP_RUNFILTERS,"true"));
+        final boolean runFilters = "true".equals(m_variableManager.getValue(context,VariableManager.VAR_RUNFILTERS,"true"));
 
         final StopWatch sw = new StopWatch();
         sw.start();
@@ -1012,113 +1007,6 @@ public class WikiEngine  {
     }
 
     /**
-     *  Just convert WikiText to HTML.
-     *
-     *  @param context The WikiContext in which to do the conversion
-     *  @param pagedata The data to render
-     *  @param localLinkHook Is called whenever a wiki link is found
-     *  @param extLinkHook   Is called whenever an external link is found
-     *
-     *  @return HTML-rendered page text.
-     */
-
-    public String textToHTML( final WikiContext context,
-                              final String pagedata,
-                              final StringTransmutator localLinkHook,
-                              final StringTransmutator extLinkHook ) {
-        return textToHTML( context, pagedata, localLinkHook, extLinkHook, null, true, false );
-    }
-
-    /**
-     *  Just convert WikiText to HTML.
-     *
-     *  @param context The WikiContext in which to do the conversion
-     *  @param pagedata The data to render
-     *  @param localLinkHook Is called whenever a wiki link is found
-     *  @param extLinkHook   Is called whenever an external link is found
-     *  @param attLinkHook   Is called whenever an attachment link is found
-     *  @return HTML-rendered page text.
-     */
-
-    public String textToHTML( final WikiContext context,
-                              final String pagedata,
-                              final StringTransmutator localLinkHook,
-                              final StringTransmutator extLinkHook,
-                              final StringTransmutator attLinkHook ) {
-        return textToHTML( context, pagedata, localLinkHook, extLinkHook, attLinkHook, true, false );
-    }
-
-    /**
-     *  Helper method for doing the HTML translation.
-     *
-     *  @param context The WikiContext in which to do the conversion
-     *  @param pagedata The data to render
-     *  @param localLinkHook Is called whenever a wiki link is found
-     *  @param extLinkHook   Is called whenever an external link is found
-     *  @param parseAccessRules Parse the access rules if we encounter them
-     *  @param justParse Just parses the pagedata, does not actually render.  In this case, this methods an empty string.
-     *  @return HTML-rendered page text.
-     */
-    public String textToHTML( final WikiContext context,
-                              String pagedata,
-                              final StringTransmutator localLinkHook,
-                              final StringTransmutator extLinkHook,
-                              final StringTransmutator attLinkHook,
-                              final boolean            parseAccessRules,
-                              final boolean            justParse ) {
-        String result = "";
-
-        if( pagedata == null ) {
-            log.error("NULL pagedata to textToHTML()");
-            return null;
-        }
-
-        final boolean runFilters = "true".equals(m_variableManager.getValue(context,PROP_RUNFILTERS,"true"));
-
-        try {
-            final StopWatch sw = new StopWatch();
-            sw.start();
-
-            if( runFilters && m_filterManager != null ) {
-                pagedata = m_filterManager.doPreTranslateFiltering( context, pagedata );
-            }
-
-            final MarkupParser mp = m_renderingManager.getParser( context, pagedata );
-            mp.addLocalLinkHook( localLinkHook );
-            mp.addExternalLinkHook( extLinkHook );
-            mp.addAttachmentLinkHook( attLinkHook );
-
-            if( !parseAccessRules ) {
-                mp.disableAccessRules();
-            }
-
-            final WikiDocument doc = mp.parse();
-
-            //  In some cases it's better just to parse, not to render
-            if( !justParse ) {
-                result = m_renderingManager.getHTML( context, doc );
-
-                if( runFilters && m_filterManager != null ) {
-                    result = m_filterManager.doPostTranslateFiltering( context, result );
-                }
-            }
-
-            sw.stop();
-
-            if( log.isDebugEnabled() ) {
-                log.debug( "Page " + context.getRealPage().getName() + " rendered, took " + sw );
-            }
-        } catch( final IOException e ) {
-            log.error( "Failed to scan page data: ", e );
-        } catch( final FilterException e ) {
-        	log.error( "page filter threw exception: ", e );
-            // FIXME: Don't yet know what to do
-        }
-
-        return result;
-    }
-
-    /**
      *  Returns this object's ReferenceManager.
      *  @return The current ReferenceManager instance.
      *
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/TableOfContents.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/TableOfContents.java
index ff21a4b..79bc6c2 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/TableOfContents.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/TableOfContents.java
@@ -31,6 +31,7 @@ import org.apache.wiki.parser.HeadingListener;
 import org.apache.wiki.parser.MarkupParser;
 import org.apache.wiki.preferences.Preferences;
 import org.apache.wiki.util.TextUtil;
+import org.apache.wiki.variables.VariableManager;
 
 import java.io.IOException;
 import java.util.Map;
@@ -216,7 +217,7 @@ public class TableOfContents
 
         try {
             String wikiText = engine.getPageManager().getPureText( page );
-            final boolean runFilters = "true".equals( engine.getVariableManager().getValue( context, WikiEngine.PROP_RUNFILTERS, "true" ) );
+            final boolean runFilters = "true".equals( engine.getVariableManager().getValue( context, VariableManager.VAR_RUNFILTERS, "true" ) );
 
             if( runFilters ) {
 				try {
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
index 803484f..e073b7f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
@@ -428,14 +428,13 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc
      */
     public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) {
         final LinkCollector localCollector = new LinkCollector();
-
-        m_engine.textToHTML( new WikiContext( m_engine, page ),
-                pagedata,
-                localCollector,
-                null,
-                localCollector,
-                false,
-                true );
+        m_engine.getRenderingManager().textToHTML( new WikiContext( m_engine, page ),
+                                                   pagedata,
+                                                   localCollector,
+                                                   null,
+                                                   localCollector,
+                                                   false,
+                                                   true );
 
         return localCollector.getLinks();
     }
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 4aa40dc..331ad7d 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
@@ -21,9 +21,12 @@ package org.apache.wiki.render;
 import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.Element;
+import org.apache.commons.lang3.time.StopWatch;
 import org.apache.log4j.Logger;
+import org.apache.wiki.StringTransmutator;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
+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.Attachment;
@@ -38,6 +41,7 @@ import org.apache.wiki.parser.WikiDocument;
 import org.apache.wiki.providers.WikiPageProvider;
 import org.apache.wiki.util.ClassUtil;
 import org.apache.wiki.util.TextUtil;
+import org.apache.wiki.variables.VariableManager;
 
 import java.io.IOException;
 import java.io.StringReader;
@@ -266,6 +270,69 @@ public class DefaultRenderingManager implements RenderingManager {
      *  {@inheritDoc}
      */
     @Override
+    public String textToHTML( final WikiContext context,
+                              String pagedata,
+                              final StringTransmutator localLinkHook,
+                              final StringTransmutator extLinkHook,
+                              final StringTransmutator attLinkHook,
+                              final boolean parseAccessRules,
+                              final boolean justParse ) {
+        String result = "";
+
+        if( pagedata == null ) {
+            log.error("NULL pagedata to textToHTML()");
+            return null;
+        }
+
+        final boolean runFilters = "true".equals( m_engine.getVariableManager().getValue( context, VariableManager.VAR_RUNFILTERS,"true" ) );
+
+        try {
+            final StopWatch sw = new StopWatch();
+            sw.start();
+
+            if( runFilters && m_engine.getFilterManager() != null ) {
+                pagedata = m_engine.getFilterManager().doPreTranslateFiltering( context, pagedata );
+            }
+
+            final MarkupParser mp = getParser( context, pagedata );
+            mp.addLocalLinkHook( localLinkHook );
+            mp.addExternalLinkHook( extLinkHook );
+            mp.addAttachmentLinkHook( attLinkHook );
+
+            if( !parseAccessRules ) {
+                mp.disableAccessRules();
+            }
+
+            final WikiDocument doc = mp.parse();
+
+            //  In some cases it's better just to parse, not to render
+            if( !justParse ) {
+                result = getHTML( context, doc );
+
+                if( runFilters && m_engine.getFilterManager() != null ) {
+                    result = m_engine.getFilterManager().doPostTranslateFiltering( context, result );
+                }
+            }
+
+            sw.stop();
+
+            if( log.isDebugEnabled() ) {
+                log.debug( "Page " + context.getRealPage().getName() + " rendered, took " + sw );
+            }
+        } catch( final IOException e ) {
+            log.error( "Failed to scan page data: ", e );
+        } catch( final FilterException e ) {
+            log.error( "page filter threw exception: ", e );
+            // FIXME: Don't yet know what to do
+        }
+
+        return result;
+    }
+
+    /**
+     *  {@inheritDoc}
+     */
+    @Override
     public WikiRenderer getRenderer( final WikiContext context, final WikiDocument doc ) {
         final Object[] params = { context, doc };
         return getRenderer( params, m_rendererConstructor );
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 b46e628..937fce7 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
@@ -19,6 +19,7 @@
 package org.apache.wiki.render;
 
 import org.apache.log4j.Logger;
+import org.apache.wiki.StringTransmutator;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.api.exceptions.WikiException;
@@ -160,4 +161,58 @@ public interface RenderingManager extends WikiEventListener, InternalModule {
         return null;
     }
 
+    /**
+     *  Helper method for doing the HTML translation.
+     *
+     *  @param context The WikiContext in which to do the conversion
+     *  @param pagedata The data to render
+     *  @param localLinkHook Is called whenever a wiki link is found
+     *  @param extLinkHook   Is called whenever an external link is found
+     *  @param parseAccessRules Parse the access rules if we encounter them
+     *  @param justParse Just parses the pagedata, does not actually render.  In this case, this methods an empty string.
+     *  @return HTML-rendered page text.
+     */
+    String textToHTML( WikiContext context,
+                       String pagedata,
+                       StringTransmutator localLinkHook,
+                       StringTransmutator extLinkHook,
+                       StringTransmutator attLinkHook,
+                       boolean parseAccessRules,
+                       boolean justParse );
+
+    /**
+     *  Just convert WikiText to HTML.
+     *
+     *  @param context The WikiContext in which to do the conversion
+     *  @param pagedata The data to render
+     *  @param localLinkHook Is called whenever a wiki link is found
+     *  @param extLinkHook   Is called whenever an external link is found
+     *
+     *  @return HTML-rendered page text.
+     */
+    default String textToHTML( final WikiContext context,
+                               final String pagedata,
+                               final StringTransmutator localLinkHook,
+                               final StringTransmutator extLinkHook ) {
+        return textToHTML( context, pagedata, localLinkHook, extLinkHook, null, true, false );
+    }
+
+    /**
+     *  Just convert WikiText to HTML.
+     *
+     *  @param context The WikiContext in which to do the conversion
+     *  @param pagedata The data to render
+     *  @param localLinkHook Is called whenever a wiki link is found
+     *  @param extLinkHook   Is called whenever an external link is found
+     *  @param attLinkHook   Is called whenever an attachment link is found
+     *  @return HTML-rendered page text.
+     */
+    default String textToHTML( final WikiContext context,
+                               final String pagedata,
+                               final StringTransmutator localLinkHook,
+                               final StringTransmutator extLinkHook,
+                               final StringTransmutator attLinkHook ) {
+        return textToHTML( context, pagedata, localLinkHook, extLinkHook, attLinkHook, true, false );
+    }
+
 }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/variables/VariableManager.java b/jspwiki-main/src/main/java/org/apache/wiki/variables/VariableManager.java
index 92cfab3..bb94598 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/variables/VariableManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/variables/VariableManager.java
@@ -32,6 +32,9 @@ public interface VariableManager {
     String VAR_ERROR = "error";
     String VAR_MSG   = "msg";
 
+    /** If this variable is set to false, all filters are disabled when translating. */
+    String VAR_RUNFILTERS   = "jspwiki.runFilters";
+
     /**
      *  Parses the link and finds a value.  This is essentially used once
      *  {@link org.apache.wiki.parser.LinkParsingOperations#isVariableLink(String) LinkParsingOperations#isVariableLink(String)}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java
index b197d1d..ee7ccfb 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandler.java
@@ -50,7 +50,7 @@ public class RPCHandler extends AbstractRPCHandler {
     /**
      *  Converts Java string into RPC string.
      */
-    private String toRPCString( String src )
+    private String toRPCString( final String src )
     {
         return TextUtil.urlEncodeUTF8( src );
     }
@@ -58,7 +58,7 @@ public class RPCHandler extends AbstractRPCHandler {
     /**
      *  Converts RPC string (UTF-8, url encoded) into Java string.
      */
-    private String fromRPCString( String src )
+    private String fromRPCString( final String src )
     {
         return TextUtil.urlDecodeUTF8( src );
     }
@@ -66,7 +66,7 @@ public class RPCHandler extends AbstractRPCHandler {
     /**
      *  Transforms a Java string into UTF-8.
      */
-    private byte[] toRPCBase64( String src )
+    private byte[] toRPCBase64( final String src )
     {
         return src.getBytes( StandardCharsets.UTF_8 );
     }
@@ -76,10 +76,10 @@ public class RPCHandler extends AbstractRPCHandler {
         return toRPCString(m_engine.getApplicationName());
     }
 
-    public Vector getAllPages() {
+    public Vector< String > getAllPages() {
         checkPermission( PagePermission.VIEW );
-        Collection< WikiPage > pages = m_engine.getPageManager().getRecentChanges();
-        Vector<String> result = new Vector<>();
+        final Collection< WikiPage > pages = m_engine.getPageManager().getRecentChanges();
+        final Vector< String > result = new Vector<>();
 
         for( final WikiPage p : pages ) {
             if( !( p instanceof Attachment ) ) {
@@ -94,13 +94,11 @@ public class RPCHandler extends AbstractRPCHandler {
      *  Encodes a single wiki page info into a Hashtable.
      */
     @Override
-    protected Hashtable<String,Object> encodeWikiPage( WikiPage page )
-    {
-        Hashtable<String, Object> ht = new Hashtable<>();
-
+    protected Hashtable<String,Object> encodeWikiPage( final WikiPage page ) {
+        final Hashtable<String, Object> ht = new Hashtable<>();
         ht.put( "name", toRPCString(page.getName()) );
 
-        Date d = page.getLastModified();
+        final Date d = page.getLastModified();
 
         //
         //  Here we reset the DST and TIMEZONE offsets of the
@@ -109,25 +107,27 @@ public class RPCHandler extends AbstractRPCHandler {
         //  from the XML-RPC thingy, except to manually adjust the date.
         //
 
-        Calendar cal = Calendar.getInstance();
+        final Calendar cal = Calendar.getInstance();
         cal.setTime( d );
         cal.add( Calendar.MILLISECOND,
                  - (cal.get( Calendar.ZONE_OFFSET ) +
-                    (cal.getTimeZone().inDaylightTime( d ) ? cal.get( Calendar.DST_OFFSET ) : 0 )) );
+                    (cal.getTimeZone().inDaylightTime( d ) ? cal.get( Calendar.DST_OFFSET ) : 0 ) ) );
 
         ht.put( "lastModified", cal.getTime() );
         ht.put( "version", page.getVersion() );
 
-        if( page.getAuthor() != null )
-        {
-            ht.put( "author", toRPCString(page.getAuthor()) );
+        if( page.getAuthor() != null ) {
+            ht.put( "author", toRPCString( page.getAuthor() ) );
         }
 
         return ht;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public Vector getRecentChanges( Date since ) {
+    public Vector< Hashtable< String, Object > > getRecentChanges( Date since ) {
         checkPermission( PagePermission.VIEW );
         final Set< WikiPage > pages = m_engine.getPageManager().getRecentChanges();
         final Vector< Hashtable< String, Object > > result = new Vector<>();
@@ -160,33 +160,26 @@ public class RPCHandler extends AbstractRPCHandler {
      *  @return Real page name, as Java string.
      *  @throws XmlRpcException, if there is something wrong with the page.
      */
-    private String parsePageCheckCondition( String pagename )
-        throws XmlRpcException
-    {
+    private String parsePageCheckCondition( String pagename ) throws XmlRpcException {
         pagename = fromRPCString( pagename );
 
-        if( !m_engine.getPageManager().wikiPageExists(pagename) )
-        {
+        if( !m_engine.getPageManager().wikiPageExists(pagename) ) {
             throw new XmlRpcException( ERR_NOPAGE, "No such page '"+pagename+"' found, o master." );
         }
 
-        WikiPage p = m_engine.getPageManager().getPage( pagename );
+        final WikiPage p = m_engine.getPageManager().getPage( pagename );
 
         checkPermission( PermissionFactory.getPagePermission( p, PagePermission.VIEW_ACTION ) );
 
         return pagename;
     }
 
-    public Hashtable getPageInfo( String pagename )
-        throws XmlRpcException
-    {
+    public Hashtable getPageInfo( String pagename ) throws XmlRpcException {
         pagename = parsePageCheckCondition( pagename );
         return encodeWikiPage( m_engine.getPageManager().getPage(pagename) );
     }
 
-    public Hashtable getPageInfoVersion( String pagename, int version )
-        throws XmlRpcException
-    {
+    public Hashtable getPageInfoVersion( String pagename, int version ) throws XmlRpcException {
         pagename = parsePageCheckCondition( pagename );
 
         return encodeWikiPage( m_engine.getPageManager().getPage( pagename, version ) );
@@ -197,17 +190,13 @@ public class RPCHandler extends AbstractRPCHandler {
         return toRPCBase64( text );
     }
 
-    public byte[] getPageVersion( String pagename, int version )
-        throws XmlRpcException
-    {
+    public byte[] getPageVersion( String pagename, final int version ) throws XmlRpcException {
         pagename = parsePageCheckCondition( pagename );
 
         return toRPCBase64( m_engine.getPageManager().getPureText( pagename, version ) );
     }
 
-    public byte[] getPageHTML( String pagename )
-        throws XmlRpcException
-    {
+    public byte[] getPageHTML( String pagename ) throws XmlRpcException {
         pagename = parsePageCheckCondition( pagename );
 
         return toRPCBase64( m_engine.getHTML( pagename ) );
@@ -219,28 +208,28 @@ public class RPCHandler extends AbstractRPCHandler {
         return toRPCBase64( m_engine.getHTML( pagename, version ) );
     }
 
-    public Vector listLinks( String pagename ) throws XmlRpcException {
+    public Vector< Hashtable< String, String > > listLinks( String pagename ) throws XmlRpcException {
         pagename = parsePageCheckCondition( pagename );
 
-        WikiPage page = m_engine.getPageManager().getPage( pagename );
-        String pagedata = m_engine.getPageManager().getPureText( page );
+        final WikiPage page = m_engine.getPageManager().getPage( pagename );
+        final String pagedata = m_engine.getPageManager().getPureText( page );
 
-        LinkCollector localCollector = new LinkCollector();
-        LinkCollector extCollector   = new LinkCollector();
-        LinkCollector attCollector   = new LinkCollector();
+        final LinkCollector localCollector = new LinkCollector();
+        final LinkCollector extCollector   = new LinkCollector();
+        final LinkCollector attCollector   = new LinkCollector();
 
-        WikiContext context = new WikiContext( m_engine, page );
+        final WikiContext context = new WikiContext( m_engine, page );
         context.setVariable( WikiEngine.PROP_REFSTYLE, "absolute" );
 
-        m_engine.textToHTML( context, pagedata, localCollector, extCollector, attCollector );
+        m_engine.getRenderingManager().textToHTML( context, pagedata, localCollector, extCollector, attCollector );
 
-        Vector<Hashtable<String, String>> result = new Vector<>();
+        final Vector< Hashtable< String, String > > result = new Vector<>();
 
         //
         //  Add local links.
         //
         for( final String link : localCollector.getLinks() ) {
-            Hashtable<String, String> ht = new Hashtable<>();
+            final Hashtable< String, String > ht = new Hashtable<>();
             ht.put( "page", toRPCString( link ) );
             ht.put( "type", LINK_LOCAL );
 
@@ -266,8 +255,8 @@ public class RPCHandler extends AbstractRPCHandler {
         //
         // Add links to inline attachments
         //
-        for( String link : attCollector.getLinks() ) {
-            Hashtable<String, String> ht = new Hashtable<>();
+        for( final String link : attCollector.getLinks() ) {
+            final Hashtable<String, String> ht = new Hashtable<>();
             ht.put( "page", toRPCString( link ) );
             ht.put( "type", LINK_LOCAL );
             ht.put( "href", context.getURL( WikiContext.ATTACH, link ) );
@@ -277,8 +266,8 @@ public class RPCHandler extends AbstractRPCHandler {
         //
         // External links don't need to be changed into XML-RPC strings, simply because URLs are by definition ASCII.
         //
-        for( String link : extCollector.getLinks() ) {
-            Hashtable<String, String> ht = new Hashtable<>();
+        for( final String link : extCollector.getLinks() ) {
+            final Hashtable<String, String> ht = new Hashtable<>();
             ht.put( "page", link );
             ht.put( "type", LINK_EXTERNAL );
             ht.put( "href", link );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandlerUTF8.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandlerUTF8.java
index b5a5c0f..fa1a451 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandlerUTF8.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCHandlerUTF8.java
@@ -175,7 +175,7 @@ public class RPCHandlerUTF8 extends AbstractRPCHandler {
         final WikiContext context = new WikiContext( m_engine, page );
         context.setVariable( WikiEngine.PROP_REFSTYLE, "absolute" );
 
-        m_engine.textToHTML( context, pagedata, localCollector, extCollector, attCollector );
+        m_engine.getRenderingManager().textToHTML( context, pagedata, localCollector, extCollector, attCollector );
 
         final Vector< Hashtable< String, String > > result = new Vector<>();