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 fba8cd440cf763b8c996363cb22c33ed0a9dbaa5 Author: juanpablo <[email protected]> AuthorDate: Tue Apr 14 22:17:30 2020 +0200 Promote PluginManager#getPluginSearchPath() to Engine, as it is an operation requesting a configuration value --- .../test/java/org/apache/wiki/plugin/PluginFrom210Test.java | 3 ++- .../src/main/java/org/apache/wiki/api/core/Engine.java | 13 +++++++++++++ .../java/org/apache/wiki/plugin/DefaultPluginManager.java | 8 +------- .../src/main/java/org/apache/wiki/plugin/PluginManager.java | 10 ---------- .../org/apache/wiki/plugin/DefaultPluginManagerTest.java | 7 ++++--- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/jspwiki-210-adapters/src/test/java/org/apache/wiki/plugin/PluginFrom210Test.java b/jspwiki-210-adapters/src/test/java/org/apache/wiki/plugin/PluginFrom210Test.java index 134a3ad..d325451 100644 --- a/jspwiki-210-adapters/src/test/java/org/apache/wiki/plugin/PluginFrom210Test.java +++ b/jspwiki-210-adapters/src/test/java/org/apache/wiki/plugin/PluginFrom210Test.java @@ -22,6 +22,7 @@ import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -33,7 +34,7 @@ public class PluginFrom210Test { @Test public void testPluginNotUsingPublicApiStillWorks() throws Exception { final Properties props = TestEngine.getTestProperties(); - props.setProperty( PluginManager.PROP_SEARCHPATH, "com.example.plugins" ); + props.setProperty( Engine.PROP_SEARCHPATH, "com.example.plugins" ); final WikiEngine engine = TestEngine.build( props ); final PluginManager pm = engine.getManager( PluginManager.class ); final WikiContext context = new WikiContext( engine, new WikiPage( engine, "Testpage" ) ); diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java index 6a2269e..8f054af 100644 --- a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java +++ b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java @@ -21,6 +21,7 @@ package org.apache.wiki.api.core; import org.apache.log4j.Logger; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.event.WikiEventListener; +import org.apache.wiki.util.TextUtil; import javax.servlet.ServletContext; import java.io.File; @@ -65,6 +66,9 @@ public interface Engine { /** Property start for any interwiki reference. */ String PROP_INTERWIKIREF = "jspwiki.interWikiRef."; + /** The property name defining which packages will be searched for plugin classes. */ + String PROP_SEARCHPATH = "jspwiki.plugin.searchPath"; + /** If true, then the user name will be stored with the page data.*/ String PROP_STOREUSERNAME= "jspwiki.storeUserName"; @@ -162,6 +166,15 @@ public interface Engine { String getTemplateDir(); /** + * Returns plugins' search path. + * + * @return plugins' search path. + */ + default String getPluginSearchPath() { + return TextUtil.getStringProperty( getWikiProperties(), PROP_SEARCHPATH, null ); + } + + /** * Returns the moment when this engine was started. * * @since 2.0.15. 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 02a5fbb..207f3ee 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 @@ -178,7 +178,7 @@ public class DefaultPluginManager extends BaseModuleManager implements PluginMan */ public DefaultPluginManager( final Engine engine, final Properties props ) { super( engine ); - final String packageNames = props.getProperty( PROP_SEARCHPATH ); + final String packageNames = props.getProperty( Engine.PROP_SEARCHPATH ); if ( packageNames != null ) { final StringTokenizer tok = new StringTokenizer( packageNames, "," ); while( tok.hasMoreTokens() ) { @@ -227,12 +227,6 @@ public class DefaultPluginManager extends BaseModuleManager implements PluginMan return m_pluginPattern; } - /** {@inheritDoc} */ - @Override - public String getPluginSearchPath() { - return TextUtil.getStringProperty( m_engine.getWikiProperties(), PROP_SEARCHPATH, null ); - } - /** * Attempts to locate a plugin class from the class path set in the property file. * diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PluginManager.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PluginManager.java index a7fee6d..aa5f752 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PluginManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PluginManager.java @@ -31,9 +31,6 @@ import java.util.ResourceBundle; public interface PluginManager extends ModuleManager { - /** The property name defining which packages will be searched for plugin classes. */ - String PROP_SEARCHPATH = "jspwiki.plugin.searchPath"; - /** The property name defining which external jars will be added to the classpath when searching for plugin classes. */ String PROP_EXTERNALJARS = "jspwiki.plugin.externalJars"; @@ -76,13 +73,6 @@ public interface PluginManager extends ModuleManager { * @return plugin insert pattern. */ Pattern getPluginPattern(); - - /** - * Returns plugins' search path. - * - * @return plugins' search path. - */ - String getPluginSearchPath(); /** * Executes a plugin class in the given context. diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java index 015f686..0db4b27 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java @@ -22,6 +22,7 @@ package org.apache.wiki.plugin; import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.api.spi.Wiki; import org.apache.wiki.pages.PageManager; @@ -66,7 +67,7 @@ public class DefaultPluginManagerTest { @Test public void testSimpleInsertNoPackage2() throws Exception { - props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo" ); + props.setProperty( Engine.PROP_SEARCHPATH, "com.foo" ); final DefaultPluginManager m = new DefaultPluginManager( engine, props ); final String res = m.execute( context,"{INSERT SamplePlugin2 WHERE text=foobar}" ); Assertions.assertEquals( "foobar", res ); @@ -74,7 +75,7 @@ public class DefaultPluginManagerTest { @Test public void testSimpleInsertNoPackage3() throws Exception { - props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo" ); + props.setProperty( Engine.PROP_SEARCHPATH, "com.foo" ); final DefaultPluginManager m = new DefaultPluginManager( engine, props ); final String res = m.execute( context,"{INSERT SamplePlugin3 WHERE text=foobar}" ); Assertions.assertEquals( "foobar", res ); @@ -83,7 +84,7 @@ public class DefaultPluginManagerTest { /** Check that in all cases org.apache.wiki.plugin is searched. */ @Test public void testSimpleInsertNoPackage4() throws Exception { - props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo,blat.blaa" ); + props.setProperty( Engine.PROP_SEARCHPATH, "com.foo,blat.blaa" ); final DefaultPluginManager m = new DefaultPluginManager( engine, props ); final String res = m.execute( context,"{INSERT SamplePlugin WHERE text=foobar}" ); Assertions.assertEquals( "foobar", res );
