Author: sdumitriu
Date: 2008-02-25 21:11:36 +0100 (Mon, 25 Feb 2008)
New Revision: 7941
Added:
xwiki-platform/core/trunk/xwiki-core/src/main/aspect/compatibility/com/xpn/xwiki/plugin/
xwiki-platform/core/trunk/xwiki-core/src/main/aspect/compatibility/com/xpn/xwiki/plugin/PluginApiAspect.aj
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/PluginApi.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/calendar/CalendarPluginApi.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/fileupload/FileUploadPluginApi.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePluginApi.java
Log:
XWIKI-2136: PluginAPI#getPlugin should always require programming rights, and
provide an getInternalPlugin methods for in-java usage
getPlugin was deprecated, getInternalPlugin replaced getPlugin (public, but
requires programming rights), and getProtectedPlugin is for in-java usage.
Added:
xwiki-platform/core/trunk/xwiki-core/src/main/aspect/compatibility/com/xpn/xwiki/plugin/PluginApiAspect.aj
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/aspect/compatibility/com/xpn/xwiki/plugin/PluginApiAspect.aj
(rev 0)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/aspect/compatibility/com/xpn/xwiki/plugin/PluginApiAspect.aj
2008-02-25 20:11:36 UTC (rev 7941)
@@ -0,0 +1,20 @@
+package com.xpn.xwiki.plugin;
+
+/**
+ * Add a backward compatibility layer to the [EMAIL PROTECTED]
com.xpn.xwiki.plugin.PluginApi} class.
+ *
+ * @version $Id: $
+ */
+public privileged aspect PluginApiAspect
+{
+ /**
+ * Add a backward compatibility layer to the [EMAIL PROTECTED]
com.xpn.xwiki.XWiki} class.
+ *
+ * @version $Id: $
+ */
+ public XWikiPluginInterface PluginApi.getPlugin()
+ {
+ return this.plugin;
+ }
+
+}
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/PluginApi.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/PluginApi.java
2008-02-25 20:04:17 UTC (rev 7940)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/PluginApi.java
2008-02-25 20:11:36 UTC (rev 7941)
@@ -49,30 +49,30 @@
}
/**
- * Return the inner plugin object, if the user has the required
programming rights.
+ * Return the inner plugin object. This method is only for the plugin
API's internal use, and
+ * should not be exposed to scripting languages. It is an XWiki practice
to expose all the
+ * functionality using an API, and allow access to the internal objects
only to users with
+ * Programming Rights.
*
* @return The wrapped plugin object.
+ * @since 1.3RC1
*/
- public XWikiPluginInterface getPlugin()
+ protected XWikiPluginInterface getProtectedPlugin()
{
- if (hasProgrammingRights()) {
- return plugin;
- }
- return null;
+ return plugin;
}
/**
- * Return the inner plugin object. This method is only for the plugin
API's internal use, and
- * should not be exposed to scripting languages. It is an XWiki practice
to expose all the
- * functionality using an API, and allow access to the internal objects
only to users with
- * Programming Rights.
+ * Return the inner plugin object, if the user has the required
programming rights.
*
* @return The wrapped plugin object.
- * @since 1.3RC1
*/
- protected XWikiPluginInterface getInternalPlugin()
+ public XWikiPluginInterface getInternalPlugin()
{
- return plugin;
+ if (hasProgrammingRights()) {
+ return plugin;
+ }
+ return null;
}
/**
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/calendar/CalendarPluginApi.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/calendar/CalendarPluginApi.java
2008-02-25 20:04:17 UTC (rev 7940)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/calendar/CalendarPluginApi.java
2008-02-25 20:11:36 UTC (rev 7941)
@@ -224,11 +224,11 @@
}
public String getHTMLCalendarFromICal(CalendarParams calendarParams,
String surl, String user) throws XWikiException, ParserException, IOException {
- return getPlugin().getHTMLCalendar(calendarParams,
getCalendarEvents(surl, user), getXWikiContext());
+ return plugin.getHTMLCalendar(calendarParams, getCalendarEvents(surl,
user), getXWikiContext());
}
public String getHTMLCalendarFromICal(CalendarParams calendarParams,
String surl, String user, String username, String password) throws
XWikiException, ParserException, IOException {
- return getPlugin().getHTMLCalendar(calendarParams,
getCalendarEvents(surl, user, username, password), getXWikiContext());
+ return plugin.getHTMLCalendar(calendarParams, getCalendarEvents(surl,
user, username, password), getXWikiContext());
}
}
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/fileupload/FileUploadPluginApi.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/fileupload/FileUploadPluginApi.java
2008-02-25 20:04:17 UTC (rev 7940)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/fileupload/FileUploadPluginApi.java
2008-02-25 20:11:36 UTC (rev 7941)
@@ -56,7 +56,7 @@
*/
private FileUploadPlugin getFileUploadPlugin()
{
- return (FileUploadPlugin) getPlugin();
+ return (FileUploadPlugin) getProtectedPlugin();
}
/**
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePluginApi.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePluginApi.java
2008-02-25 20:04:17 UTC (rev 7940)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePluginApi.java
2008-02-25 20:11:36 UTC (rev 7941)
@@ -19,12 +19,13 @@
*/
package com.xpn.xwiki.plugin.lucene;
-import com.xpn.xwiki.XWikiContext;
-import com.xpn.xwiki.api.Api;
-import com.xpn.xwiki.api.Context;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.api.Context;
+import com.xpn.xwiki.plugin.PluginApi;
+
/**
* This plugin allows index based search in the contents of Wiki Pages and
their attachments, as far
* as any text can be extracted from them. Text can be extracted from
OpenOffice Writer, MSWord,
@@ -37,18 +38,20 @@
*
* @version $Id: $
*/
-public class LucenePluginApi extends Api
+public class LucenePluginApi extends PluginApi
{
private static final Log LOG = LogFactory.getLog(LucenePluginApi.class);
- private LucenePlugin plugin;
-
public LucenePluginApi(LucenePlugin plugin, XWikiContext context)
{
- super(context);
- setPlugin(plugin);
+ super(plugin, context);
}
+ public LucenePlugin getLucenePlugin()
+ {
+ return (LucenePlugin) getProtectedPlugin();
+ }
+
/**
* Starts a rebuild of the whole index.
*
@@ -58,7 +61,7 @@
{
int nbDocuments = -1;
if (hasAdminRights()) {
- nbDocuments = getPlugin().rebuildIndex(context);
+ nbDocuments = getLucenePlugin().rebuildIndex(context);
}
return nbDocuments;
@@ -76,7 +79,7 @@
{
int nbDocuments = -1;
if (wiki.hasAdminRights()) {
- nbDocuments = getPlugin().rebuildIndex(context.getContext());
+ nbDocuments = getLucenePlugin().rebuildIndex(context.getContext());
}
return nbDocuments;
@@ -97,7 +100,7 @@
String languages, com.xpn.xwiki.api.XWiki wiki)
{
try {
- return getPlugin().getSearchResults(query, (String) null,
indexDirs, languages,
+ return getLucenePlugin().getSearchResults(query, (String) null,
indexDirs, languages,
context);
} catch (Exception e) {
e.printStackTrace();
@@ -158,8 +161,8 @@
{
try {
SearchResults retval =
- getPlugin().getSearchResults(query, (String) null,
virtualWikiNames, languages,
- context);
+ getLucenePlugin().getSearchResults(query, (String) null,
virtualWikiNames,
+ languages, context);
if (LOG.isDebugEnabled())
LOG.debug("returning " + retval.getHitcount() + " results");
return retval;
@@ -175,7 +178,7 @@
*/
public long getQueueSize()
{
- return plugin.getQueueSize();
+ return getLucenePlugin().getQueueSize();
}
/**
@@ -183,7 +186,7 @@
*/
public long getActiveQueueSize()
{
- return plugin.getActiveQueueSize();
+ return getLucenePlugin().getActiveQueueSize();
}
/**
@@ -191,29 +194,10 @@
*/
public long getLuceneDocCount()
{
- return plugin.getLuceneDocCount();
+ return getLucenePlugin().getLuceneDocCount();
}
/**
- * @param plugin plugin instance we are the facade for.
- */
- public void setPlugin(LucenePlugin plugin)
- {
- this.plugin = plugin;
- }
-
- /**
- * @return the plugin instance we are the facade for.
- */
- public LucenePlugin getPlugin()
- {
- if (hasProgrammingRights()) {
- return plugin;
- }
- return null;
- }
-
- /**
* Searches the named indexes using the given query for documents in the
given languages
*
* @param query the query entered by the user
@@ -226,7 +210,7 @@
String languages)
{
try {
- return getPlugin().getSearchResults(query, (String) null,
indexDirs, languages,
+ return getLucenePlugin().getSearchResults(query, (String) null,
indexDirs, languages,
context);
} catch (Exception e) {
e.printStackTrace();
@@ -273,7 +257,8 @@
String indexDirs, String languages)
{
try {
- return getPlugin().getSearchResults(query, sortField, indexDirs,
languages, context);
+ return getLucenePlugin().getSearchResults(query, sortField,
indexDirs, languages,
+ context);
} catch (Exception e) {
e.printStackTrace();
} // end of try-catch
@@ -295,7 +280,8 @@
String indexDirs, String languages)
{
try {
- return getPlugin().getSearchResults(query, sortField, indexDirs,
languages, context);
+ return getLucenePlugin().getSearchResults(query, sortField,
indexDirs, languages,
+ context);
} catch (Exception e) {
e.printStackTrace();
} // end of try-catch
@@ -353,7 +339,7 @@
{
try {
SearchResults retval =
- getPlugin().getSearchResults(query, sortField,
virtualWikiNames, languages,
+ getLucenePlugin().getSearchResults(query, sortField,
virtualWikiNames, languages,
context);
if (LOG.isDebugEnabled())
LOG.debug("returning " + retval.getHitcount() + " results");
@@ -415,7 +401,7 @@
{
try {
SearchResults retval =
- getPlugin().getSearchResults(query, sortField,
virtualWikiNames, languages,
+ getLucenePlugin().getSearchResults(query, sortField,
virtualWikiNames, languages,
context);
if (LOG.isDebugEnabled())
LOG.debug("returning " + retval.getHitcount() + " results");
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications