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 acd537319929aacbf18174141384d5e9743793ca Author: juanpablo <[email protected]> AuthorDate: Wed Feb 26 19:21:21 2020 +0100 JSPWIKI-120: remove use of WikiEngine throughout the code as much as possible and use Engine instead (2) --- .../org/apache/wiki/modules/ModuleManager.java | 2 +- .../org/apache/wiki/pages/DefaultPageManager.java | 13 ++++----- .../apache/wiki/parser/LinkParsingOperations.java | 2 +- .../apache/wiki/plugin/DefaultPluginManager.java | 11 ++++--- .../wiki/providers/AbstractFileProvider.java | 7 ++--- .../org/apache/wiki/providers/CachingProvider.java | 2 +- .../wiki/providers/VersioningFileProvider.java | 5 ++-- .../wiki/references/DefaultReferenceManager.java | 34 ++++++++++++---------- .../wiki/render/DefaultRenderingManager.java | 33 +++++++++++---------- .../org/apache/wiki/render/RenderingManager.java | 4 +-- 10 files changed, 59 insertions(+), 54 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/modules/ModuleManager.java b/jspwiki-main/src/main/java/org/apache/wiki/modules/ModuleManager.java index a59e401..d3f6f7d 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/modules/ModuleManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/modules/ModuleManager.java @@ -42,7 +42,7 @@ public abstract class ModuleManager { /** * Constructs the ModuleManager. * - * @param engine The WikiEngine which owns this manager. + * @param engine The Engine which owns this manager. */ public ModuleManager( final Engine engine ) { m_engine = engine; 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 fbbedc7..3fb8d83 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 @@ -22,7 +22,6 @@ 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.WikiEngine; import org.apache.wiki.WikiPage; import org.apache.wiki.WikiProvider; import org.apache.wiki.api.core.Engine; @@ -104,9 +103,9 @@ public class DefaultPageManager extends ModuleManager implements PageManager { /** * Creates a new PageManager. * - * @param engine WikiEngine instance + * @param engine Engine instance * @param props Properties to use for initialization - * @throws NoSuchElementException {@value #PROP_PAGEPROVIDER} property not found on WikiEngine properties + * @throws NoSuchElementException {@value #PROP_PAGEPROVIDER} property not found on Engine properties * @throws WikiException If anything goes wrong, you get this. */ public DefaultPageManager(final Engine engine, final Properties props) throws NoSuchElementException, WikiException { @@ -234,7 +233,7 @@ public class DefaultPageManager extends ModuleManager implements PageManager { // Check if creation of empty pages is allowed; bail if not final boolean allowEmpty = TextUtil.getBooleanProperty( m_engine.getWikiProperties(), - WikiEngine.PROP_ALLOW_CREATION_OF_EMPTY_PAGES, + Engine.PROP_ALLOW_CREATION_OF_EMPTY_PAGES, false ); if ( !allowEmpty && !wikiPageExists( page ) && text.trim().equals( "" ) ) { return; @@ -272,9 +271,9 @@ public class DefaultPageManager extends ModuleManager implements PageManager { } /** - * Returns the WikiEngine to which this PageManager belongs to. + * Returns the Engine to which this PageManager belongs to. * - * @return The WikiEngine object. + * @return The Engine object. */ protected Engine getEngine() { return m_engine; @@ -637,7 +636,7 @@ public class DefaultPageManager extends ModuleManager implements PageManager { /** * Create a LockReaper for a given engine. * - * @param engine WikiEngine to own this thread. + * @param engine Engine to own this thread. */ public LockReaper( final Engine engine) { super( engine, 60 ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java index 63cb21c..8102e73 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java @@ -37,7 +37,7 @@ import java.util.List; */ public class LinkParsingOperations { - private static Logger log = Logger.getLogger( LinkParsingOperations.class ); + private static final Logger log = Logger.getLogger( LinkParsingOperations.class ); private final WikiContext wikiContext; /** diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java index 55b6d6b..f07950f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java @@ -31,7 +31,6 @@ import org.apache.oro.text.regex.Perl5Compiler; import org.apache.oro.text.regex.Perl5Matcher; import org.apache.wiki.InternalWikiException; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.ajax.WikiAjaxDispatcherServlet; import org.apache.wiki.ajax.WikiAjaxServlet; import org.apache.wiki.api.core.Engine; @@ -69,7 +68,7 @@ import java.util.StringTokenizer; /** * Manages plugin classes. There exists a single instance of PluginManager - * per each instance of WikiEngine, that is, each JSPWiki instance. + * per each instance of Engine, that is, each JSPWiki instance. * <P> * A plugin is defined to have three parts: * <OL> @@ -146,7 +145,7 @@ import java.util.StringTokenizer; * called once for this class * before any actual execute() methods are called. You should use the initialize() for e.g. * precalculating things. But notice that this method is really called only once during the - * entire WikiEngine lifetime. The InitializablePlugin is available from 2.5.30 onwards.</li> + * entire Engine lifetime. The InitializablePlugin is available from 2.5.30 onwards.</li> * <li>ParserStagePlugin: If you implement this interface, the executeParse() method is called * when JSPWiki is forming the DOM tree. You will receive an incomplete DOM tree, as well * as the regular parameters. However, since JSPWiki caches the DOM tree to speed up later @@ -182,10 +181,10 @@ public class DefaultPluginManager extends ModuleManager implements PluginManager /** * Create a new PluginManager. * - * @param engine WikiEngine which owns this manager. + * @param engine Engine which owns this manager. * @param props Contents of a "jspwiki.properties" file. */ - public DefaultPluginManager( final WikiEngine engine, final Properties props ) { + public DefaultPluginManager( final Engine engine, final Properties props ) { super( engine ); final String packageNames = props.getProperty( PROP_SEARCHPATH ); @@ -612,7 +611,7 @@ public class DefaultPluginManager extends ModuleManager implements PluginManager * If the plugin extends {@link HttpServlet} it will automatically * register it as AJAX using {@link WikiAjaxDispatcherServlet#registerServlet(String, WikiAjaxServlet)}. * - * @param engine The WikiEngine + * @param engine The Engine * @param searchPath A List of Strings, containing different package names. * @param externalJars the list of external jars to search */ 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 4ab94fc..fd5beb1 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,7 +21,6 @@ package org.apache.wiki.providers; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; import org.apache.wiki.WikiProvider; import org.apache.wiki.api.core.Engine; @@ -140,7 +139,7 @@ public abstract class AbstractFileProvider implements WikiPageProvider { } m_engine = engine; - m_encoding = properties.getProperty( WikiEngine.PROP_ENCODING, DEFAULT_ENCODING ); + m_encoding = properties.getProperty( Engine.PROP_ENCODING, DEFAULT_ENCODING ); final String os = System.getProperty( "os.name" ).toLowerCase(); if( os.startsWith( "windows" ) || os.equals( "nt" ) ) { m_windowsHackNeeded = true; @@ -182,8 +181,8 @@ public abstract class AbstractFileProvider implements WikiPageProvider { if( m_windowsHackNeeded ) { final String pn = pagename.toLowerCase(); - for( int i = 0; i < WINDOWS_DEVICE_NAMES.length; i++ ) { - if( WINDOWS_DEVICE_NAMES[i].equals(pn) ) { + for( final String windowsDeviceName : WINDOWS_DEVICE_NAMES ) { + if( windowsDeviceName.equals( pn ) ) { pagename = "$$$" + pagename; } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingProvider.java index d4088db..a2d18fb 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingProvider.java @@ -71,7 +71,7 @@ public class CachingProvider implements WikiPageProvider { private CacheManager m_cacheManager = CacheManager.getInstance(); private WikiPageProvider m_provider; - // FIXME: Find another way to the search engine to use instead of from WikiEngine? + // FIXME: Find another way to the search engine to use instead of from Engine? private Engine m_engine; private Cache m_cache; 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 5faea43..6f72f29 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 @@ -726,11 +726,12 @@ public class VersioningFileProvider extends AbstractFileProvider { Properties m_props; long m_lastModified; - /* + /** * Because a Constructor is inherently synchronised, there is no need to synchronise the arguments. * - * @param engine WikiEngine instance + * @param pageName page name * @param props Properties to use for initialization + * @param lastModified last modified date */ public CachedProperties( final String pageName, final Properties props, final long lastModified ) { if ( pageName == null ) { 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 e01de27..358958b 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 @@ -23,17 +23,19 @@ import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; import org.apache.wiki.LinkCollector; 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.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.filters.BasicPageFilter; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.event.WikiEvent; import org.apache.wiki.event.WikiEventManager; import org.apache.wiki.event.WikiPageEvent; import org.apache.wiki.pages.PageManager; import org.apache.wiki.providers.WikiPageProvider; +import org.apache.wiki.render.RenderingManager; import org.apache.wiki.util.TextUtil; import java.io.BufferedInputStream; @@ -75,7 +77,7 @@ import java.util.TreeSet; A word about synchronizing: I expect this object to be accessed in three situations: - - when a WikiEngine is created and it scans its wikipages + - when a Engine is created and it scans its wikipages - when the WE saves a page - when a JSP page accesses one of the WE's ReferenceManagers to display a list of (un)referenced pages. @@ -145,13 +147,13 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc /** * Builds a new ReferenceManager. * - * @param engine The WikiEngine to which this is managing references to. + * @param engine The Engine to which this is managing references to. */ - public DefaultReferenceManager( final WikiEngine engine ) { + public DefaultReferenceManager( final Engine engine ) { m_refersTo = new HashMap<>(); m_referredBy = new HashMap<>(); m_engine = engine; - m_matchEnglishPlurals = TextUtil.getBooleanProperty( engine.getWikiProperties(), WikiEngine.PROP_MATCHPLURALS, false ); + m_matchEnglishPlurals = TextUtil.getBooleanProperty( engine.getWikiProperties(), Engine.PROP_MATCHPLURALS, false ); // // Create two maps that contain unmutable versions of the two basic maps. @@ -167,7 +169,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc final String content = m_engine.getManager( PageManager.class ).getPageText( page.getName(), WikiPageProvider.LATEST_VERSION ); final Collection< String > links = scanWikiLinks( page, content ); final TreeSet< String > res = new TreeSet<>( links ); - final List< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page ); + final List< Attachment > attachments = m_engine.getManager( AttachmentManager.class ).listAttachments( page ); for( final Attachment att : attachments ) { res.add( att.getName() ); } @@ -427,15 +429,16 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @param pagedata The page contents * @return a Collection of Strings */ - @Override public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) { + @Override + public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) { final LinkCollector localCollector = new LinkCollector(); - m_engine.getRenderingManager().textToHTML( new WikiContext( m_engine, page ), - pagedata, - localCollector, - null, - localCollector, - false, - true ); + m_engine.getManager( RenderingManager.class ).textToHTML( new WikiContext( m_engine, page ), + pagedata, + localCollector, + null, + localCollector, + false, + true ); return localCollector.getLinks(); } @@ -449,7 +452,8 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @param page Name of the page to remove from the maps. */ - @Override public synchronized void pageRemoved( final WikiPage page ) { + @Override + public synchronized void pageRemoved( final WikiPage page ) { pageRemoved( page.getName() ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java index bf7d9d3..e0e8979 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java @@ -25,12 +25,14 @@ import org.apache.commons.lang3.time.StopWatch; import org.apache.log4j.Logger; import org.apache.wiki.StringTransmutator; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.api.engine.FilterManager; import org.apache.wiki.api.exceptions.FilterException; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.attachment.AttachmentManager; import org.apache.wiki.event.WikiEvent; import org.apache.wiki.event.WikiEventListener; import org.apache.wiki.event.WikiEventManager; @@ -40,6 +42,7 @@ import org.apache.wiki.parser.JSPWikiMarkupParser; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.parser.WikiDocument; import org.apache.wiki.providers.WikiPageProvider; +import org.apache.wiki.references.ReferenceManager; import org.apache.wiki.util.ClassUtil; import org.apache.wiki.util.TextUtil; import org.apache.wiki.variables.VariableManager; @@ -53,7 +56,7 @@ import java.util.Properties; /** * This class provides a facade towards the differing rendering routines. You should use the routines in this manager - * instead of the ones in WikiEngine, if you don't want the different side effects to occur - such as WikiFilters. + * instead of the ones in Engine, if you don't want the different side effects to occur - such as WikiFilters. * <p> * This class also manages a rendering cache, i.e. documents are stored between calls. You may control the cache by * tweaking the ehcache.xml file. @@ -76,7 +79,7 @@ public class DefaultRenderingManager implements RenderingManager { /** The name of the default WYSIWYG renderer. */ private static final String DEFAULT_WYSIWYG_RENDERER = WysiwygEditingRenderer.class.getName(); - private WikiEngine m_engine; + private Engine m_engine; private boolean m_useCache = true; private final CacheManager m_cacheManager = CacheManager.getInstance(); @@ -96,7 +99,7 @@ public class DefaultRenderingManager implements RenderingManager { * {@inheritDoc} */ @Override - public void initialize( final WikiEngine engine, final Properties properties ) throws WikiException { + public void initialize( final Engine engine, final Properties properties ) throws WikiException { m_engine = engine; m_markupParserClass = properties.getProperty( PROP_PARSER, DEFAULT_PARSER ); if( !ClassUtil.assignable( m_markupParserClass, MarkupParser.class.getName() ) ) { @@ -128,7 +131,7 @@ public class DefaultRenderingManager implements RenderingManager { log.info( "Rendering content with " + renderImplName + "." ); - WikiEventManager.getInstance().addWikiEventListener( m_engine.getFilterManager(),this ); + WikiEventManager.getInstance().addWikiEventListener( m_engine.getManager( FilterManager.class ),this ); } private Constructor< ? > initRenderer( final String renderImplName, final Class< ? >[] rendererParams ) throws WikiException { @@ -156,7 +159,7 @@ public class DefaultRenderingManager implements RenderingManager { public String beautifyTitle( final String title ) { if( m_beautifyTitle ) { try { - final Attachment att = m_engine.getAttachmentManager().getAttachmentInfo( title ); + final Attachment att = m_engine.getManager( AttachmentManager.class ).getAttachmentInfo( title ); if( att == null ) { return TextUtil.beautifyString( title ); } @@ -298,19 +301,19 @@ public class DefaultRenderingManager implements RenderingManager { public String textToHTML( final WikiContext context, String pagedata ) { String result = ""; - final boolean runFilters = "true".equals( m_engine.getVariableManager().getValue( context,VariableManager.VAR_RUNFILTERS,"true" ) ); + final boolean runFilters = "true".equals( m_engine.getManager( VariableManager.class ).getValue( context,VariableManager.VAR_RUNFILTERS,"true" ) ); final StopWatch sw = new StopWatch(); sw.start(); try { if( runFilters ) { - pagedata = m_engine.getFilterManager().doPreTranslateFiltering( context, pagedata ); + pagedata = m_engine.getManager( FilterManager.class ).doPreTranslateFiltering( context, pagedata ); } result = getHTML( context, pagedata ); if( runFilters ) { - result = m_engine.getFilterManager().doPostTranslateFiltering( context, result ); + result = m_engine.getManager( FilterManager.class ).doPostTranslateFiltering( context, result ); } } catch( final FilterException e ) { log.error( "page filter threw exception: ", e ); @@ -342,14 +345,14 @@ public class DefaultRenderingManager implements RenderingManager { return null; } - final boolean runFilters = "true".equals( m_engine.getVariableManager().getValue( context, VariableManager.VAR_RUNFILTERS,"true" ) ); + final boolean runFilters = "true".equals( m_engine.getManager( VariableManager.class ).getValue( context, VariableManager.VAR_RUNFILTERS,"true" ) ); try { final StopWatch sw = new StopWatch(); sw.start(); - if( runFilters && m_engine.getFilterManager() != null ) { - pagedata = m_engine.getFilterManager().doPreTranslateFiltering( context, pagedata ); + if( runFilters && m_engine.getManager( FilterManager.class ) != null ) { + pagedata = m_engine.getManager( FilterManager.class ).doPreTranslateFiltering( context, pagedata ); } final MarkupParser mp = getParser( context, pagedata ); @@ -367,8 +370,8 @@ public class DefaultRenderingManager implements RenderingManager { if( !justParse ) { result = getHTML( context, doc ); - if( runFilters && m_engine.getFilterManager() != null ) { - result = m_engine.getFilterManager().doPostTranslateFiltering( context, result ); + if( runFilters && m_engine.getManager( FilterManager.class ) != null ) { + result = m_engine.getManager( FilterManager.class ).doPostTranslateFiltering( context, result ); } } @@ -430,7 +433,7 @@ public class DefaultRenderingManager implements RenderingManager { if( m_documentCache != null ) { final String pageName = ( ( WikiPageEvent ) event ).getPageName(); m_documentCache.remove( pageName ); - final Collection< String > referringPages = m_engine.getReferenceManager().findReferrers( pageName ); + final Collection< String > referringPages = m_engine.getManager( ReferenceManager.class ).findReferrers( pageName ); // // Flush also those pages that refer to this page (if an nonexistent page diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java index fabfaaa..a459c16 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/RenderingManager.java @@ -21,8 +21,8 @@ package org.apache.wiki.render; import org.apache.log4j.Logger; import org.apache.wiki.StringTransmutator; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.event.WikiEventListener; import org.apache.wiki.modules.InternalModule; @@ -70,7 +70,7 @@ public interface RenderingManager extends WikiEventListener, InternalModule { * @param properties A list of properties to get parameters from. * @throws WikiException If the manager could not be initialized. */ - void initialize( WikiEngine engine, Properties properties ) throws WikiException; + void initialize( Engine engine, Properties properties ) throws WikiException; /** * Beautifies the title of the page by appending spaces in suitable places, if the user has so decreed in the properties when
