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 2012/12/14 19:13:52 UTC
svn commit: r1422020 [1/2] - in /incubator/jspwiki/trunk: ./ etc/ini/
src/org/apache/wiki/ src/org/apache/wiki/forms/ src/org/apache/wiki/parser/
src/org/apache/wiki/plugin/ src/org/apache/wiki/tags/
src/org/apache/wiki/ui/ src/org/apache/wiki/ui/admin...
Author: juanpablo
Date: Fri Dec 14 18:13:37 2012
New Revision: 1422020
URL: http://svn.apache.org/viewvc?rev=1422020&view=rev
Log:
* 2.9.1-svn-6
* initial commit for JSPWiki API (cfr. JSPWIKI-303), mostly focused on plugin API. Check
UPGRADING document for details
Added:
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/DefaultPluginManagerTest.java
- copied, changed from r1420900, incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PluginManagerTest.java
Removed:
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PluginManagerTest.java
Modified:
incubator/jspwiki/trunk/ChangeLog
incubator/jspwiki/trunk/UPGRADING
incubator/jspwiki/trunk/etc/ini/classmappings.xml
incubator/jspwiki/trunk/src/org/apache/wiki/Release.java
incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java
incubator/jspwiki/trunk/src/org/apache/wiki/WikiException.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormClose.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormElement.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormInput.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOpen.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOutput.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSelect.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSet.java
incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormTextarea.java
incubator/jspwiki/trunk/src/org/apache/wiki/parser/JSPWikiMarkupParser.java
incubator/jspwiki/trunk/src/org/apache/wiki/parser/PluginContent.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/AbstractReferralPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/BugReportHandler.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Counter.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/CurrentTimePlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Denounce.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Groups.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IfPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Image.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IndexPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InitializablePlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InsertPage.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ListLocksPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Note.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ParserStagePlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginException.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginManager.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RPCSamplePlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RecentChangesPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferredPagesPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferringPagesPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Search.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/SessionsPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/TableOfContents.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UndefinedPagesPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UnusedPagesPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogArchivePlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogEntryPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WikiPlugin.java
incubator/jspwiki/trunk/src/org/apache/wiki/tags/PluginTag.java
incubator/jspwiki/trunk/src/org/apache/wiki/ui/EditorManager.java
incubator/jspwiki/trunk/src/org/apache/wiki/ui/admin/beans/PluginBean.java
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/AllTests.java
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/ReferringPagesPluginTest.java
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/UndefinedPagesPluginTest.java
Modified: incubator/jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Fri Dec 14 18:13:37 2012
@@ -1,9 +1,16 @@
+2012-12-14 Juan Pablo Santos (juanpablo AT apache DOT org)
+
+ * 2.9.1-svn-6
+
+ * initial commit for JSPWiki API (cfr. JSPWIKI-303), mostly focused on plugin API. Check
+ UPGRADING document for details
+
2012-12-12 Harry Metske <me...@apache.org>
* 2.9.1-svn-5
- * fixed JSPWIKI-742 NullPointerException in PriorityList (reported by Rakesh K. Cherukuri)
- * minor updates to build.xml to properly handle build failures (I am not an ant expert...)
+ * fixed JSPWIKI-742 NullPointerException in PriorityList (reported by Rakesh K. Cherukuri)
+ * minor updates to build.xml to properly handle build failures (I am not an ant expert...)
2012-12-09 Juan Pablo Santos (juanpablo AT apache DOT org)
Modified: incubator/jspwiki/trunk/UPGRADING
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/UPGRADING?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/UPGRADING (original)
+++ incubator/jspwiki/trunk/UPGRADING Fri Dec 14 18:13:37 2012
@@ -26,7 +26,7 @@ The license file can be found in LICENSE
Upgrading JSPWiki to 2.9.1
--------------------------
-Beginning with JSPWiki-2.9.1-svn-3, generics have been added to WikiPlugin's execute() signature,
+1. Beginning with JSPWiki-2.9.1-svn-3, generics have been added to WikiPlugin's execute() signature,
which now looks like:
String execute( WikiContext context, Map<String, String> params ) throws PluginException;
@@ -36,6 +36,54 @@ the special _bounds parameter, which was
is built now as a String and has the form of "pos|end". Other than that, this change of signature
shouldn't affect your custom plugins.
+2. JSPWiki API
+
+The package org.apache.wiki.api aims to provide an API to give access to JSPWiki internals.
+
+Classes affected:
+@Deprecated
+ -> all classes / methods anotated with @Deprecated because of the API changes will be removed
+ in 2.10 timeframe
+
+api
+ -> new package org.apache.wiki.api, which should compile without depending on other packages
+
+exceptions
+ -> new package org.apache.wiki.api.exceptions with copies of the original Exceptions declared by
+ the API methods
+ -> to retain backwards compatibility, "old" exceptions will inherit new ones, also the former ones
+ are marked as @Deprecated
+ * e.g.: org.apache.wiki.plugin.PluginException will inherit
+ org.apache.wiki.api.exceptions.PluginException which (ultimately) inherits WikiException
+ * note that, until the API is completed, regarding exceptions there will be an somewhat
+ awkward jump: org.apache.wiki.api.exceptions.*Exception -> org.apache.wiki.WikiException ->
+ org.apache.wiki.api.exceptions.WikiException. It allows us to achieve compatibility with
+ 2.9 derived source (regarding exceptions).
+
+org.apache.wiki.plugin.PluginManager
+ -> new interface org.apache.wiki.api.PluginManager
+ -> moved to org.apache.wiki.plugin.DefaultPluginManager
+ -> @Deprecated public static boolean isPluginLink( String link )
+ * equivalent method on org.apache.wiki.parser.JSPWikiMarkupParser
+ -> WikiEngine.getPluginManager returns org.apache.wiki.api.PluginManager
+
+org.apache.wiki.plugin.InitializablePlugin
+ -> new interface org.apache.wiki.api.InitializablePlugin
+ -> all core wikiplugins and wikiforms implementing the "old" interface now implement the new one
+ -> org.apache.wiki.plugin.InitializablePlugin marked with @Deprecated + extends
+ org.apache.wiki.api.InitializablePlugin
+
+org.apache.wiki.plugin.ParserStagePlugin
+ -> new interface org.apache.wiki.api.ParserStagePlugin
+ -> all core wikiplugins and wikiforms implementing the "old" interface now implement the new one
+ -> org.apache.wiki.plugin.ParserStagePlugin marked with @Deprecated + extends
+ org.apache.wiki.api.ParserStagePlugin
+
+org.apache.wiki.plugin.WikiPlugin
+ -> new interface org.apache.wiki.api.WikiPlugin
+ -> all core wikiplugins and wikiforms implement the new interface
+ -> org.apache.wiki.plugin.WikiPlugin marked with @Deprecated + extends org.apache.wiki.api.WikiPlugin
+
Upgrading JSPWiki from 2.8.x to 2.9.0
-------------------------------------
Modified: incubator/jspwiki/trunk/etc/ini/classmappings.xml
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/ini/classmappings.xml?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/ini/classmappings.xml (original)
+++ incubator/jspwiki/trunk/etc/ini/classmappings.xml Fri Dec 14 18:13:37 2012
@@ -96,8 +96,9 @@
<mappedClass>org.apache.wiki.i18n.InternationalizationManager</mappedClass>
</mapping>
<mapping>
- <requestedClass>org.apache.wiki.plugin.PluginManager</requestedClass>
- <mappedClass>org.apache.wiki.plugin.PluginManager</mappedClass>
+ <requestedClass>org.apache.wiki.api.PluginManager</requestedClass>
+ <mappedClass>org.apache.wiki.plugin.PluginManager</mappedClass> <!-- to be replaced in 2.10 -->
+ <!-- <mappedClass>org.apache.wiki.plugin.DefaultPluginManager</mappedClass> --> <!-- replacing the former in 2.10 -->
</mapping>
<mapping>
<requestedClass>org.apache.wiki.render.RenderingManager</requestedClass>
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/Release.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/Release.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/Release.java Fri Dec 14 18:13:37 2012
@@ -75,7 +75,7 @@ public final class Release
* <p>
* If the build identifier is empty, it is not added.
*/
- public static final String BUILD = "5";
+ public static final String BUILD = "6";
/**
* This is the generic version string you should use
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java Fri Dec 14 18:13:37 2012
@@ -34,7 +34,7 @@ import javax.servlet.http.HttpServletReq
import org.apache.commons.lang.time.StopWatch;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
-
+import org.apache.wiki.api.PluginManager;
import org.apache.wiki.attachment.Attachment;
import org.apache.wiki.attachment.AttachmentManager;
import org.apache.wiki.auth.AuthenticationManager;
@@ -45,18 +45,13 @@ import org.apache.wiki.auth.acl.DefaultA
import org.apache.wiki.auth.authorize.GroupManager;
import org.apache.wiki.content.PageRenamer;
import org.apache.wiki.diff.DifferenceManager;
-import org.apache.wiki.event.WikiEngineEvent;
-import org.apache.wiki.event.WikiEventListener;
-import org.apache.wiki.event.WikiEventManager;
-import org.apache.wiki.event.WikiPageEvent;
-import org.apache.wiki.event.WikiPageRenameEvent;
+import org.apache.wiki.event.*;
import org.apache.wiki.filters.FilterException;
import org.apache.wiki.filters.FilterManager;
import org.apache.wiki.i18n.InternationalizationManager;
import org.apache.wiki.parser.JSPWikiMarkupParser;
import org.apache.wiki.parser.MarkupParser;
import org.apache.wiki.parser.WikiDocument;
-import org.apache.wiki.plugin.PluginManager;
import org.apache.wiki.providers.ProviderException;
import org.apache.wiki.providers.WikiPageProvider;
import org.apache.wiki.render.RenderingManager;
@@ -533,7 +528,7 @@ public class WikiEngine
TextUtil.getStringProperty( props, PROP_URLCONSTRUCTOR, "DefaultURLConstructor" ) );
m_urlConstructor = (URLConstructor) urlclass.newInstance();
m_urlConstructor.initialize( this, props );
-
+
m_pageManager = (PageManager)ClassUtil.getMappedObject(PageManager.class.getName(), this, props );
m_pluginManager = (PluginManager)ClassUtil.getMappedObject(PluginManager.class.getName(), this, props );
m_differenceManager = (DifferenceManager)ClassUtil.getMappedObject(DifferenceManager.class.getName(), this, props );
@@ -1991,13 +1986,16 @@ public class WikiEngine
/**
* Returns the current plugin manager.
+ *
+ * In 2.10 the PluginManager will be returned instead of the generic
+ *
* @since 1.6.1
* @return The current PluginManager instance
*/
-
- public PluginManager getPluginManager()
+ @SuppressWarnings("unchecked")
+ public < T extends PluginManager > T getPluginManager()
{
- return m_pluginManager;
+ return (T)m_pluginManager;
}
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/WikiException.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/WikiException.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/WikiException.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/WikiException.java Fri Dec 14 18:13:37 2012
@@ -24,7 +24,7 @@ package org.apache.wiki;
* @since 2.0
*/
public class WikiException
- extends Exception
+ extends org.apache.wiki.api.exceptions.WikiException
{
private static final long serialVersionUID = 3257290231723210803L;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormClose.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormClose.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormClose.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormClose.java Fri Dec 14 18:13:37 2012
@@ -22,8 +22,8 @@ import java.util.Map;
import java.util.ResourceBundle;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Closes a WikiForm.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormElement.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormElement.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormElement.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormElement.java Fri Dec 14 18:13:37 2012
@@ -19,7 +19,7 @@
package org.apache.wiki.forms;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
/**
*/
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormInput.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormInput.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormInput.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormInput.java Fri Dec 14 18:13:37 2012
@@ -25,8 +25,8 @@ import java.util.ResourceBundle;
import org.apache.ecs.xhtml.input;
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+import org.apache.wiki.api.WikiPlugin;
/**
* Creates a simple input text field.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOpen.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOpen.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOpen.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOpen.java Fri Dec 14 18:13:37 2012
@@ -23,8 +23,8 @@ import java.util.Map;
import java.util.ResourceBundle;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Opens a WikiForm.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOutput.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOutput.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOutput.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormOutput.java Fri Dec 14 18:13:37 2012
@@ -23,9 +23,9 @@ import java.util.Map;
import java.util.ResourceBundle;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.PluginManager;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+import org.apache.wiki.plugin.DefaultPluginManager;
import org.apache.wiki.util.FormUtil;
/**
@@ -118,8 +118,8 @@ public class FormOutput
info.addSubmission( handlerParams );
// Pass the _body parameter from FormOutput on to the handler
- info.getSubmission().put( PluginManager.PARAM_BODY,
- params.get(PluginManager.PARAM_BODY));
+ info.getSubmission().put( DefaultPluginManager.PARAM_BODY,
+ params.get(DefaultPluginManager.PARAM_BODY));
String handlerOutput = null;
String error = null;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSelect.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSelect.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSelect.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSelect.java Fri Dec 14 18:13:37 2012
@@ -26,8 +26,8 @@ import org.apache.ecs.ConcreteElement;
import org.apache.ecs.xhtml.option;
import org.apache.ecs.xhtml.select;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Creates a Form select field.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSet.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSet.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSet.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormSet.java Fri Dec 14 18:13:37 2012
@@ -22,8 +22,8 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* FormSet is a companion WikiPlugin for Form.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormTextarea.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormTextarea.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormTextarea.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/forms/FormTextarea.java Fri Dec 14 18:13:37 2012
@@ -25,8 +25,8 @@ import java.util.ResourceBundle;
import org.apache.ecs.ConcreteElement;
import org.apache.ecs.xhtml.textarea;
import org.apache.wiki.WikiContext;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+import org.apache.wiki.api.WikiPlugin;
/**
* Creates a Form text area element. You may specify the size of the textarea
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/parser/JSPWikiMarkupParser.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/parser/JSPWikiMarkupParser.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/parser/JSPWikiMarkupParser.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/parser/JSPWikiMarkupParser.java Fri Dec 14 18:13:37 2012
@@ -31,20 +31,18 @@ import org.apache.commons.lang.StringUti
import org.apache.log4j.Logger;
import org.apache.oro.text.GlobCompiler;
import org.apache.oro.text.regex.*;
-import org.jdom.*;
-
import org.apache.wiki.*;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.attachment.Attachment;
import org.apache.wiki.attachment.AttachmentManager;
import org.apache.wiki.auth.WikiSecurityException;
import org.apache.wiki.auth.acl.Acl;
import org.apache.wiki.i18n.InternationalizationManager;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.PluginManager;
-import org.apache.wiki.plugin.WikiPlugin;
import org.apache.wiki.providers.ProviderException;
import org.apache.wiki.render.CleanTextRenderer;
import org.apache.wiki.render.RenderingManager;
+import org.jdom.*;
/**
* Parses JSPWiki-style markup into a WikiDocument DOM tree. This class is the
@@ -677,6 +675,22 @@ public class JSPWikiMarkupParser
}
/**
+ * Returns true if the link is really command to insert
+ * a plugin.
+ * <P>
+ * Currently we just check if the link starts with "{INSERT",
+ * or just plain "{" but not "{$".
+ *
+ * @param link Link text, i.e. the contents of text between [].
+ * @return True, if this link seems to be a command to insert a plugin here.
+ */
+ public static boolean isPluginLink( String link )
+ {
+ return link.startsWith( "{INSERT" ) ||
+ ( link.startsWith( "{" ) && !link.startsWith( "{$" ) );
+ }
+
+ /**
* Matches the given link to the list of image name patterns
* to determine whether it should be treated as an inline image
* or not.
@@ -1435,7 +1449,7 @@ public class JSPWikiMarkupParser
{
addElement( new ProcessingInstruction(Result.PI_DISABLE_OUTPUT_ESCAPING, "") );
}
-
+
/**
* Gobbles up all hyperlinks that are encased in square brackets.
*/
@@ -1455,7 +1469,7 @@ public class JSPWikiMarkupParser
return handleMetadata( linktext );
}
- if( PluginManager.isPluginLink( linktext ) )
+ if( isPluginLink( linktext ) )
{
try
{
@@ -1480,8 +1494,7 @@ public class JSPWikiMarkupParser
if( !m_wysiwygEditorMode )
{
ResourceBundle rbPlugin = m_context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
- Object[] args = { e.getMessage() };
- return addElement( makeError( MessageFormat.format( rbPlugin.getString( "plugin.error.insertionfailed" ), args ) ) );
+ return addElement( makeError( MessageFormat.format( rbPlugin.getString( "plugin.error.insertionfailed" ), e.getMessage() ) ) );
}
}
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/parser/PluginContent.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/parser/PluginContent.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/parser/PluginContent.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/parser/PluginContent.java Fri Dec 14 18:13:37 2012
@@ -23,13 +23,12 @@ import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
-import org.jdom.Text;
-
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+import org.apache.wiki.api.WikiPlugin;
import org.apache.wiki.render.RenderingManager;
+import org.jdom.Text;
/**
* Stores the contents of a plugin in a WikiDocument DOM tree.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/AbstractReferralPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/AbstractReferralPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/AbstractReferralPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/AbstractReferralPlugin.java Fri Dec 14 18:13:37 2012
@@ -30,6 +30,8 @@ import org.apache.log4j.Logger;
import org.apache.oro.text.GlobCompiler;
import org.apache.oro.text.regex.*;
import org.apache.wiki.*;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.parser.MarkupParser;
import org.apache.wiki.parser.WikiDocument;
import org.apache.wiki.preferences.Preferences;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/BugReportHandler.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/BugReportHandler.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/BugReportHandler.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/BugReportHandler.java Fri Dec 14 18:13:37 2012
@@ -31,6 +31,8 @@ import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiException;
import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.filters.RedirectException;
import org.apache.wiki.parser.MarkupParser;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Counter.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Counter.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Counter.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Counter.java Fri Dec 14 18:13:37 2012
@@ -18,8 +18,12 @@
*/
package org.apache.wiki.plugin;
-import org.apache.wiki.*;
-import java.util.*;
+import java.util.Map;
+
+import org.apache.wiki.TextUtil;
+import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Provides a page-specific counter, it is reset every time a page is rendered, so it is not usable as a hitcounter.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/CurrentTimePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/CurrentTimePlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/CurrentTimePlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/CurrentTimePlugin.java Fri Dec 14 18:13:37 2012
@@ -24,6 +24,8 @@ import java.util.Map;
import java.util.ResourceBundle;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.preferences.Preferences;
import org.apache.wiki.preferences.Preferences.TimeFormat;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Denounce.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Denounce.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Denounce.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Denounce.java Fri Dec 14 18:13:37 2012
@@ -20,17 +20,19 @@
*/
package org.apache.wiki.plugin;
-import org.apache.wiki.*;
-import org.apache.log4j.Logger;
-import org.apache.oro.text.*;
-import org.apache.oro.text.regex.*;
-
-import java.util.*;
-import java.io.InputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
import javax.servlet.http.HttpServletRequest;
+import org.apache.log4j.Logger;
+import org.apache.oro.text.GlobCompiler;
+import org.apache.oro.text.regex.*;
+import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+
/**
* Denounces a link by removing it from any search engine.
* <br> The bots are listed in org/apache/wiki/plugin/denounce.properties.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Groups.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Groups.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Groups.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Groups.java Fri Dec 14 18:13:37 2012
@@ -25,6 +25,8 @@ import java.util.Map;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.auth.PrincipalComparator;
import org.apache.wiki.auth.authorize.GroupManager;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IfPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IfPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IfPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IfPlugin.java Fri Dec 14 18:13:37 2012
@@ -24,10 +24,11 @@ import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.oro.text.regex.*;
-
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiProvider;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* The IfPlugin allows parts of a WikiPage to be executed conditionally, and is intended as a flexible way
@@ -135,7 +136,7 @@ public class IfPlugin implements WikiPlu
public String execute(WikiContext context, Map<String, String> params) throws PluginException
{
return ifInclude( context,params )
- ? context.getEngine().textToHTML( context, params.get( PluginManager.PARAM_BODY ) )
+ ? context.getEngine().textToHTML( context, params.get( DefaultPluginManager.PARAM_BODY ) )
: "" ;
}
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Image.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Image.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Image.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Image.java Fri Dec 14 18:13:37 2012
@@ -23,6 +23,8 @@ import java.util.Map;
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.attachment.Attachment;
import org.apache.wiki.attachment.AttachmentManager;
import org.apache.wiki.providers.ProviderException;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IndexPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IndexPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IndexPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/IndexPlugin.java Fri Dec 14 18:13:37 2012
@@ -18,6 +18,7 @@
*/
package org.apache.wiki.plugin;
+
import java.util.*;
import java.util.regex.Pattern;
@@ -26,6 +27,8 @@ import org.apache.ecs.xhtml.div;
import org.apache.ecs.xhtml.span;
import org.apache.log4j.Logger;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.providers.ProviderException;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InitializablePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InitializablePlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InitializablePlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InitializablePlugin.java Fri Dec 14 18:13:37 2012
@@ -32,8 +32,11 @@ import org.apache.wiki.WikiEngine;
*
* @since 2.2
*
+ * @deprecated will be removed in 2.10 scope. Consider using
+ * {@link org.apache.wiki.api.InitializablePlugin} instead
*/
-public interface InitializablePlugin
+@Deprecated
+public interface InitializablePlugin extends org.apache.wiki.api.InitializablePlugin
{
/**
* Called whenever the plugin is being instantiated for
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InsertPage.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InsertPage.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InsertPage.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/InsertPage.java Fri Dec 14 18:13:37 2012
@@ -26,6 +26,8 @@ import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.auth.AuthorizationManager;
import org.apache.wiki.auth.permissions.PermissionFactory;
import org.apache.wiki.providers.ProviderException;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ListLocksPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ListLocksPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ListLocksPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ListLocksPlugin.java Fri Dec 14 18:13:37 2012
@@ -26,6 +26,8 @@ import java.util.ResourceBundle;
import org.apache.wiki.PageLock;
import org.apache.wiki.PageManager;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.preferences.Preferences;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Note.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Note.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Note.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Note.java Fri Dec 14 18:13:37 2012
@@ -25,6 +25,8 @@ import java.util.Map;
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Outputs an image with the supplied text as the <tt>title</tt> which is shown as a tooltip by
@@ -60,10 +62,10 @@ public class Note implements WikiPlugin
*/
public String execute(WikiContext context, Map<String, String> params) throws PluginException
{
- String commandline = params.get(PluginManager.PARAM_CMDLINE);
+ String commandline = params.get(DefaultPluginManager.PARAM_CMDLINE);
if (commandline == null || commandline.length() == 0)
{
- return "Unable to obtain plugin command line from parameter'" + PluginManager.PARAM_CMDLINE + "'"; // I18N
+ return "Unable to obtain plugin command line from parameter'" + DefaultPluginManager.PARAM_CMDLINE + "'"; // I18N
}
String commentImage = imageUrl(context);
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java Fri Dec 14 18:13:37 2012
@@ -18,46 +18,21 @@
*/
package org.apache.wiki.plugin;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
+import java.io.*;
import java.text.MessageFormat;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TreeMap;
+import java.util.*;
import java.util.Map.Entry;
-import org.apache.wiki.ReferenceManager;
-import org.apache.wiki.TextUtil;
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiEngine;
-import org.apache.wiki.WikiPage;
-import org.apache.wiki.event.WikiEngineEvent;
-import org.apache.wiki.event.WikiEvent;
-import org.apache.wiki.event.WikiEventListener;
-import org.apache.wiki.event.WikiPageEvent;
-import org.apache.wiki.event.WikiPageRenameEvent;
-import org.apache.wiki.plugin.InitializablePlugin;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.PluginManager;
-import org.apache.wiki.plugin.WikiPlugin;
-import org.apache.wiki.util.WikiBackgroundThread;
-
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.oro.text.GlobCompiler;
-import org.apache.oro.text.regex.MalformedPatternException;
-import org.apache.oro.text.regex.Pattern;
-import org.apache.oro.text.regex.PatternCompiler;
-import org.apache.oro.text.regex.PatternMatcher;
-import org.apache.oro.text.regex.Perl5Matcher;
+import org.apache.oro.text.regex.*;
+import org.apache.wiki.*;
+import org.apache.wiki.api.InitializablePlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
+import org.apache.wiki.event.*;
+import org.apache.wiki.util.WikiBackgroundThread;
/**
* This plugin counts the number of times a page has been viewed.<br/>
@@ -334,7 +309,7 @@ public class PageViewPlugin extends Abst
final int max = TextUtil.parseIntParameter( params.get( PARAM_MAX_COUNT ), Integer.MAX_VALUE );
final int min = TextUtil.parseIntParameter( params.get( PARAM_MIN_COUNT ), Integer.MIN_VALUE );
String sort = params.get( PARAM_SORT );
- String body = params.get( PluginManager.PARAM_BODY );
+ String body = params.get( DefaultPluginManager.PARAM_BODY );
Pattern[] exclude = compileGlobs( PARAM_EXCLUDE, params.get( PARAM_EXCLUDE ) );
Pattern[] include = compileGlobs( PARAM_INCLUDE, params.get( PARAM_INCLUDE ) );
Pattern[] refer = compileGlobs( PARAM_REFER, params.get( PARAM_REFER ) );
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ParserStagePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ParserStagePlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ParserStagePlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ParserStagePlugin.java Fri Dec 14 18:13:37 2012
@@ -28,8 +28,11 @@ import org.apache.wiki.parser.PluginCont
* for further documentation.
*
* @since 2.5.30
+ * @deprecated will be removed in 2.10 scope. Consider using
+ * {@link org.apache.wiki.api.ParserStagePlugin} instead
*/
-public interface ParserStagePlugin
+@Deprecated
+public interface ParserStagePlugin extends org.apache.wiki.api.ParserStagePlugin
{
/**
* Method which is executed during parsing.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginException.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginException.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginException.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginException.java Fri Dec 14 18:13:37 2012
@@ -18,14 +18,16 @@
*/
package org.apache.wiki.plugin;
-import org.apache.wiki.WikiException;
/**
* Provides a generic PluginException. This is the kind of
- * an exception that the plugins should throw.
+ * an exception that the plugins should throw.
+ * @deprecated will be removed in 2.10 scope. Consider using
+ * {@link org.apache.wiki.api.exceptions.PluginException} instead
*/
+@Deprecated
public class PluginException
- extends WikiException
+ extends org.apache.wiki.api.exceptions.PluginException
{
private static final long serialVersionUID = 0L;
@@ -53,14 +55,4 @@ public class PluginException
super( message, original );
m_throwable = original;
}
-
- /**
- * Return the original exception.
- *
- * @return The original exception.
- */
- public Throwable getRootThrowable()
- {
- return m_throwable;
- }
}
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginManager.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginManager.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PluginManager.java Fri Dec 14 18:13:37 2012
@@ -18,25 +18,14 @@
*/
package org.apache.wiki.plugin;
-import java.io.*;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.*;
+import java.io.IOException;
+import java.util.Properties;
import org.apache.commons.lang.ClassUtils;
-import org.apache.ecs.xhtml.*;
import org.apache.log4j.Logger;
-import org.apache.oro.text.regex.*;
-import org.apache.wiki.*;
-import org.apache.wiki.modules.ModuleManager;
+import org.apache.wiki.WikiEngine;
import org.apache.wiki.modules.WikiModuleInfo;
-import org.apache.wiki.parser.PluginContent;
-import org.apache.wiki.util.ClassUtil;
-import org.jdom.Document;
import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-import org.jdom.xpath.XPath;
/**
* Manages plugin classes. There exists a single instance of PluginManager
@@ -128,647 +117,38 @@ import org.jdom.xpath.XPath;
* </ul>
*
* @since 1.6.1
+ *
+ * @deprecated will be removed in 2.10 scope. Consider using {@link DefaultPluginManager} instead
*/
-public class PluginManager extends ModuleManager
+@Deprecated
+public class PluginManager extends DefaultPluginManager
{
- private static final String PLUGIN_INSERT_PATTERN = "\\{?(INSERT)?\\s*([\\w\\._]+)[ \\t]*(WHERE)?[ \\t]*";
- private static Logger log = Logger.getLogger( PluginManager.class );
-
- /**
- * This is the default package to try in case the instantiation
- * fails.
- */
- public static final String DEFAULT_PACKAGE = "org.apache.wiki.plugin";
-
- private static final String DEFAULT_FORMS_PACKAGE = "org.apache.wiki.forms";
-
- /**
- * The property name defining which packages will be searched for properties.
- */
- public static final String PROP_SEARCHPATH = "jspwiki.plugin.searchPath";
-
- /**
- * The name of the body content. Current value is "_body".
- */
- public static final String PARAM_BODY = "_body";
-
- /**
- * The name of the command line content parameter. The value is "_cmdline".
- */
- public static final String PARAM_CMDLINE = "_cmdline";
-
- /**
- * The name of the parameter containing the start and end positions in the
- * read stream of the plugin text (stored as a two-element int[], start
- * and end resp.).
- */
- public static final String PARAM_BOUNDS = "_bounds";
-
- /**
- * A special name to be used in case you want to see debug output
- */
- public static final String PARAM_DEBUG = "debug";
-
- private ArrayList<String> m_searchPath = new ArrayList<String>();
-
- private Pattern m_pluginPattern;
-
- private boolean m_pluginsEnabled = true;
-
- /**
- * Keeps a list of all known plugin classes.
- */
- private Map<String, WikiPluginInfo> m_pluginClassMap = new HashMap<String, WikiPluginInfo>();
-
-
- /**
- * Create a new PluginManager.
- *
- * @param engine WikiEngine which owns this manager.
- * @param props Contents of a "jspwiki.properties" file.
- */
public PluginManager( WikiEngine engine, Properties props )
{
- super(engine);
- String packageNames = props.getProperty( PROP_SEARCHPATH );
-
- if( packageNames != null )
- {
- StringTokenizer tok = new StringTokenizer( packageNames, "," );
-
- while( tok.hasMoreTokens() )
- {
- m_searchPath.add( tok.nextToken().trim() );
- }
- }
-
- registerPlugins();
-
- //
- // The default packages are always added.
- //
- m_searchPath.add( DEFAULT_PACKAGE );
- m_searchPath.add( DEFAULT_FORMS_PACKAGE );
-
- PatternCompiler compiler = new Perl5Compiler();
-
- try
- {
- m_pluginPattern = compiler.compile( PLUGIN_INSERT_PATTERN );
- }
- catch( MalformedPatternException e )
- {
- log.fatal("Internal error: someone messed with pluginmanager patterns.", e );
- throw new InternalWikiException( "PluginManager patterns are broken" );
- }
-
- }
-
- /**
- * Enables or disables plugin execution.
- *
- * @param enabled True, if plugins should be globally enabled; false, if disabled.
- */
- public void enablePlugins( boolean enabled )
- {
- m_pluginsEnabled = enabled;
- }
-
- /**
- * Returns plugin execution status. If false, plugins are not
- * executed when they are encountered on a WikiPage, and an
- * empty string is returned in their place.
- *
- * @return True, if plugins are enabled; false otherwise.
- */
- public boolean pluginsEnabled()
- {
- return m_pluginsEnabled;
- }
-
- /**
- * Returns true if the link is really command to insert
- * a plugin.
- * <P>
- * Currently we just check if the link starts with "{INSERT",
- * or just plain "{" but not "{$".
- *
- * @param link Link text, i.e. the contents of text between [].
- * @return True, if this link seems to be a command to insert a plugin here.
- */
- public static boolean isPluginLink( String link )
- {
- return link.startsWith("{INSERT") ||
- (link.startsWith("{") && !link.startsWith("{$"));
- }
-
- /**
- * Attempts to locate a plugin class from the class path
- * set in the property file.
- *
- * @param classname Either a fully fledged class name, or just
- * the name of the file (that is,
- * "org.apache.wiki.plugin.Counter" or just plain "Counter").
- *
- * @return A found class.
- *
- * @throws ClassNotFoundException if no such class exists.
- */
- private Class findPluginClass( String classname )
- throws ClassNotFoundException
- {
- return ClassUtil.findClass( m_searchPath, classname );
- }
-
- /**
- * Outputs a HTML-formatted version of a stack trace.
- */
- private String stackTrace( Map< String, String > params, Throwable t )
- {
- div d = new div();
- d.setClass("debug");
- d.addElement("Plugin execution failed, stack trace follows:");
- StringWriter out = new StringWriter();
- t.printStackTrace( new PrintWriter(out) );
- d.addElement( new pre( out.toString() ) );
- d.addElement( new b( "Parameters to the plugin" ) );
-
- ul list = new ul();
- for( Iterator<Map.Entry< String, String > > i = params.entrySet().iterator(); i.hasNext(); )
- {
- Map.Entry< String, String > e = i.next();
- String key = e.getKey();
-
- list.addElement(new li( key+"'='"+e.getValue() ) );
- }
-
- d.addElement( list );
-
- return d.toString();
- }
-
- /**
- * Executes a plugin class in the given context.
- * <P>Used to be private, but is public since 1.9.21.
- *
- * @param context The current WikiContext.
- * @param classname The name of the class. Can also be a
- * shortened version without the package name, since the class name is searched from the
- * package search path.
- *
- * @param params A parsed map of key-value pairs.
- *
- * @return Whatever the plugin returns.
- *
- * @throws PluginException If the plugin execution failed for
- * some reason.
- *
- * @since 2.0
- */
- public String execute( WikiContext context,
- String classname,
- Map< String, String > params )
- throws PluginException
- {
- if( !m_pluginsEnabled )
- return "";
-
- ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
- Object[] args = { classname };
- try
- {
- WikiPlugin plugin;
-
- boolean debug = TextUtil.isPositive( params.get( PARAM_DEBUG ) );
-
- WikiPluginInfo pluginInfo = m_pluginClassMap.get(classname);
-
- if(pluginInfo == null)
- {
- pluginInfo = WikiPluginInfo.newInstance(findPluginClass( classname ));
- registerPlugin(pluginInfo);
- }
-
- if( !checkCompatibility(pluginInfo) )
- {
- String msg = "Plugin '"+pluginInfo.getName()+"' not compatible with this version of JSPWiki";
- log.info(msg);
- return msg;
- }
-
- //
- // Create...
- //
- try
- {
- plugin = pluginInfo.newPluginInstance();
- }
- catch( InstantiationException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.cannotinstantiate" ), args ), e );
- }
- catch( IllegalAccessException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.notallowed" ), args ), e );
- }
- catch( Exception e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.instantationfailed" ), args), e );
- }
-
- //
- // ...and launch.
- //
- try
- {
- return plugin.execute( context, params );
- }
- catch( PluginException e )
- {
- if( debug )
- {
- return stackTrace( params, e );
- }
-
- // Just pass this exception onward.
- throw (PluginException) e.fillInStackTrace();
- }
- catch( Throwable t )
- {
- // But all others get captured here.
- log.info( "Plugin failed while executing:", t );
- if( debug )
- {
- return stackTrace( params, t );
- }
-
- throw new PluginException( rb.getString( "plugin.error.failed" ), t );
- }
-
- }
- catch( ClassNotFoundException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.couldnotfind" ), args ), e );
- }
- catch( ClassCastException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.notawikiplugin" ), args ), e );
- }
+ super(engine, props);
}
-
- /**
- * Parses plugin arguments. Handles quotes and all other kewl stuff.
- *
- * <h3>Special parameters</h3>
- * The plugin body is put into a special parameter defined by {@link #PARAM_BODY};
- * the plugin's command line into a parameter defined by {@link #PARAM_CMDLINE};
- * and the bounds of the plugin within the wiki page text by a parameter defined
- * by {@link #PARAM_BOUNDS}, whose value is stored as a two-element int[] array,
- * i.e., <tt>[start,end]</tt>.
- *
- * @param argstring The argument string to the plugin. This is
- * typically a list of key-value pairs, using "'" to escape
- * spaces in strings, followed by an empty line and then the
- * plugin body. In case the parameter is null, will return an
- * empty parameter list.
- *
- * @return A parsed list of parameters.
- *
- * @throws IOException If the parsing fails.
- */
- public Map<String, String> parseArgs( String argstring )
- throws IOException
- {
- HashMap<String, String> arglist = new HashMap<String, String>();
-
- //
- // Protection against funny users.
- //
- if( argstring == null ) return arglist;
-
- arglist.put( PARAM_CMDLINE, argstring );
-
- StringReader in = new StringReader(argstring);
- StreamTokenizer tok = new StreamTokenizer(in);
- int type;
-
-
- String param = null;
- String value = null;
-
- tok.eolIsSignificant( true );
-
- boolean potentialEmptyLine = false;
- boolean quit = false;
-
- while( !quit )
- {
- String s;
-
- type = tok.nextToken();
-
- switch( type )
- {
- case StreamTokenizer.TT_EOF:
- quit = true;
- s = null;
- break;
-
- case StreamTokenizer.TT_WORD:
- s = tok.sval;
- potentialEmptyLine = false;
- break;
-
- case StreamTokenizer.TT_EOL:
- quit = potentialEmptyLine;
- potentialEmptyLine = true;
- s = null;
- break;
-
- case StreamTokenizer.TT_NUMBER:
- s = Integer.toString( (int) tok.nval );
- potentialEmptyLine = false;
- break;
-
- case '\'':
- s = tok.sval;
- break;
-
- default:
- s = null;
- }
-
- //
- // Assume that alternate words on the line are
- // parameter and value, respectively.
- //
- if( s != null )
- {
- if( param == null )
- {
- param = s;
- }
- else
- {
- value = s;
-
- arglist.put( param, value );
-
- // log.debug("ARG: "+param+"="+value);
- param = null;
- }
- }
- }
-
- //
- // Now, we'll check the body.
- //
-
- if( potentialEmptyLine )
- {
- StringWriter out = new StringWriter();
- FileUtil.copyContents( in, out );
-
- String bodyContent = out.toString();
-
- if( bodyContent != null )
- {
- arglist.put( PARAM_BODY, bodyContent );
- }
- }
-
- return arglist;
- }
-
- /**
- * Parses a plugin. Plugin commands are of the form:
- * [{INSERT myplugin WHERE param1=value1, param2=value2}]
- * myplugin may either be a class name or a plugin alias.
- * <P>
- * This is the main entry point that is used.
- *
- * @param context The current WikiContext.
- * @param commandline The full command line, including plugin
- * name, parameters and body.
- *
- * @return HTML as returned by the plugin, or possibly an error
- * message.
- *
- * @throws PluginException From the plugin itself, it propagates, waah!
- */
- public String execute( WikiContext context,
- String commandline )
- throws PluginException
- {
- if( !m_pluginsEnabled )
- return "";
-
- ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
- Object[] obArgs = { commandline };
- PatternMatcher matcher = new Perl5Matcher();
-
- try
- {
- if( matcher.contains( commandline, m_pluginPattern ) )
- {
- MatchResult res = matcher.getMatch();
-
- String plugin = res.group(2);
- String args = commandline.substring(res.endOffset(0),
- commandline.length() -
- (commandline.charAt(commandline.length()-1) == '}' ? 1 : 0 ) );
- Map<String, String> arglist = parseArgs( args );
-
- return execute( context, plugin, arglist );
- }
- }
- catch( NoSuchElementException e )
- {
- String msg = "Missing parameter in plugin definition: "+commandline;
- log.warn( msg, e );
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.missingparameter" ), obArgs ) );
- }
- catch( IOException e )
- {
- String msg = "Zyrf. Problems with parsing arguments: "+commandline;
- log.warn( msg, e );
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.parsingarguments" ), obArgs ) );
- }
-
- // FIXME: We could either return an empty string "", or
- // the original line. If we want unsuccessful requests
- // to be invisible, then we should return an empty string.
- return commandline;
- }
-
- /**
- * Parses a plugin invocation and returns a DOM element.
- *
- * @param context The WikiContext
- * @param commandline The line to parse
- * @param pos The position in the stream parsing.
- * @return A DOM element
- * @throws PluginException If plugin invocation is faulty
- */
- public PluginContent parsePluginLine( WikiContext context, String commandline, int pos )
- throws PluginException
- {
- PatternMatcher matcher = new Perl5Matcher();
-
- try
- {
- if( matcher.contains( commandline, m_pluginPattern ) )
- {
- MatchResult res = matcher.getMatch();
-
- String plugin = res.group(2);
- String args = commandline.substring(res.endOffset(0),
- commandline.length() -
- (commandline.charAt(commandline.length()-1) == '}' ? 1 : 0 ) );
- Map<String, String> arglist = parseArgs( args );
-
- // set wikitext bounds of plugin as '_bounds' parameter, e.g., [345,396]
- if ( pos != -1 )
- {
- int end = pos + commandline.length() + 2;
- String bounds = pos + "|" + end;
- arglist.put( PARAM_BOUNDS, bounds );
- }
-
- PluginContent result = new PluginContent( plugin, arglist );
-
- return result;
- }
- }
- catch( ClassCastException e )
- {
- log.error( "Invalid type offered in parsing plugin arguments.", e );
- throw new InternalWikiException("Oops, someone offered !String!");
- }
- catch( NoSuchElementException e )
- {
- String msg = "Missing parameter in plugin definition: "+commandline;
- log.warn( msg, e );
- throw new PluginException( msg );
- }
- catch( IOException e )
- {
- String msg = "Zyrf. Problems with parsing arguments: "+commandline;
- log.warn( msg, e );
- throw new PluginException( msg );
- }
-
- return null;
- }
-
- /**
- * Register a plugin.
- */
- private void registerPlugin(WikiPluginInfo pluginClass)
- {
- String name;
-
- // Registrar the plugin with the className without the package-part
- name = pluginClass.getName();
- if(name != null)
- {
- log.debug("Registering plugin [name]: " + name);
- m_pluginClassMap.put(name, pluginClass);
- }
-
- // Registrar the plugin with a short convenient name.
- name = pluginClass.getAlias();
- if(name != null)
- {
- log.debug("Registering plugin [shortName]: " + name);
- m_pluginClassMap.put(name, pluginClass);
- }
-
- // Registrar the plugin with the className with the package-part
- name = pluginClass.getClassName();
- if(name != null)
- {
- log.debug("Registering plugin [className]: " + name);
- m_pluginClassMap.put(name, pluginClass);
- }
-
- pluginClass.initializePlugin( m_engine );
- }
-
- private void registerPlugins()
- {
- log.info( "Registering plugins" );
-
- SAXBuilder builder = new SAXBuilder();
-
- try
- {
- //
- // Register all plugins which have created a resource containing its properties.
- //
- // Get all resources of all plugins.
- //
-
- Enumeration resources = getClass().getClassLoader().getResources( PLUGIN_RESOURCE_LOCATION );
-
- while( resources.hasMoreElements() )
- {
- URL resource = (URL) resources.nextElement();
-
- try
- {
- log.debug( "Processing XML: " + resource );
-
- Document doc = builder.build( resource );
-
- List plugins = XPath.selectNodes( doc, "/modules/plugin");
-
- for( Iterator i = plugins.iterator(); i.hasNext(); )
- {
- Element pluginEl = (Element) i.next();
-
- String className = pluginEl.getAttributeValue("class");
-
- WikiPluginInfo pluginInfo = WikiPluginInfo.newInstance( className, pluginEl );
-
- if( pluginInfo != null )
- {
- registerPlugin( pluginInfo );
- }
- }
- }
- catch( java.io.IOException e )
- {
- log.error( "Couldn't load " + PLUGIN_RESOURCE_LOCATION + " resources: " + resource, e );
- }
- catch( JDOMException e )
- {
- log.error( "Error parsing XML for plugin: "+PLUGIN_RESOURCE_LOCATION );
- }
- }
- }
- catch( java.io.IOException e )
- {
- log.error( "Couldn't load all " + PLUGIN_RESOURCE_LOCATION + " resources", e );
- }
- }
-
+
/**
* Contains information about a bunch of plugins.
*
*
* @since
+ * @deprecated will be removed in 2.10 scope. Consider using
+ * {@link DefaultPluginManager#WikiPluginInfo} instead.
*/
// FIXME: This class needs a better interface to return all sorts of possible
// information from the plugin XML. In fact, it probably should have
// some sort of a superclass system.
+ @Deprecated
public static final class WikiPluginInfo
extends WikiModuleInfo
{
private String m_className;
private String m_alias;
private Class m_clazz;
+
+ private static Logger log = Logger.getLogger( WikiPluginInfo.class );
private boolean m_initialized = false;
@@ -982,87 +362,5 @@ public class PluginManager extends Modul
return "Plugin :[name=" + m_name + "][className=" + m_className + "]";
}
} // WikiPluginClass
-
- /**
- * {@inheritDoc}
- */
- public Collection modules()
- {
- TreeSet<WikiModuleInfo> ls = new TreeSet<WikiModuleInfo>();
-
- for( Iterator i = m_pluginClassMap.values().iterator(); i.hasNext(); )
- {
- WikiModuleInfo wmi = (WikiModuleInfo)i.next();
-
- if( !ls.contains(wmi) ) ls.add(wmi);
- }
-
- return ls;
- }
-
- /**
- * Executes parse stage, unless plugins are disabled.
- *
- * @param content The content item.
- * @param context A WikiContext
- * @throws PluginException If something goes wrong.
- */
- // FIXME: This method needs to be reintegrated with execute() above, since they
- // share plenty of code.
- public void executeParse(PluginContent content, WikiContext context)
- throws PluginException
- {
- if( !m_pluginsEnabled )
- return;
-
- ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
- Object[] args = { content.getPluginName() };
- Map<String, String> params = content.getParameters();
- try
- {
- WikiPlugin plugin;
-
- WikiPluginInfo pluginInfo = m_pluginClassMap.get( content.getPluginName() );
-
- if(pluginInfo == null)
- {
- pluginInfo = WikiPluginInfo.newInstance(findPluginClass( content.getPluginName() ));
- registerPlugin(pluginInfo);
- }
-
- if( !checkCompatibility(pluginInfo) )
- {
- String msg = "Plugin '"+pluginInfo.getName()+"' not compatible with this version of JSPWiki";
- log.info(msg);
- return;
- }
-
- plugin = pluginInfo.newPluginInstance();
-
- if( plugin instanceof ParserStagePlugin )
- {
- ((ParserStagePlugin)plugin).executeParser( content, context, params );
- }
- }
- catch( InstantiationException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.cannotinstantiate" ), args), e );
- }
- catch( IllegalAccessException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.notallowed" ), args), e );
- }
- catch( ClassNotFoundException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.couldnotfind" ), args) );
- }
- catch( ClassCastException e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.notawikiplugin" ), args), e );
- }
- catch( Exception e )
- {
- throw new PluginException( MessageFormat.format( rb.getString( "plugin.error.instantationfailed" ), args), e );
- }
- }
+
}
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RPCSamplePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RPCSamplePlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RPCSamplePlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RPCSamplePlugin.java Fri Dec 14 18:13:37 2012
@@ -21,6 +21,8 @@ package org.apache.wiki.plugin;
import java.util.Map;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.rpc.RPCCallable;
import org.apache.wiki.rpc.json.JSONRPCManager;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RecentChangesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RecentChangesPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RecentChangesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/RecentChangesPlugin.java Fri Dec 14 18:13:37 2012
@@ -28,6 +28,8 @@ import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.attachment.Attachment;
import org.apache.wiki.i18n.InternationalizationManager;
import org.apache.wiki.preferences.Preferences;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferredPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferredPagesPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferredPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferredPagesPlugin.java Fri Dec 14 18:13:37 2012
@@ -23,6 +23,8 @@ import java.util.*;
import org.apache.log4j.Logger;
import org.apache.oro.text.regex.*;
import org.apache.wiki.*;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferringPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferringPagesPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferringPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/ReferringPagesPlugin.java Fri Dec 14 18:13:37 2012
@@ -28,6 +28,8 @@ import org.apache.wiki.ReferenceManager;
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Displays the pages referring to the current page.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Search.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Search.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Search.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/Search.java Fri Dec 14 18:13:37 2012
@@ -28,6 +28,8 @@ import org.apache.log4j.Logger;
import org.apache.wiki.SearchResult;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.providers.ProviderException;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/SessionsPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/SessionsPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/SessionsPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/SessionsPlugin.java Fri Dec 14 18:13:37 2012
@@ -26,6 +26,8 @@ import java.util.Map;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiSession;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* <p>Displays information about active wiki sessions. The parameter
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/TableOfContents.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/TableOfContents.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/TableOfContents.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/TableOfContents.java Fri Dec 14 18:13:37 2012
@@ -25,6 +25,8 @@ import java.util.ResourceBundle;
import org.apache.log4j.Logger;
import org.apache.wiki.*;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.parser.Heading;
import org.apache.wiki.parser.HeadingListener;
import org.apache.wiki.parser.JSPWikiMarkupParser;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UndefinedPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UndefinedPagesPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UndefinedPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UndefinedPagesPlugin.java Fri Dec 14 18:13:37 2012
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.wiki.ReferenceManager;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Plugin that enumerates the pages in the wiki that have not yet been defined.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UnusedPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UnusedPagesPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UnusedPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/UnusedPagesPlugin.java Fri Dec 14 18:13:37 2012
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.wiki.ReferenceManager;
import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Plugin for displaying pages that are not linked to in other pages.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogArchivePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogArchivePlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogArchivePlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogArchivePlugin.java Fri Dec 14 18:13:37 2012
@@ -26,6 +26,8 @@ import org.apache.wiki.TextUtil;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.providers.ProviderException;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogEntryPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogEntryPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogEntryPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogEntryPlugin.java Fri Dec 14 18:13:37 2012
@@ -23,6 +23,8 @@ import java.util.*;
import org.apache.log4j.Logger;
import org.apache.wiki.*;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.providers.ProviderException;
/**
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WeblogPlugin.java Fri Dec 14 18:13:37 2012
@@ -27,6 +27,9 @@ import java.util.regex.Pattern;
import org.apache.log4j.Logger;
import org.apache.wiki.*;
+import org.apache.wiki.api.ParserStagePlugin;
+import org.apache.wiki.api.WikiPlugin;
+import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.auth.AuthorizationManager;
import org.apache.wiki.auth.permissions.PagePermission;
import org.apache.wiki.parser.PluginContent;
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WikiPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WikiPlugin.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WikiPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/WikiPlugin.java Fri Dec 14 18:13:37 2012
@@ -25,9 +25,11 @@ import org.apache.wiki.WikiContext;
/**
* Defines an interface for plugins. Any instance of a wiki plugin
* should implement this interface.
- *
+ * @deprecated will be removed in 2.10 scope. Consider using {@link org.apache.wiki.api.WikiPlugin}
+ * instead
*/
-public interface WikiPlugin
+@Deprecated
+public interface WikiPlugin extends org.apache.wiki.api.WikiPlugin
{
/**
* Name of the default plugin resource bundle.
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/tags/PluginTag.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/tags/PluginTag.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/tags/PluginTag.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/tags/PluginTag.java Fri Dec 14 18:13:37 2012
@@ -25,8 +25,8 @@ import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyContent;
import org.apache.wiki.WikiEngine;
-import org.apache.wiki.plugin.PluginException;
-import org.apache.wiki.plugin.PluginManager;
+import org.apache.wiki.api.PluginManager;
+import org.apache.wiki.api.exceptions.PluginException;
/**
* Inserts any Wiki plugin. The body of the tag becomes then
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/ui/EditorManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/ui/EditorManager.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/ui/EditorManager.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/ui/EditorManager.java Fri Dec 14 18:13:37 2012
@@ -35,7 +35,7 @@ import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.modules.ModuleManager;
import org.apache.wiki.modules.WikiModuleInfo;
-import org.apache.wiki.plugin.PluginManager;
+import org.apache.wiki.plugin.DefaultPluginManager;
import org.apache.wiki.preferences.Preferences;
/**
@@ -154,11 +154,11 @@ public class EditorManager extends Modul
}
catch( java.io.IOException e )
{
- log.error( "Couldn't load " + PluginManager.PLUGIN_RESOURCE_LOCATION + " resources: " + resource, e );
+ log.error( "Couldn't load " + DefaultPluginManager.PLUGIN_RESOURCE_LOCATION + " resources: " + resource, e );
}
catch( JDOMException e )
{
- log.error( "Error parsing XML for plugin: "+PluginManager.PLUGIN_RESOURCE_LOCATION );
+ log.error( "Error parsing XML for plugin: "+DefaultPluginManager.PLUGIN_RESOURCE_LOCATION );
}
}
}
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/ui/admin/beans/PluginBean.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/ui/admin/beans/PluginBean.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/ui/admin/beans/PluginBean.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/ui/admin/beans/PluginBean.java Fri Dec 14 18:13:37 2012
@@ -28,7 +28,7 @@ import org.apache.ecs.xhtml.*;
import org.apache.wiki.Release;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
-import org.apache.wiki.plugin.PluginManager.WikiPluginInfo;
+import org.apache.wiki.plugin.DefaultPluginManager.WikiPluginInfo;
import org.apache.wiki.ui.admin.SimpleAdminBean;
public class PluginBean extends SimpleAdminBean
Modified: incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/AllTests.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/AllTests.java?rev=1422020&r1=1422019&r2=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/AllTests.java (original)
+++ incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/AllTests.java Fri Dec 14 18:13:37 2012
@@ -40,7 +40,7 @@ public class AllTests extends TestCase
suite.addTest( GroupsTest.suite() );
suite.addTest( IfPluginTest.suite() );
suite.addTest( InsertPageTest.suite() );
- suite.addTest( PluginManagerTest.suite() );
+ suite.addTest( DefaultPluginManagerTest.suite() );
suite.addTest( ReferringPagesPluginTest.suite() );
suite.addTest( TableOfContentsTest.suite() );
suite.addTest( UndefinedPagesPluginTest.suite() );
Copied: incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/DefaultPluginManagerTest.java (from r1420900, incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PluginManagerTest.java)
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/DefaultPluginManagerTest.java?p2=incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/DefaultPluginManagerTest.java&p1=incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PluginManagerTest.java&r1=1420900&r2=1422020&rev=1422020&view=diff
==============================================================================
--- incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PluginManagerTest.java (original)
+++ incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/DefaultPluginManagerTest.java Fri Dec 14 18:13:37 2012
@@ -31,7 +31,7 @@ import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
import org.apache.wiki.providers.ProviderException;
-public class PluginManagerTest extends TestCase
+public class DefaultPluginManagerTest extends TestCase
{
public static final String NAME1 = "Test1";
@@ -41,9 +41,9 @@ public class PluginManagerTest extends T
WikiContext context;
- PluginManager manager;
+ DefaultPluginManager manager;
- public PluginManagerTest( String s )
+ public DefaultPluginManagerTest( String s )
{
super( s );
}
@@ -55,7 +55,7 @@ public class PluginManagerTest extends T
engine = new TestEngine(props);
context = new WikiContext( engine, new WikiPage(engine, "Testpage") );
- manager = new PluginManager( engine, props );
+ manager = new DefaultPluginManager( engine, props );
}
public void tearDown() throws ProviderException
@@ -87,8 +87,8 @@ public class PluginManagerTest extends T
public void testSimpleInsertNoPackage2()
throws Exception
{
- props.setProperty( PluginManager.PROP_SEARCHPATH, "com.foo" );
- PluginManager m = new PluginManager( engine, props );
+ props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo" );
+ DefaultPluginManager m = new DefaultPluginManager( engine, props );
String res = m.execute( context,
"{INSERT SamplePlugin2 WHERE text=foobar}");
@@ -99,8 +99,8 @@ public class PluginManagerTest extends T
public void testSimpleInsertNoPackage3()
throws Exception
{
- props.setProperty( PluginManager.PROP_SEARCHPATH, "com.foo" );
- PluginManager m = new PluginManager( engine, props );
+ props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo" );
+ DefaultPluginManager m = new DefaultPluginManager( engine, props );
String res = m.execute( context,
"{INSERT SamplePlugin3 WHERE text=foobar}");
@@ -112,8 +112,8 @@ public class PluginManagerTest extends T
public void testSimpleInsertNoPackage4()
throws Exception
{
- props.setProperty( PluginManager.PROP_SEARCHPATH, "com.foo,blat.blaa" );
- PluginManager m = new PluginManager( engine, props );
+ props.setProperty( DefaultPluginManager.PROP_SEARCHPATH, "com.foo,blat.blaa" );
+ DefaultPluginManager m = new DefaultPluginManager( engine, props );
String res = m.execute( context,
"{INSERT SamplePlugin WHERE text=foobar}");
@@ -218,6 +218,6 @@ public class PluginManagerTest extends T
public static Test suite()
{
- return new TestSuite( PluginManagerTest.class );
+ return new TestSuite( DefaultPluginManagerTest.class );
}
}