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

[jspwiki] 21/47: JSPWIKI-303: use o.a.w.api.providers.WikiProvider instead of o.a.w.WikiProvider

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 63201bf0511642954d2966acf95bb47f215f91f8
Author: juanpablo <ju...@apache.org>
AuthorDate: Sat Mar 14 19:58:15 2020 +0100

    JSPWIKI-303: use o.a.w.api.providers.WikiProvider instead of o.a.w.WikiProvider
    
    also begin to introduce Context instead of WikiContext
---
 .../apache/wiki/attachment/AttachmentManager.java  |  9 +++----
 .../apache/wiki/attachment/AttachmentServlet.java  |  2 +-
 .../apache/wiki/diff/ContextualDiffProvider.java   | 21 ++++++++++------
 .../java/org/apache/wiki/diff/DiffProvider.java    | 15 +++++++-----
 .../java/org/apache/wiki/filters/SpamFilter.java   |  2 +-
 .../org/apache/wiki/pages/DefaultPageManager.java  |  9 +++----
 .../wiki/providers/AbstractFileProvider.java       |  2 +-
 .../wiki/providers/BasicAttachmentProvider.java    | 11 +++++----
 .../wiki/providers/CachingAttachmentProvider.java  | 10 ++++----
 .../wiki/providers/VersioningFileProvider.java     |  2 +-
 .../wiki/references/DefaultReferenceManager.java   |  2 +-
 .../java/org/apache/wiki/rss/RSSGenerator.java     |  2 +-
 .../apache/wiki/search/LuceneSearchProvider.java   |  8 +++----
 .../org/apache/wiki/search/SearchProvider.java     |  6 ++---
 .../java/org/apache/wiki/tags/DiffLinkTag.java     |  2 +-
 .../main/java/org/apache/wiki/tags/LinkTag.java    |  2 +-
 .../java/org/apache/wiki/tags/PermissionTag.java   |  2 +-
 .../org/apache/wiki/ui/DefaultCommandResolver.java |  2 +-
 .../wiki/variables/DefaultVariableManager.java     | 28 +++++++++++-----------
 .../org/apache/wiki/content/PageRenamerTest.java   |  2 +-
 .../apache/wiki/pages/DefaultPageManagerTest.java  |  2 +-
 .../apache/wiki/stress/MassiveRepositoryTest.java  |  2 +-
 22 files changed, 78 insertions(+), 65 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
index 31fb09a..6ca5711 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
@@ -22,9 +22,10 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.providers.WikiAttachmentProvider;
 
 import java.io.File;
