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/03/16 21:58:16 UTC

[jspwiki] 26/47: JSPWIKI-303: use new Command and Context from jspwiki-api module

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 92270b38908de629ec255f9e631b59b9e16c7599
Author: juanpablo <ju...@apache.org>
AuthorDate: Sun Mar 15 13:17:07 2020 +0100

    JSPWIKI-303: use new Command and Context from jspwiki-api module
---
 .../org/apache/wiki/auth/AuthorizationManager.java |  4 +--
 .../wiki/auth/DefaultAuthorizationManager.java     |  5 ++--
 .../apache/wiki/auth/acl/DefaultAclManager.java    |  3 +-
 .../apache/wiki/diff/ContextualDiffProvider.java   | 10 +++----
 .../apache/wiki/diff/TraditionalDiffProvider.java  | 32 ++++++++++++++--------
 .../apache/wiki/parser/JSPWikiMarkupParser.java    | 19 +++++--------
 .../java/org/apache/wiki/parser/PluginContent.java | 19 ++++++-------
 .../org/apache/wiki/parser/VariableContent.java    | 31 ++++++++++++---------
 .../java/org/apache/wiki/parser/WikiDocument.java  | 16 +++++------
 .../java/org/apache/wiki/tags/IteratorTag.java     | 22 ++++++++-------
 .../java/org/apache/wiki/tags/PermissionTag.java   |  2 +-
 .../apache/wiki/tags/SearchResultIteratorTag.java  |  7 +++--
 .../java/org/apache/wiki/tags/WikiBodyTag.java     |  5 ++--
 .../java/org/apache/wiki/tags/WikiTagBase.java     |  3 +-
 14 files changed, 96 insertions(+), 82 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java
