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

[jspwiki] 36/47: JSPWIKI-303: move WikiAttachmentProvider to jspwiki-210-adapters

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 489de09aa51d41760e0aa07f6fe5a19d5d3634c5
Author: juanpablo <ju...@apache.org>
AuthorDate: Sun Mar 15 20:04:49 2020 +0100

    JSPWIKI-303: move WikiAttachmentProvider to jspwiki-210-adapters
    
    and use AttachmentProvider instead
    backwards compatibility with WikiAttachmentProvider still to be done
---
 .../wiki/providers/WikiAttachmentProvider.java     |  0
 .../main/java/org/apache/wiki/api/core/Page.java   |  2 +-
 .../wiki/api/providers/AttachmentProvider.java     |  3 +++
 .../apache/wiki/attachment/AttachmentManager.java  | 11 ++++-----
 .../wiki/attachment/DefaultAttachmentManager.java  | 11 ++++-----
 .../wiki/attachment/DynamicAttachmentProvider.java |  1 +
 .../org/apache/wiki/pages/PageTimeComparator.java  | 22 +++++++++---------
 .../wiki/providers/BasicAttachmentProvider.java    | 26 ++++++++++++----------
 .../wiki/providers/CachingAttachmentProvider.java  | 23 +++++++++----------
 .../apache/wiki/providers/WikiPageProvider.java    |  2 +-
 .../apache/wiki/search/BasicSearchProvider.java    |  9 ++++----
 .../apache/wiki/search/LuceneSearchProvider.java   |  9 ++++----
 .../java/org/apache/wiki/search/SearchManager.java |  6 ++---
 .../org/apache/wiki/search/SearchProvider.java     | 19 ++++++++--------
 .../wiki/search/tika/TikaSearchProvider.java       |  3 ++-
 15 files changed, 78 insertions(+), 69 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java b/jspwiki-210-adapters/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
similarity index 100%
rename from jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
rename to jspwiki-210-adapters/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Page.java b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Page.java
index a5825fe..65975e5 100644
--- a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Page.java
+++ b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Page.java
@@ -22,7 +22,7 @@ import java.util.Date;
 import java.util.Map;
 
 