@@ -109,7 +110,7 @@ public interface AttachmentManager {
      *  @return Attachment, or null, if no such attachment exists.
      *  @throws ProviderException If something goes wrong.
      */
-    default Attachment getAttachmentInfo( final WikiContext context, final String attachmentname ) throws ProviderException {
+    default Attachment getAttachmentInfo( final Context context, final String attachmentname ) throws ProviderException {
         return getAttachmentInfo( context, attachmentname, WikiProvider.LATEST_VERSION );
     }
 
@@ -122,7 +123,7 @@ public interface AttachmentManager {
      *  @return Attachment, or null, if no such attachment or version exists.
      *  @throws ProviderException If something goes wrong.
      */
-    Attachment getAttachmentInfo( WikiContext context, String attachmentname, int version ) throws ProviderException;
+    Attachment getAttachmentInfo( Context context, String attachmentname, int version ) throws ProviderException;
 
     /**
      *  Figures out the full attachment name from the context and attachment name.
@@ -131,7 +132,7 @@ public interface AttachmentManager {
      *  @param attachmentname The file name of the attachment.
      *  @return Attachment, or null, if no such attachment exists.
      */
-    String getAttachmentInfoName( WikiContext context, String attachmentname );
+    String getAttachmentInfoName( Context context, String attachmentname );
 
     /**
      *  Returns the list of attachments associated with a given wiki page. If there are no attachments, returns an empty Collection.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
index 005076f..345e12f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
@@ -28,13 +28,13 @@ import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.WikiSession;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.RedirectException;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.permissions.PermissionFactory;
 import org.apache.wiki.i18n.InternationalizationManager;
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 1fac181..c0c2661 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
@@ -101,7 +101,8 @@ public class ContextualDiffProvider implements DiffProvider {
      * 
      * {@inheritDoc}
      */
-    @Override public String getProviderInfo()
+    @Override
+    public String getProviderInfo()
     {
         return "ContextualDiffProvider";
     }
@@ -111,7 +112,8 @@ public class ContextualDiffProvider implements DiffProvider {
      *      
      * {@inheritDoc}
      */
-    @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 {
         final String configuredLimit = properties.getProperty( PROP_UNCHANGED_CONTEXT_LIMIT, Integer.toString( LIMIT_MAX_VALUE ) );
         int limit = LIMIT_MAX_VALUE;
         try {
@@ -131,7 +133,8 @@ public class ContextualDiffProvider implements DiffProvider {
      * 
      * {@inheritDoc}
      */
-    @Override public synchronized String makeDiffHtml( final WikiContext ctx, final String wikiOld, final String wikiNew ) {
+    @Override
+    public synchronized String makeDiffHtml( final WikiContext ctx, final String wikiOld, final String wikiNew ) {
         //
         // Sequencing handles lineterminator to <br /> and every-other consequtive space to a &nbsp;
         //
@@ -273,11 +276,13 @@ public class ContextualDiffProvider implements DiffProvider {
             m_firstElem = orig.last() + 1;
         }
 
-        @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 ) {
             updateState( delta );
 
             // We have run Deletes up to now. Flush them out.
@@ -297,7 +302,8 @@ public class ContextualDiffProvider implements DiffProvider {
             }
         }
 
-        @Override public void visit( final ChangeDelta delta ) {
+        @Override
+        public void visit( final ChangeDelta delta ) {
             updateState( delta );
 
             // We are in "neutral mode". A Change might be merged with an add or delete.
@@ -310,7 +316,8 @@ public class ContextualDiffProvider implements DiffProvider {
             addNew( delta.getRevised() );
         }
 
-        @Override public void visit( final DeleteDelta delta ) {
+        @Override
+        public void visit( final DeleteDelta delta ) {
             updateState( delta );
 
             // We have run Adds up to now. Flush them out.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/diff/DiffProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/diff/DiffProvider.java
index a6df9d0..0e243d2 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/diff/DiffProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/diff/DiffProvider.java
@@ -18,10 +18,10 @@
  */
 package org.apache.wiki.diff;
 
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiProvider;
+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.api.providers.WikiProvider;
 
 import java.io.IOException;
 import java.util.Properties;
@@ -40,7 +40,7 @@ public interface DiffProvider extends WikiProvider {
      * @param oldWikiText the old text
      * @param newWikiText the new text
      */
-    String makeDiffHtml( WikiContext context, String oldWikiText, String newWikiText );
+    String makeDiffHtml( Context context, String oldWikiText, String newWikiText );
     
     /**
      *  If there is no diff provider set, this provider will work instead.
@@ -49,20 +49,23 @@ public interface DiffProvider extends WikiProvider {
         /**
          *  {@inheritDoc}
          */
-        @Override public String makeDiffHtml( final WikiContext ctx, final String oldWikiText, final String newWikiText ) {
+        @Override
+        public String makeDiffHtml( final Context ctx, final String oldWikiText, final String newWikiText ) {
             return "You are using the NullDiffProvider, check your properties file.";
         }
 
         /**
          *  {@inheritDoc}
          */
-        @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 {
         }
 
         /**
          *  {@inheritDoc}
          */
-        @Override public String getProviderInfo()
+        @Override
+        public String getProviderInfo()
         {
             return "NullDiffProvider";
         }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
index 01f4adb..e58f7da 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/filters/SpamFilter.java
@@ -31,13 +31,13 @@ import org.apache.oro.text.regex.Perl5Matcher;
 import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.RedirectException;
 import org.apache.wiki.api.filters.BasePageFilter;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.user.UserProfile;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
index b74e81a..fcb7b87 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
@@ -21,13 +21,14 @@ package org.apache.wiki.pages;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiBackgroundThread;
-import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.WikiPrincipal;
@@ -225,9 +226,9 @@ public class DefaultPageManager implements PageManager {
     }
 
     @Override
-    public void saveText( final WikiContext context, final String text ) throws WikiException {
+    public void saveText( final Context context, final String text ) throws WikiException {
         // Check if page data actually changed; bail if not
-        final WikiPage page = context.getPage();
+        final Page page = context.getPage();
         final String oldText = getPureText( page );
         final String proposedText = TextUtil.normalizePostData( text );
         if ( oldText != null && oldText.equals( proposedText ) ) {
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
index 7eab698..fe28c63 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
@@ -21,10 +21,10 @@ package org.apache.wiki.providers;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.search.QueryItem;
 import org.apache.wiki.search.SearchMatcher;
 import org.apache.wiki.search.SearchResult;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
index 7d9e8f1..ad698d3 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
@@ -20,10 +20,11 @@ package org.apache.wiki.providers;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.pages.PageTimeComparator;
 import org.apache.wiki.search.QueryItem;
@@ -359,7 +360,7 @@ public class BasicAttachmentProvider implements WikiAttachmentProvider {
      *  {@inheritDoc}
      */
     @Override
-    public List< Attachment > listAttachments( final WikiPage page ) throws ProviderException {
+    public List< Attachment > listAttachments( final Page page ) throws ProviderException {
         final List< Attachment > result = new ArrayList<>();
         final File dir = findPageDir( page.getName() );
         if( dir != null ) {
@@ -423,8 +424,8 @@ public class BasicAttachmentProvider implements WikiAttachmentProvider {
         final ArrayList< Attachment > list = new ArrayList<>();
         final String[] pagesWithAttachments = attDir.list( new AttachmentFilter() );
 
-        for( int i = 0; i < pagesWithAttachments.length; i++ ) {
-            String pageId = unmangleName( pagesWithAttachments[ i ] );
+        for( final String pagesWithAttachment : pagesWithAttachments ) {
+            String pageId = unmangleName( pagesWithAttachment );
             pageId = pageId.substring( 0, pageId.length() - DIR_EXTENSION.length() );
 
             final Collection< Attachment > c = listAttachments( new WikiPage( m_engine, pageId ) );
@@ -444,7 +445,7 @@ public class BasicAttachmentProvider implements WikiAttachmentProvider {
      *  {@inheritDoc}
      */
     @Override
-    public Attachment getAttachmentInfo( final WikiPage page, final String name, int version ) throws ProviderException {
+    public Attachment getAttachmentInfo( final Page page, final String name, int version ) throws ProviderException {
         final Attachment att = new Attachment( m_engine, page.getName(), name );
         final File dir = findAttachmentDir( att );
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
index a7b6d3a..6fe99b4 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
@@ -22,11 +22,11 @@ import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.Element;
 import org.apache.log4j.Logger;
-import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.search.QueryItem;
@@ -180,7 +180,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      * {@inheritDoc}
      */
     @Override
-    public List< Attachment > listAttachments( final WikiPage page) throws ProviderException {
+    public List< Attachment > listAttachments( final Page page) throws ProviderException {
         log.debug("Listing attachments for " + page);
         final Element element = m_cache.get(page.getName());
 
@@ -269,7 +269,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      *
      *  @return The newly fetched object from the provider.
      */
-    private List<Attachment> refresh( final WikiPage page ) throws ProviderException
+    private List<Attachment> refresh( final Page page ) throws ProviderException
     {
         final List<Attachment> c = m_provider.listAttachments( page );
         m_cache.put(new Element(page.getName(), c));
@@ -282,7 +282,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      */
     @SuppressWarnings("unchecked")
     @Override
-    public Attachment getAttachmentInfo( final WikiPage page, final String name, final int version) throws ProviderException {
+    public Attachment getAttachmentInfo( final Page page, final String name, final int version) throws ProviderException {
         if (log.isDebugEnabled()) {
             log.debug("Getting attachments for " + page + ", name=" + name + ", version=" + version);
         }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
index 6f72f29..5ca30c6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
@@ -21,10 +21,10 @@ package org.apache.wiki.providers;
 import org.apache.log4j.Logger;
 import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.util.FileUtil;
 
 import java.io.BufferedInputStream;
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 524364b..2467893 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
@@ -24,11 +24,11 @@ import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.LinkCollector;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 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.api.filters.BasePageFilter;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.event.WikiEvent;
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 84d84b1..ff11ba1 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
@@ -21,10 +21,10 @@ package org.apache.wiki.rss;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.WikiSession;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.core.Session;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.permissions.PagePermission;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
index 6a7555b..8651daf 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
@@ -49,12 +49,12 @@ import org.apache.lucene.store.SimpleFSDirectory;
 import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WatchDog;
 import org.apache.wiki.WikiBackgroundThread;
-import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
+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.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.AuthorizationManager;
@@ -455,7 +455,7 @@ public class LuceneSearchProvider implements SearchProvider {
      *  {@inheritDoc}
      */
     @Override
-    public Collection< SearchResult > findPages( final String query, final WikiContext wikiContext ) throws ProviderException {
+    public Collection< SearchResult > findPages( final String query, final Context wikiContext ) throws ProviderException {
         return findPages( query, FLAG_CONTEXTS, wikiContext );
     }
 
@@ -473,7 +473,7 @@ public class LuceneSearchProvider implements SearchProvider {
      *  @return A Collection of SearchResult instances
      *  @throws ProviderException if there is a problem with the backend
      */
-    public Collection< SearchResult > findPages( final String query, final int flags, final WikiContext wikiContext ) throws ProviderException {
+    public Collection< SearchResult > findPages( final String query, final int flags, final Context wikiContext ) throws ProviderException {
         ArrayList<SearchResult> list = null;
         Highlighter highlighter = null;
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchProvider.java
index 1c2fc3c..afa844a 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchProvider.java
@@ -18,10 +18,10 @@
  */
 package org.apache.wiki.search;
 
-import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 
 import java.io.IOException;
 import java.util.Collection;
@@ -56,6 +56,6 @@ public interface SearchProvider extends WikiProvider {
      * @throws ProviderException if the search provider failed.
      * @throws IOException if for some reason the query could not be executed.
      */
-    Collection< SearchResult > findPages( String query, WikiContext wikiContext ) throws ProviderException, IOException;
+    Collection< SearchResult > findPages( String query, Context wikiContext ) throws ProviderException, IOException;
 
 }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java
index d62f5f6..6c75691 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java
@@ -20,8 +20,8 @@ package org.apache.wiki.tags;
 
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.pages.PageManager;
 
 import javax.servlet.jsp.JspWriter;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java
index b5badf2..e7565ea 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java
@@ -21,9 +21,9 @@ package org.apache.wiki.tags;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.pages.PageManager;
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 aaf01ca..3575cde 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,8 +20,8 @@ package org.apache.wiki.tags;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Session;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.GroupPrincipal;
 import org.apache.wiki.auth.permissions.AllPermission;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java
index 1ee198e..74ea378 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultCommandResolver.java
@@ -21,9 +21,9 @@ package org.apache.wiki.ui;
 import org.apache.log4j.Logger;
 import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.exceptions.ProviderException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.auth.GroupPrincipal;
 import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.MarkupParser;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/variables/DefaultVariableManager.java b/jspwiki-main/src/main/java/org/apache/wiki/variables/DefaultVariableManager.java
index d02b7f8..d080702 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/variables/DefaultVariableManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/variables/DefaultVariableManager.java
@@ -19,13 +19,13 @@
 package org.apache.wiki.variables;
 
 import org.apache.log4j.Logger;
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.Release;
+import org.apache.wiki.api.core.Context;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.api.exceptions.NoSuchVariableException;
 import org.apache.wiki.api.filters.PageFilter;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.filters.FilterManager;
 import org.apache.wiki.i18n.InternationalizationManager;
@@ -71,7 +71,7 @@ public class DefaultVariableManager implements VariableManager {
      *  {@inheritDoc}
      */
     @Override
-    public String parseAndGetValue( final WikiContext context, final String link ) throws IllegalArgumentException, NoSuchVariableException {
+    public String parseAndGetValue( final Context context, final String link ) throws IllegalArgumentException, NoSuchVariableException {
         if( !link.startsWith( "{$" ) ) {
             throw new IllegalArgumentException( "Link does not start with {$" );
         }
@@ -88,7 +88,7 @@ public class DefaultVariableManager implements VariableManager {
      */
     @Override
     // FIXME: somewhat slow.
-    public String expandVariables( final WikiContext context, final String source ) {
+    public String expandVariables( final Context context, final String source ) {
         final StringBuilder result = new StringBuilder();
         for( int i = 0; i < source.length(); i++ ) {
             if( source.charAt(i) == '{' ) {
@@ -123,7 +123,7 @@ public class DefaultVariableManager implements VariableManager {
      *  {@inheritDoc}
      */
     @Override
-    public String getValue( final WikiContext context, final String varName, final String defValue ) {
+    public String getValue( final Context context, final String varName, final String defValue ) {
         try {
             return getValue( context, varName );
         } catch( final NoSuchVariableException e ) {
@@ -135,7 +135,7 @@ public class DefaultVariableManager implements VariableManager {
      *  {@inheritDoc}
      */
     @Override
-    public String getVariable( final WikiContext context, final String name ) {
+    public String getVariable( final Context context, final String name ) {
         return getValue( context, name, null );
     }
 
@@ -143,7 +143,7 @@ public class DefaultVariableManager implements VariableManager {
      *  {@inheritDoc}
      */
     @Override
-    public String getValue( final WikiContext context, final String varName ) throws IllegalArgumentException, NoSuchVariableException {
+    public String getValue( final Context context, final String varName ) throws IllegalArgumentException, NoSuchVariableException {
         if( varName == null ) {
             throw new IllegalArgumentException( "Null variable name." );
         }
@@ -209,7 +209,7 @@ public class DefaultVariableManager implements VariableManager {
             //
             // And the final straw: see if the current page has named metadata.
             //
-            final WikiPage pg = context.getPage();
+            final Page pg = context.getPage();
             if( pg != null ) {
                 final Object metadata = pg.getAttribute( varName );
                 if( metadata != null ) {
@@ -221,7 +221,7 @@ public class DefaultVariableManager implements VariableManager {
             // And the final straw part 2: see if the "real" current page has named metadata. This allows
             // a parent page to control a inserted page through defining variables
             //
-            final WikiPage rpg = context.getRealPage();
+            final Page rpg = context.getRealPage();
             if( rpg != null ) {
                 final Object metadata = rpg.getAttribute( varName );
                 if( metadata != null ) {
@@ -272,11 +272,11 @@ public class DefaultVariableManager implements VariableManager {
      *  @since 2.7.0
      */
     @SuppressWarnings( "unused" )
-    private static class SystemVariables
-    {
-        private final WikiContext m_context;
+    private static class SystemVariables {
 
-        public SystemVariables( final WikiContext context )
+        private final Context m_context;
+
+        public SystemVariables( final Context context )
         {
             m_context=context;
         }
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java
index 0eadaa0..e909338 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java
@@ -23,8 +23,8 @@ import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.pages.PageManager;
 import org.junit.jupiter.api.AfterEach;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java
index 6f39aa6..4185a0a 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/pages/DefaultPageManagerTest.java
@@ -23,7 +23,7 @@ import net.sf.ehcache.CacheManager;
 import org.apache.wiki.TestEngine;
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.providers.BasicAttachmentProvider;
 import org.apache.wiki.providers.CachingProvider;
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/stress/MassiveRepositoryTest.java b/jspwiki-main/src/test/java/org/apache/wiki/stress/MassiveRepositoryTest.java
index e0d1db8..4ed3d08 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/stress/MassiveRepositoryTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/stress/MassiveRepositoryTest.java
@@ -20,8 +20,8 @@ package org.apache.wiki.stress;
 
 import net.sf.ehcache.CacheManager;
 import org.apache.wiki.TestEngine;
-import org.apache.wiki.WikiProvider;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.WikiProvider;
 import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.providers.FileSystemProvider;
 import org.apache.wiki.util.TextUtil;