index 198cf80..40cb14f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java
@@ -169,7 +169,7 @@ public interface AuthorizationManager {
      * Checks whether the current user has access to the wiki context, by obtaining the required Permission ({@link WikiContext#requiredPermission()})
      * and delegating the access check to {@link #checkPermission(Session, Permission)}. If the user is allowed, this method returns
      * <code>true</code>; <code>false</code> otherwise. If access is allowed, the wiki context will be added to the request as an attribute
-     * with the key name {@link org.apache.wiki.WikiContext#ATTR_CONTEXT}. Note that this method will automatically redirect the user to
+     * with the key name {@link org.apache.wiki.api.core.Context#ATTR_CONTEXT}. Note that this method will automatically redirect the user to
      * a login or error page, as appropriate, if access fails. This is NOT guaranteed to be default behavior in the future.
      *
      * @param context wiki context to check if it is accesible
@@ -187,7 +187,7 @@ public interface AuthorizationManager {
      * and delegating the access check to {@link #checkPermission(Session, Permission)}.
      * If the user is allowed, this method returns <code>true</code>;
      * <code>false</code> otherwise. Also, the wiki context will be added to the request as attribute
-     * with the key name {@link org.apache.wiki.WikiContext#ATTR_CONTEXT}.
+     * with the key name {@link org.apache.wiki.api.core.Context#ATTR_CONTEXT}.
      *
      * @param context wiki context to check if it is accesible
      * @param response The servlet response object
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/DefaultAuthorizationManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/DefaultAuthorizationManager.java
index 0506df0..4fc5cc6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/DefaultAuthorizationManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/DefaultAuthorizationManager.java
@@ -22,6 +22,7 @@ import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.WikiSession;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
@@ -204,8 +205,8 @@ public class DefaultAuthorizationManager implements AuthorizationManager {
         final ResourceBundle rb = Preferences.getBundle( context, InternationalizationManager.CORE_BUNDLE );
 
         // Stash the wiki context
-        if ( context.getHttpRequest() != null && context.getHttpRequest().getAttribute( WikiContext.ATTR_CONTEXT ) == null ) {
-            context.getHttpRequest().setAttribute( WikiContext.ATTR_CONTEXT, context );
+        if ( context.getHttpRequest() != null && context.getHttpRequest().getAttribute( Context.ATTR_CONTEXT ) == null ) {
+            context.getHttpRequest().setAttribute( Context.ATTR_CONTEXT, context );
         }
 
         // If access not allowed, redirect
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/acl/DefaultAclManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/acl/DefaultAclManager.java
index 6833631..81ac058 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/acl/DefaultAclManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/acl/DefaultAclManager.java
@@ -21,6 +21,7 @@ package org.apache.wiki.auth.acl;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.attachment.Attachment;
@@ -141,7 +142,7 @@ public class DefaultAclManager implements AclManager {
             } else {
                 //  Or, try parsing the page
                 final WikiContext ctx = new WikiContext( m_engine, page );
-                ctx.setVariable( WikiContext.VAR_EXECUTE_PLUGINS, Boolean.FALSE );
+                ctx.setVariable( Context.VAR_EXECUTE_PLUGINS, Boolean.FALSE );
                 m_engine.getManager( RenderingManager.class ).getHTML(ctx, page);
 
                 if (page.getAcl() == null) {
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/diff/ContextualDiffProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/diff/ContextualDiffProvider.java
index c0c2661..c6d47fd 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/diff/ContextualDiffProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/diff/ContextualDiffProvider.java
@@ -20,7 +20,7 @@
 package org.apache.wiki.diff;
 
 import org.apache.log4j.Logger;
-import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.util.TextUtil;
@@ -97,7 +97,7 @@ public class ContextualDiffProvider implements DiffProvider {
     {}
 
     /**
-     * @see org.apache.wiki.WikiProvider#getProviderInfo()
+     * @see org.apache.wiki.api.providers.WikiProvider#getProviderInfo()
      * 
      * {@inheritDoc}
      */
@@ -108,7 +108,7 @@ public class ContextualDiffProvider implements DiffProvider {
     }
 
     /**
-     * @see org.apache.wiki.WikiProvider#initialize(org.apache.wiki.api.core.Engine, java.util.Properties)
+     * @see org.apache.wiki.api.providers.WikiProvider#initialize(org.apache.wiki.api.core.Engine, java.util.Properties)
      *      
      * {@inheritDoc}
      */
@@ -129,12 +129,12 @@ public class ContextualDiffProvider implements DiffProvider {
     /**
      * Do a colored diff of the two regions. This. is. serious. fun. ;-)
      *
-     * @see org.apache.wiki.diff.DiffProvider#makeDiffHtml(WikiContext, String, String)
+     * @see org.apache.wiki.diff.DiffProvider#makeDiffHtml(Context, String, String)
      * 
      * {@inheritDoc}
      */
     @Override
-    public synchronized String makeDiffHtml( final WikiContext ctx, final String wikiOld, final String wikiNew ) {
+    public synchronized String makeDiffHtml( final Context ctx, final String wikiOld, final String wikiNew ) {
         //
         // Sequencing handles lineterminator to <br /> and every-other consequtive space to a &nbsp;
         //
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/diff/TraditionalDiffProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/diff/TraditionalDiffProvider.java
index 474bd4d..e73d002 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/diff/TraditionalDiffProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/diff/TraditionalDiffProvider.java
@@ -20,7 +20,7 @@
 package org.apache.wiki.diff;
 
 import org.apache.log4j.Logger;
-import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.i18n.InternationalizationManager;
@@ -64,18 +64,20 @@ public class TraditionalDiffProvider implements DiffProvider {
 
     /**
      * {@inheritDoc}
-     * @see org.apache.wiki.WikiProvider#getProviderInfo()
+     * @see org.apache.wiki.api.providers.WikiProvider#getProviderInfo()
      */
-    @Override public String getProviderInfo()
+    @Override
+    public String getProviderInfo()
     {
         return "TraditionalDiffProvider";
     }
 
     /**
      * {@inheritDoc}
-     * @see org.apache.wiki.WikiProvider#initialize(org.apache.wiki.api.core.Engine, java.util.Properties)
+     * @see org.apache.wiki.api.providers.WikiProvider#initialize(org.apache.wiki.api.core.Engine, java.util.Properties)
      */
-    @Override public void initialize( final Engine engine, final Properties properties ) throws NoRequiredPropertyException, IOException {
+    @Override
+    public void initialize( final Engine engine, final Properties properties ) throws NoRequiredPropertyException, IOException {
     }
 
     /**
@@ -88,7 +90,8 @@ public class TraditionalDiffProvider implements DiffProvider {
      * 
      * @return Full HTML diff.
      */
-    @Override public String makeDiffHtml( final WikiContext ctx, final String p1, final String p2 ) {
+    @Override
+    public String makeDiffHtml( final Context ctx, final String p1, final String p2 ) {
         final String diffResult;
 
         try {
@@ -120,33 +123,37 @@ public class TraditionalDiffProvider implements DiffProvider {
     private static final class RevisionPrint implements RevisionVisitor {
 
         private StringBuffer m_result;
-        private WikiContext  m_context;
+        private Context  m_context;
         private ResourceBundle m_rb;
         
-        private RevisionPrint( final WikiContext ctx, final StringBuffer sb ) {
+        private RevisionPrint( final Context ctx, final StringBuffer sb ) {
             m_result = sb;
             m_context = ctx;
             m_rb = Preferences.getBundle( ctx, InternationalizationManager.CORE_BUNDLE );
         }
 
-        @Override public void visit( final Revision rev ) {
+        @Override
+        public void visit( final Revision rev ) {
             // GNDN (Goes nowhere, does nothing)
         }
 
-        @Override public void visit( final AddDelta delta ) {
+        @Override
+        public void visit( final AddDelta delta ) {
             final Chunk changed = delta.getRevised();
             print( changed, m_rb.getString( "diff.traditional.added" ) );
             changed.toString( m_result, CSS_DIFF_ADDED, CSS_DIFF_CLOSE );
         }
 
-        @Override public void visit( final ChangeDelta delta ) {
+        @Override
+        public void visit( final ChangeDelta delta ) {
             final Chunk changed = delta.getOriginal();
             print(changed, m_rb.getString( "diff.traditional.changed" ) );
             changed.toString( m_result, CSS_DIFF_REMOVED, CSS_DIFF_CLOSE );
             delta.getRevised().toString( m_result, CSS_DIFF_ADDED, CSS_DIFF_CLOSE );
         }
 
-        @Override public void visit( final DeleteDelta delta ) {
+        @Override
+        public void visit( final DeleteDelta delta ) {
             final Chunk changed = delta.getOriginal();
             print( changed, m_rb.getString( "diff.traditional.removed" ) );
             changed.toString( m_result, CSS_DIFF_REMOVED, CSS_DIFF_CLOSE );
@@ -175,4 +182,5 @@ public class TraditionalDiffProvider implements DiffProvider {
             m_result.append( CSS_DIFF_CLOSE );
         }
     }
+
 }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
index afb6cc6..62e8c71 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
@@ -34,7 +34,7 @@ import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.exceptions.PluginException;
-import org.apache.wiki.api.plugin.WikiPlugin;
+import org.apache.wiki.api.plugin.Plugin;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.UserManager;
@@ -202,7 +202,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
             m_camelCaseLinks  = TextUtil.getBooleanProperty( props, PROP_CAMELCASELINKS, m_camelCaseLinks );
         }
 
-        final Boolean wysiwygVariable = (Boolean)m_context.getVariable( WikiContext.VAR_WYSIWYG_EDITOR_MODE );
+        final Boolean wysiwygVariable = m_context.getVariable( Context.VAR_WYSIWYG_EDITOR_MODE );
         if( wysiwygVariable != null ) {
             m_wysiwygEditorMode = wysiwygVariable;
         }
@@ -244,14 +244,9 @@ public class JSPWikiMarkupParser extends MarkupParser {
      *
      * @param param A Heading object.
      */
-    protected void callHeadingListenerChain( final Heading param )
-    {
+    protected void callHeadingListenerChain( final Heading param ) {
         final List< HeadingListener > list = m_headingListenerChain;
-
-        for( final Iterator< HeadingListener > i = list.iterator(); i.hasNext(); )
-        {
-            final HeadingListener h = i.next();
-
+        for( final HeadingListener h : list ) {
             h.headingAdded( m_context, param );
         }
     }
@@ -814,7 +809,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
      */
     private JSPWikiMarkupParser getCleanTranslator() {
         if( m_cleanTranslator == null ) {
-            final WikiContext dummyContext = new WikiContext( m_engine, m_context.getHttpRequest(), m_context.getPage() );
+            final Context dummyContext = new WikiContext( m_engine, m_context.getHttpRequest(), m_context.getPage() );
             m_cleanTranslator = new JSPWikiMarkupParser( dummyContext, null );
             m_cleanTranslator.m_allowHTML = true;
         }
@@ -1028,7 +1023,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
         if( !m_parseAccessRules ) {
             return m_currentElement;
         }
-        final WikiPage page = m_context.getRealPage();
+        final WikiPage page = ( WikiPage )m_context.getRealPage();
         // UserDatabase db = m_context.getEngine().getUserDatabase();
 
         if( ruleLine.startsWith( "{" ) ) {
@@ -1128,7 +1123,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
                 log.info( m_context.getRealPage().getWiki() + " : " + m_context.getRealPage().getName() + " - Failed to insert plugin: " + e.getMessage() );
                 //log.info( "Root cause:",e.getRootThrowable() );
                 if( !m_wysiwygEditorMode ) {
-                    final ResourceBundle rbPlugin = Preferences.getBundle( m_context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE );
+                    final ResourceBundle rbPlugin = Preferences.getBundle( m_context, Plugin.CORE_PLUGINS_RESOURCEBUNDLE );
                     return addElement( makeError( MessageFormat.format( rbPlugin.getString( "plugin.error.insertionfailed" ),
                     		                                            m_context.getRealPage().getWiki(),
                     		                                            m_context.getRealPage().getName(),
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java
index 65e330a..4796d29 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java
@@ -23,13 +23,12 @@ import org.apache.oro.text.regex.MatchResult;
 import org.apache.oro.text.regex.PatternMatcher;
 import org.apache.oro.text.regex.Perl5Matcher;
 import org.apache.wiki.InternalWikiException;
-import org.apache.wiki.WikiContext;
 import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.PluginException;
 import org.apache.wiki.api.plugin.ParserStagePlugin;
+import org.apache.wiki.api.plugin.Plugin;
 import org.apache.wiki.api.plugin.PluginElement;
-import org.apache.wiki.api.plugin.WikiPlugin;
 import org.apache.wiki.plugin.PluginManager;
 import org.apache.wiki.preferences.Preferences;
 import org.apache.wiki.variables.VariableManager;
@@ -118,7 +117,7 @@ public class PluginContent extends Text implements PluginElement {
             return getPluginName();
         }
 
-        final WikiContext context = doc.getContext();
+        final Context context = doc.getContext();
         if( context == null ) {
             log.info( "WikiContext garbage-collected, cannot proceed" );
             return getPluginName();
@@ -131,7 +130,7 @@ public class PluginContent extends Text implements PluginElement {
     @Override
     public String invoke( final Context context ) {
 		String result;
-		final Boolean wysiwygVariable = ( Boolean )context.getVariable( WikiContext.VAR_WYSIWYG_EDITOR_MODE );
+		final Boolean wysiwygVariable = context.getVariable( Context.VAR_WYSIWYG_EDITOR_MODE );
         boolean wysiwygEditorMode = false;
         if( wysiwygVariable != null ) {
             wysiwygEditorMode = wysiwygVariable;
@@ -151,7 +150,7 @@ public class PluginContent extends Text implements PluginElement {
                 final String cmdLine = m_params.get( CMDLINE ).replaceAll( LINEBREAK, ELEMENT_BR );
                 result = result + cmdLine + PLUGIN_END;
             } else {
-                final Boolean b = ( Boolean )context.getVariable( WikiContext.VAR_EXECUTE_PLUGINS );
+                final Boolean b = context.getVariable( Context.VAR_EXECUTE_PLUGINS );
                 if (b != null && !b ) {
                     return BLANK;
                 }
@@ -162,18 +161,18 @@ public class PluginContent extends Text implements PluginElement {
                 //  Parse any variable instances from the string
                 for( final Map.Entry< String, String > e : m_params.entrySet() ) {
                     String val = e.getValue();
-                    val = engine.getManager( VariableManager.class).expandVariables( ( WikiContext )context, val );
+                    val = engine.getManager( VariableManager.class).expandVariables( context, val );
                     parsedParams.put( e.getKey(), val );
                 }
                 final PluginManager pm = engine.getManager( PluginManager.class );
-                result = pm.execute( ( WikiContext )context, m_pluginName, parsedParams );
+                result = pm.execute( context, m_pluginName, parsedParams );
             }
         } catch( final Exception e ) {
             if( wysiwygEditorMode ) {
                 result = "";
             } else {
                 // log.info("Failed to execute plugin",e);
-                final ResourceBundle rb = Preferences.getBundle( ( WikiContext )context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE );
+                final ResourceBundle rb = Preferences.getBundle( context, Plugin.CORE_PLUGINS_RESOURCEBUNDLE );
                 result = MarkupParser.makeError( MessageFormat.format( rb.getString( "plugin.error.insertionfailed" ), 
                 		                                               context.getRealPage().getWiki(), 
                 		                                               context.getRealPage().getName(), 
@@ -189,9 +188,9 @@ public class PluginContent extends Text implements PluginElement {
     public void executeParse( final Context context ) throws PluginException {
         final PluginManager pm = context.getEngine().getManager( PluginManager.class );
         if( pm.pluginsEnabled() ) {
-            final ResourceBundle rb = Preferences.getBundle( ( WikiContext )context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
+            final ResourceBundle rb = Preferences.getBundle( context, Plugin.CORE_PLUGINS_RESOURCEBUNDLE);
             final Map< String, String > params = getParameters();
-            final WikiPlugin plugin = pm.newWikiPlugin( getPluginName(), rb );
+            final Plugin plugin = pm.newWikiPlugin( getPluginName(), rb );
             try {
                 if( plugin instanceof ParserStagePlugin ) {
                     ( ( ParserStagePlugin )plugin ).executeParser(this, context, params );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
index 6c9d397..445443d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java
@@ -20,6 +20,7 @@ package org.apache.wiki.parser;
 
 import org.apache.commons.text.StringEscapeUtils;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
 import org.apache.wiki.variables.VariableManager;
 import org.jdom2.Text;
@@ -43,8 +44,7 @@ public class VariableContent extends Text {
      *  
      *  @param varName The name of the variable.
      */
-    public VariableContent( final String varName )
-    {
+    public VariableContent( final String varName ) {
         m_varName = varName;
     }
     
@@ -53,21 +53,22 @@ public class VariableContent extends Text {
      *   
      *   @return The rendered value of the variable.
      */
-    @Override public String getValue() {
+    @Override
+    public String getValue() {
         String result;
-        final WikiDocument root = (WikiDocument) getDocument();
+        final WikiDocument root = ( WikiDocument )getDocument();
 
         if( root == null ) {
             // See similar note in PluginContent
             return m_varName;
         }
         
-        final WikiContext context = root.getContext();
+        final Context context = root.getContext();
         if( context == null ) {
             return "No WikiContext available: INTERNAL ERROR";
         }
     
-        final Boolean wysiwygEditorMode = ( Boolean )context.getVariable( WikiContext.VAR_WYSIWYG_EDITOR_MODE );
+        final Boolean wysiwygEditorMode = context.getVariable( WikiContext.VAR_WYSIWYG_EDITOR_MODE );
         if( wysiwygEditorMode != null && wysiwygEditorMode ) {
             result = "[" + m_varName + "]";
         } else {
@@ -80,20 +81,24 @@ public class VariableContent extends Text {
 
         return StringEscapeUtils.escapeXml11( result );
     }
-    
+
     /**
-     *  Returns exactly getValue().
-     *  @return Whatever getValue() returns.
+     * Returns exactly getValue().
+     *
+     * @return Whatever getValue() returns.
      */
-    @Override public String getText() {
+    @Override
+    public String getText() {
         return getValue();
     }
 
     /**
-     *  Returns a debug-suitable string.
-     *  @return Debug string
+     * Returns a debug-suitable string.
+     *
+     * @return Debug string
      */
-    @Override public String toString() {
+    @Override
+    public String toString() {
         return "VariableElement[\"" + m_varName + "\"]";
     }
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/WikiDocument.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/WikiDocument.java
index d7967c5..13cb838 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/parser/WikiDocument.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/WikiDocument.java
@@ -18,8 +18,8 @@
 */
 package org.apache.wiki.parser;
 
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Context;
+import org.apache.wiki.api.core.Page;
 import org.jdom2.Document;
 
 import java.lang.ref.WeakReference;
@@ -36,16 +36,16 @@ public class WikiDocument extends Document {
 
     private static final long serialVersionUID = 1L;
     
-    private WikiPage m_page;
+    private Page m_page;
     private String m_wikiText;
-    private WeakReference< WikiContext > m_context;
+    private WeakReference< Context > m_context;
     
     /**
      *  Creates a new WikiDocument for a specific page.
      * 
      *  @param page The page to which this document refers to.
      */
-    public WikiDocument( final WikiPage page )
+    public WikiDocument( final Page page )
     {
         m_page = page;
     }
@@ -75,7 +75,7 @@ public class WikiDocument extends Document {
      *  
      *  @return The WikiPage
      */
-    public WikiPage getPage()
+    public Page getPage()
     {
         return m_page;
     }
@@ -87,7 +87,7 @@ public class WikiDocument extends Document {
      *  
      *  @param ctx A WikiContext.
      */
-    public void setContext( final WikiContext ctx )
+    public void setContext( final Context ctx )
     {
         m_context = new WeakReference<>( ctx );
     }
@@ -98,7 +98,7 @@ public class WikiDocument extends Document {
      * had previously been garbage-collected.
      * @return the wiki context
      */
-    public WikiContext getContext()
+    public Context getContext()
     {
         return m_context.get();
     }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java
index 78a1a46..9a8dab7 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java
@@ -21,6 +21,7 @@ package org.apache.wiki.tags;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Context;
 
 import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.PageContext;
@@ -56,7 +57,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
      *  
      *  @param arg A Collection which will be iterated.
      */
-    public void setList( Collection< ? > arg )
+    public void setList( final Collection< ? > arg )
     {
         if( arg != null )
             m_iterator = arg.iterator();
@@ -66,7 +67,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
      *  Sets the collection list, but using an array.
      *  @param arg An array of objects which will be iterated.
      */
-    public void setList( Object[] arg )
+    public void setList( final Object[] arg )
     {
         if( arg != null )
         {
@@ -119,17 +120,18 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
         //
         //  Build a clone of the current context
         //
-        WikiContext context = (WikiContext)m_wikiContext.clone();
+        final WikiContext context = m_wikiContext.clone();
         
-        Object o = m_iterator.next();
+        final Object o = m_iterator.next();
         
-        if( o instanceof WikiPage )
+        if( o instanceof WikiPage ) {
             context.setPage( (WikiPage)o );
+        }
 
         //
         //  Push it to the iterator stack, and set the id.
         //
-        pageContext.setAttribute( WikiContext.ATTR_CONTEXT, context, PageContext.REQUEST_SCOPE );
+        pageContext.setAttribute( Context.ATTR_CONTEXT, context, PageContext.REQUEST_SCOPE );
         pageContext.setAttribute( getId(), o );
     }
 
@@ -140,7 +142,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
     public int doEndTag()
     {
         // Return back to the original.
-        pageContext.setAttribute( WikiContext.ATTR_CONTEXT, m_wikiContext, PageContext.REQUEST_SCOPE );
+        pageContext.setAttribute( Context.ATTR_CONTEXT, m_wikiContext, PageContext.REQUEST_SCOPE );
 
         return EVAL_PAGE;
     }
@@ -155,11 +157,11 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
         {
             try
             {
-                JspWriter out = getPreviousOut();
+                final JspWriter out = getPreviousOut();
                 out.print(bodyContent.getString());
                 bodyContent.clearBody();
             }
-            catch( IOException e )
+            catch( final IOException e )
             {
                 log.error("Unable to get inner tag text", e);
                 // FIXME: throw something?
@@ -186,7 +188,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina
      *  @throws Throwable I have no idea why this would throw anything
      */
     @Override
-    public void doCatch(Throwable arg0) throws Throwable
+    public void doCatch( final Throwable arg0) throws Throwable
     {
     }
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
index 3575cde..5bf62a3 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java
@@ -20,6 +20,7 @@ package org.apache.wiki.tags;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Command;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.auth.AuthorizationManager;
@@ -29,7 +30,6 @@ import org.apache.wiki.auth.permissions.GroupPermission;
 import org.apache.wiki.auth.permissions.PermissionFactory;
 import org.apache.wiki.auth.permissions.WikiPermission;
 import org.apache.wiki.pages.PageManager;
-import org.apache.wiki.ui.Command;
 import org.apache.wiki.ui.GroupCommand;
 
 import java.security.Permission;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java
index a3da953..ee247fd 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java
@@ -20,9 +20,10 @@ package org.apache.wiki.tags;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Command;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.search.SearchResult;
-import org.apache.wiki.ui.Command;
 import org.apache.wiki.ui.PageCommand;
 
 import javax.servlet.http.HttpServletRequest;
@@ -95,10 +96,10 @@ public class SearchResultIteratorTag extends IteratorTag {
             final Engine engine = m_wikiContext.getEngine();
             final HttpServletRequest request = m_wikiContext.getHttpRequest();
             final Command command = PageCommand.VIEW.targetedCommand( r.getPage() );
-            final WikiContext context = new WikiContext( engine, request, command );
+            final Context context = new WikiContext( engine, request, command );
 
             // Stash it in the page context
-            pageContext.setAttribute( WikiContext.ATTR_CONTEXT, context, PageContext.REQUEST_SCOPE );
+            pageContext.setAttribute( Context.ATTR_CONTEXT, context, PageContext.REQUEST_SCOPE );
             pageContext.setAttribute( getId(), r );
 
             return EVAL_BODY_BUFFERED;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiBodyTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiBodyTag.java
index fe86320..fac6c19 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiBodyTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiBodyTag.java
@@ -20,6 +20,7 @@ package org.apache.wiki.tags;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Context;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.PageContext;
@@ -40,7 +41,7 @@ public abstract class WikiBodyTag extends BodyTagSupport implements TryCatchFina
 
     public int doStartTag() throws JspException {
         try {
-            m_wikiContext = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
+            m_wikiContext = (WikiContext) pageContext.getAttribute( Context.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
             if( m_wikiContext == null ) {
                 throw new JspException("WikiContext may not be NULL - serious internal problem!");
             }
@@ -61,7 +62,7 @@ public abstract class WikiBodyTag extends BodyTagSupport implements TryCatchFina
      */
     public abstract int doWikiStartTag() throws JspException, IOException;
 
-    public void doCatch(Throwable arg0) throws Throwable {
+    public void doCatch( final Throwable arg0) throws Throwable {
     }
 
     public void doFinally()
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiTagBase.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiTagBase.java
index 123b2af..f9f1d55 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiTagBase.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/WikiTagBase.java
@@ -20,6 +20,7 @@ package org.apache.wiki.tags;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.util.TextUtil;
 
 import javax.servlet.jsp.JspException;
@@ -62,7 +63,7 @@ public abstract class WikiTagBase extends TagSupport implements TryCatchFinally
     
     public int doStartTag() throws JspException {
         try {
-            m_wikiContext = ( WikiContext )pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
+            m_wikiContext = ( WikiContext )pageContext.getAttribute( Context.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
             if( m_wikiContext == null ) {
                 throw new JspException("WikiContext may not be NULL - serious internal problem!");
             }