-public interface Page extends Cloneable {
+public interface Page extends Cloneable, Comparable< Page > {
 
     /** "Summary" is a short summary of the page.  It is a String. */
     String DESCRIPTION = "summary";
diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/providers/AttachmentProvider.java b/jspwiki-api/src/main/java/org/apache/wiki/api/providers/AttachmentProvider.java
index 21f7fba..4b03548 100644
--- a/jspwiki-api/src/main/java/org/apache/wiki/api/providers/AttachmentProvider.java
+++ b/jspwiki-api/src/main/java/org/apache/wiki/api/providers/AttachmentProvider.java
@@ -39,6 +39,9 @@ import java.util.List;
  */
 public interface AttachmentProvider extends WikiProvider {
 
+    /** Property that supplies the directory used to store attachments. */
+    String PROP_STORAGEDIR = "jspwiki.basicAttachmentProvider.storageDir";
+
     /**
      *  Put new attachment data.
      *  
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 6ca5711..0b91e5b 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
@@ -21,12 +21,13 @@ package org.apache.wiki.attachment;
 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.api.core.Attachment;
 import org.apache.wiki.api.core.Context;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.api.providers.AttachmentProvider;
 import org.apache.wiki.api.providers.WikiProvider;
-import org.apache.wiki.providers.WikiAttachmentProvider;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -141,7 +142,7 @@ public interface AttachmentManager {
      *  @return a valid collection of attachments.
      *  @throws ProviderException If there was something wrong in the backend.
      */
-    List< Attachment > listAttachments( WikiPage wikipage ) throws ProviderException;
+    List< Attachment > listAttachments( Page wikipage ) throws ProviderException;
 
     /**
      *  Returns true, if the page has any attachments at all.  This is a convenience method.
@@ -149,7 +150,7 @@ public interface AttachmentManager {
      *  @param wikipage The wiki page from which you are seeking attachments for.
      *  @return True, if the page has attachments, else false.
      */
-    default boolean hasAttachments( final WikiPage wikipage ) {
+    default boolean hasAttachments( final Page wikipage ) {
         try {
             return listAttachments( wikipage ).size() > 0;
         } catch( final Exception e ) {
@@ -261,7 +262,7 @@ public interface AttachmentManager {
      *
      *  @return The current provider.  May be null, if attachments are disabled.
      */
-    WikiAttachmentProvider getCurrentProvider();
+    AttachmentProvider getCurrentProvider();
 
     /**
      *  Deletes the given attachment version.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java
index eb7ef22..6642227 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DefaultAttachmentManager.java
@@ -24,14 +24,15 @@ import net.sf.ehcache.Element;
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Attachment;
 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.providers.AttachmentProvider;
 import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.MarkupParser;
-import org.apache.wiki.providers.WikiAttachmentProvider;
 import org.apache.wiki.references.ReferenceManager;
 import org.apache.wiki.search.SearchManager;
 import org.apache.wiki.util.ClassUtil;
@@ -60,7 +61,7 @@ public class DefaultAttachmentManager implements AttachmentManager {
     private String[] m_forceDownloadPatterns;
 
     private static final Logger log = Logger.getLogger( DefaultAttachmentManager.class );
-    private WikiAttachmentProvider m_provider;
+    private AttachmentProvider m_provider;
     private Engine m_engine;
     private CacheManager m_cacheManager = CacheManager.getInstance();
     private Cache m_dynamicAttachments;
@@ -106,7 +107,7 @@ public class DefaultAttachmentManager implements AttachmentManager {
 
             final Class< ? > providerclass = ClassUtil.findClass( "org.apache.wiki.providers", classname );
 
-            m_provider = ( WikiAttachmentProvider )providerclass.newInstance();
+            m_provider = ( AttachmentProvider )providerclass.newInstance();
             m_provider.initialize( m_engine, props );
         } catch( final ClassNotFoundException e ) {
             log.error( "Attachment provider class not found",e);
@@ -207,7 +208,7 @@ public class DefaultAttachmentManager implements AttachmentManager {
 
     /** {@inheritDoc} */
     @Override
-    public List< Attachment > listAttachments( final WikiPage wikipage ) throws ProviderException {
+    public List< Attachment > listAttachments( final Page wikipage ) throws ProviderException {
         if( m_provider == null ) {
             return new ArrayList<>();
         }
@@ -320,7 +321,7 @@ public class DefaultAttachmentManager implements AttachmentManager {
 
     /** {@inheritDoc} */
     @Override
-    public WikiAttachmentProvider getCurrentProvider() {
+    public AttachmentProvider getCurrentProvider() {
         return m_provider;
     }
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DynamicAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DynamicAttachmentProvider.java
index a005cad..e891bb6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/DynamicAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/DynamicAttachmentProvider.java
@@ -19,6 +19,7 @@
 package org.apache.wiki.attachment;
 
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.core.Attachment;
 import org.apache.wiki.api.exceptions.ProviderException;
 
 import java.io.IOException;
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/PageTimeComparator.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/PageTimeComparator.java
index dee1925..63dde51 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/pages/PageTimeComparator.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/PageTimeComparator.java
@@ -19,7 +19,7 @@
 package org.apache.wiki.pages;
 
 import org.apache.log4j.Logger;
-import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Page;
 
 import java.io.Serializable;
 import java.util.Comparator;
@@ -30,37 +30,35 @@ import java.util.Date;
  *  <p>
  *  If the lastModified date is the same, then the next key is the page name. If the page name is also equal, then returns 0 for equality.
  */
-public class PageTimeComparator implements Comparator< WikiPage >, Serializable {
+public class PageTimeComparator implements Comparator< Page >, Serializable {
 	
     private static final long serialVersionUID = 0L;
-
-    private static final Logger log = Logger.getLogger( PageTimeComparator.class ); 
+    private static final Logger log = Logger.getLogger( PageTimeComparator.class );
 
     /**
      *  {@inheritDoc}
      */
-    public int compare( final WikiPage w1, final WikiPage w2 ) {
-        if( w1 == null || w2 == null ) {
+    public int compare( final Page p1, final Page p2 ) {
+        if( p1 == null || p2 == null ) {
             log.error( "W1 or W2 is NULL in PageTimeComparator!");
             return 0; // FIXME: Is this correct?
         }
 
-        final Date w1LastMod = w1.getLastModified();
-        final Date w2LastMod = w2.getLastModified();
+        final Date w1LastMod = p1.getLastModified();
+        final Date w2LastMod = p2.getLastModified();
 
         if( w1LastMod == null ) {
-            log.error( "NULL MODIFY DATE WITH " + w1.getName() );
+            log.error( "NULL MODIFY DATE WITH " + p1.getName() );
             return 0;
         } else if( w2LastMod == null ) {
-            log.error( "NULL MODIFY DATE WITH " + w2.getName() );
+            log.error( "NULL MODIFY DATE WITH " + p2.getName() );
             return 0;
         }
 
         // This gets most recent on top
         final int timecomparison = w2LastMod.compareTo( w1LastMod );
-
         if( timecomparison == 0 ) {
-            return w1.compareTo( w2 );
+            return p1.compareTo( p2 );
         }
 
         return timecomparison;
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 7447374..20fe69e 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,14 +20,15 @@ package org.apache.wiki.providers;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Attachment;
 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.AttachmentProvider;
 import org.apache.wiki.api.providers.WikiProvider;
-import org.apache.wiki.attachment.Attachment;
+import org.apache.wiki.api.search.QueryItem;
 import org.apache.wiki.pages.PageTimeComparator;
-import org.apache.wiki.search.QueryItem;
 import org.apache.wiki.util.FileUtil;
 import org.apache.wiki.util.TextUtil;
 
@@ -77,7 +78,7 @@ import java.util.regex.Pattern;
  *   <LI>1.author = author name for version 1 (etc)
  *  </UL>
  */
-public class BasicAttachmentProvider implements WikiAttachmentProvider {
+public class BasicAttachmentProvider implements AttachmentProvider {
 
     private Engine m_engine;
     private String m_storageDir;
@@ -414,14 +415,16 @@ public class BasicAttachmentProvider implements WikiAttachmentProvider {
         final ArrayList< Attachment > list = new ArrayList<>();
         final String[] pagesWithAttachments = attDir.list( new AttachmentFilter() );
 
-        for( final String pagesWithAttachment : pagesWithAttachments ) {
-            String pageId = unmangleName( pagesWithAttachment );
-            pageId = pageId.substring( 0, pageId.length() - DIR_EXTENSION.length() );
+        if( pagesWithAttachments != null ) {
+            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 ) );
-            for( final Attachment att : c ) {
-                if( att.getLastModified().after( timestamp ) ) {
-                    list.add( att );
+                final Collection< Attachment > c = listAttachments( new WikiPage( m_engine, pageId ) );
+                for( final Attachment att : c ) {
+                    if( att.getLastModified().after( timestamp ) ) {
+                        list.add( att );
+                    }
                 }
             }
         }
@@ -436,9 +439,8 @@ public class BasicAttachmentProvider implements WikiAttachmentProvider {
      */
     @Override
     public Attachment getAttachmentInfo( final Page page, final String name, int version ) throws ProviderException {
-        final Attachment att = new Attachment( m_engine, page.getName(), name );
+        final Attachment att = new org.apache.wiki.attachment.Attachment( m_engine, page.getName(), name );
         final File dir = findAttachmentDir( att );
-
         if( !dir.exists() ) {
             // log.debug("Attachment dir not found - thus no attachment can exist.");
             return null;
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 c29a3ac..46e6ab9 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,14 +22,15 @@ import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.Element;
 import org.apache.log4j.Logger;
+import org.apache.wiki.api.core.Attachment;
 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.AttachmentProvider;
 import org.apache.wiki.api.providers.WikiProvider;
-import org.apache.wiki.attachment.Attachment;
+import org.apache.wiki.api.search.QueryItem;
 import org.apache.wiki.attachment.AttachmentManager;
-import org.apache.wiki.search.QueryItem;
 import org.apache.wiki.util.ClassUtil;
 import org.apache.wiki.util.TextUtil;
 
@@ -50,11 +51,11 @@ import java.util.Properties;
  *  @since 2.1.64.
  */
 //        EntryRefreshPolicy for that.
-public class CachingAttachmentProvider implements WikiAttachmentProvider {
+public class CachingAttachmentProvider implements AttachmentProvider {
 
     private static final Logger log = Logger.getLogger(CachingAttachmentProvider.class);
 
-    private WikiAttachmentProvider m_provider;
+    private AttachmentProvider m_provider;
 
     private CacheManager m_cacheManager = CacheManager.getInstance();
 
@@ -120,7 +121,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
 
         try {
             final Class< ? > providerclass = ClassUtil.findClass( "org.apache.wiki.providers", classname );
-            m_provider = ( WikiAttachmentProvider )providerclass.newInstance();
+            m_provider = ( AttachmentProvider )providerclass.newInstance();
 
             log.debug( "Initializing real provider class " + m_provider );
             m_provider.initialize( engine, properties );
@@ -287,8 +288,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      * {@inheritDoc}
      */
     @Override
-    public List<Attachment> getVersionHistory( final Attachment att )
-    {
+    public List<Attachment> getVersionHistory( final Attachment att ) {
         return m_provider.getVersionHistory( att );
     }
 
@@ -312,7 +312,6 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
         m_provider.deleteAttachment( att );
     }
 
-
     /**
      * Gets the provider class name, and cache statistics (misscount and,hitcount of the attachment cache).
      *
@@ -330,7 +329,7 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      *
      *  @return The real provider underneath this one.
      */
-    public WikiAttachmentProvider getRealProvider() {
+    public AttachmentProvider getRealProvider() {
         return m_provider;
     }
 
@@ -339,9 +338,9 @@ public class CachingAttachmentProvider implements WikiAttachmentProvider {
      */
     @Override
     public void moveAttachmentsForPage( final String oldParent, final String newParent ) throws ProviderException {
-        m_provider.moveAttachmentsForPage(oldParent, newParent);
-        m_cache.remove(newParent);
-        m_cache.remove(oldParent);
+        m_provider.moveAttachmentsForPage( oldParent, newParent );
+        m_cache.remove( newParent );
+        m_cache.remove( oldParent );
 
         // This is a kludge to make sure that the pages are removed from the other cache as well.
         final String checkName = oldParent + "/";
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiPageProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiPageProvider.java
index 5fde3c9..030806a 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiPageProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiPageProvider.java
@@ -19,8 +19,8 @@
 package org.apache.wiki.providers;
 
 import org.apache.wiki.WikiPage;
-import org.apache.wiki.WikiProvider;
 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.SearchResult;
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
index 765850a..3d7011f 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
@@ -20,11 +20,12 @@ package org.apache.wiki.search;
 
 import org.apache.log4j.Logger;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Attachment;
 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.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.permissions.PagePermission;
@@ -61,13 +62,13 @@ public class BasicSearchProvider implements SearchProvider {
      *  {@inheritDoc}
      */
     @Override
-    public void pageRemoved( final WikiPage page ) {}
+    public void pageRemoved( final Page page ) {}
 
     /**
      *  {@inheritDoc}
      */
     @Override
-    public void reindexPage( final WikiPage page ) {}
+    public void reindexPage( final Page page ) {}
 
     /**
      *  Parses a query into something that we can use.
@@ -114,7 +115,7 @@ public class BasicSearchProvider implements SearchProvider {
         return items;
     }
 
-    private String attachmentNames( final WikiPage page ) {
+    private String attachmentNames( final Page page ) {
         if( m_engine.getManager( AttachmentManager.class ).hasAttachments( page ) ) {
             final List< Attachment > attachments;
             try {
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 8651daf..33c4368 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
@@ -50,12 +50,13 @@ import org.apache.wiki.InternalWikiException;
 import org.apache.wiki.WatchDog;
 import org.apache.wiki.WikiBackgroundThread;
 import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.core.Attachment;
 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.providers.WikiProvider;
-import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.auth.AuthorizationManager;
 import org.apache.wiki.auth.permissions.PagePermission;
@@ -345,7 +346,7 @@ public class LuceneSearchProvider implements SearchProvider {
      *  @return the created index Document
      *  @throws IOException If there's an indexing problem
      */
-    protected Document luceneIndexPage( final WikiPage page, final String text, final IndexWriter writer ) throws IOException {
+    protected Document luceneIndexPage( final Page page, final String text, final IndexWriter writer ) throws IOException {
         if( log.isDebugEnabled() ) {
             log.debug( "Indexing " + page.getName() + "..." );
         }
@@ -407,7 +408,7 @@ public class LuceneSearchProvider implements SearchProvider {
      *  {@inheritDoc}
      */
     @Override
-    public void pageRemoved( final WikiPage page ) {
+    public void pageRemoved( final Page page ) {
         try( final Directory luceneDir = new SimpleFSDirectory( new File( m_luceneDirectory ).toPath() );
              final IndexWriter writer = getIndexWriter( luceneDir ) ) {
             final Query query = new TermQuery( new Term( LUCENE_ID, page.getName() ) );
@@ -429,7 +430,7 @@ public class LuceneSearchProvider implements SearchProvider {
      *  @param page WikiPage to add to the update queue.
      */
     @Override
-    public void reindexPage( final WikiPage page ) {
+    public void reindexPage( final Page page ) {
         if( page != null ) {
             final String text;
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
index c844c3f..9c784f2 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.search;
 
-import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.core.Context;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.filters.PageFilter;
 import org.apache.wiki.event.WikiEventListener;
@@ -72,7 +72,7 @@ public interface SearchManager extends PageFilter, InternalModule, WikiEventList
      *
      *  @param page  The page to remove
      */
-    default void pageRemoved( final WikiPage page ) {
+    default void pageRemoved( final Page page ) {
         getSearchEngine().pageRemoved( page );
     }
 
@@ -81,7 +81,7 @@ public interface SearchManager extends PageFilter, InternalModule, WikiEventList
      *
      *   @param page The page.
      */
-    default void reindexPage( final WikiPage page ) {
+    default void reindexPage( final Page page ) {
         getSearchEngine().reindexPage( page );
     }
 
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 afa844a..b633e70 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,8 +18,8 @@
  */
 package org.apache.wiki.search;
 
-import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.core.Context;
+import org.apache.wiki.api.core.Page;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.providers.WikiProvider;
 
@@ -34,22 +34,23 @@ import java.util.Collection;
 public interface SearchProvider extends WikiProvider {
 
     /**
-     * Delete a page from the search index
-     * @param page Page to remove from search index
+     * Delete a page from the search index.
+     *
+     * @param page Page to remove from search index.
      */
-    void pageRemoved( WikiPage page );
+    void pageRemoved( Page page );
 
     /**
-     *  Adds a WikiPage for indexing queue. This is called a queue, since
-     *  this method is expected to return pretty quickly, and indexing to
-     *  be done in a separate thread.
+     * Adds a WikiPage for indexing queue. This is called a queue, since this method is expected to return pretty quickly, and indexing to
+     * be done in a separate thread.
      *
      *  @param page The WikiPage to be indexed.
      */
-    void reindexPage( WikiPage page );
+    void reindexPage( Page page );
 
     /**
-     * Search for pages matching a search query
+     * Search for pages matching a search query.
+     *
      * @param query query to search for
      * @param wikiContext the context within which to run the search
      * @return collection of pages that match query
diff --git a/jspwiki-tika-searchprovider/src/main/java/org/apache/wiki/search/tika/TikaSearchProvider.java b/jspwiki-tika-searchprovider/src/main/java/org/apache/wiki/search/tika/TikaSearchProvider.java
index 4f778d0..d6c9b82 100644
--- a/jspwiki-tika-searchprovider/src/main/java/org/apache/wiki/search/tika/TikaSearchProvider.java
+++ b/jspwiki-tika-searchprovider/src/main/java/org/apache/wiki/search/tika/TikaSearchProvider.java
@@ -33,8 +33,8 @@ import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.metadata.TikaMetadataKeys;
 import org.apache.tika.parser.AutoDetectParser;
 import org.apache.tika.sax.BodyContentHandler;
+import org.apache.wiki.api.core.Attachment;
 import org.apache.wiki.api.exceptions.ProviderException;
-import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.attachment.AttachmentManager;
 import org.apache.wiki.search.LuceneSearchProvider;
 import org.xml.sax.ContentHandler;
@@ -86,6 +86,7 @@ public class TikaSearchProvider extends LuceneSearchProvider {
 
     /**
      * {@inheritDoc}
+     *
      * @param att Attachment to get content for. Filename extension is used to determine the type of the attachment.
      * @return String representing the content of the file.
      */