You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2020/01/09 22:17:34 UTC
[jspwiki] 24/32: remove getEngine from PageManager,
you should already have access to it if you've grabbed the
PageManager
This is an automated email from the ASF dual-hosted git repository.
juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit 27f6209bdb8c6902ab06dd5689b0e5540f2a060d
Author: juanpablo <ju...@apache.org>
AuthorDate: Wed Jan 8 00:23:13 2020 +0100
remove getEngine from PageManager, you should already have access to it if you've grabbed the PageManager
Also, it doesn't extend WikiEventListener anymore, just DefaultPageManager implements it
---
.../org/apache/wiki/event/WikiEventListener.java | 9 +-
.../org/apache/wiki/pages/DefaultPageManager.java | 21 +++--
.../java/org/apache/wiki/pages/PageManager.java | 23 +----
.../org/apache/wiki/plugin/WeblogEntryPlugin.java | 100 +++++++--------------
4 files changed, 52 insertions(+), 101 deletions(-)
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventListener.java b/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventListener.java
index 5b2542d..6fbbfae 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventListener.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventListener.java
@@ -21,20 +21,19 @@ package org.apache.wiki.event;
import java.util.EventListener;
+
/**
* Defines an interface for an object that listens for WikiEvents.
*
* @since 2.3.92
*/
-public interface WikiEventListener extends EventListener
-{
+public interface WikiEventListener extends EventListener {
/**
* Fired when a WikiEvent is triggered by an event source.
*
- * @param event a WikiEvent object
+ * @param event a WikiEvent object
*/
void actionPerformed( WikiEvent event );
-
-} // end com.ecryd.jspwiki.event.WikiEventListener
+}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
index 229889e..2090371 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/DefaultPageManager.java
@@ -35,6 +35,7 @@ import org.apache.wiki.auth.acl.AclEntry;
import org.apache.wiki.auth.acl.AclEntryImpl;
import org.apache.wiki.auth.user.UserProfile;
import org.apache.wiki.event.WikiEvent;
+import org.apache.wiki.event.WikiEventListener;
import org.apache.wiki.event.WikiEventManager;
import org.apache.wiki.event.WikiPageEvent;
import org.apache.wiki.event.WikiSecurityEvent;
@@ -75,7 +76,7 @@ import java.util.concurrent.ConcurrentHashMap;
// FIXME: This class currently only functions just as an extra layer over providers,
// complicating things. We need to move more provider-specific functionality
// from WikiEngine (which is too big now) into this class.
-public class DefaultPageManager extends ModuleManager implements PageManager {
+public class DefaultPageManager extends ModuleManager implements PageManager, WikiEventListener {
private static final Logger LOG = Logger.getLogger( DefaultPageManager.class );
@@ -218,11 +219,11 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
}
/**
- * {@inheritDoc}
- * @see org.apache.wiki.pages.PageManager#getEngine()
+ * Returns the WikiEngine to which this PageManager belongs to.
+ *
+ * @return The WikiEngine object.
*/
- @Override
- public WikiEngine getEngine() {
+ protected WikiEngine getEngine() {
return m_engine;
}
@@ -636,8 +637,14 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
return null;
}
- /* (non-Javadoc)
- * @see org.apache.wiki.pages.PageManager#actionPerformed(org.apache.wiki.event.WikiEvent)
+ /**
+ * Listens for {@link org.apache.wiki.event.WikiSecurityEvent#PROFILE_NAME_CHANGED}
+ * events. If a user profile's name changes, each page ACL is inspected. If an entry contains
+ * a name that has changed, it is replaced with the new one. No events are emitted
+ * as a consequence of this method, because the page contents are still the same; it is
+ * only the representations of the names within the ACL that are changing.
+ *
+ * @param event The event
*/
@Override
public void actionPerformed( final WikiEvent event ) {
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/pages/PageManager.java b/jspwiki-main/src/main/java/org/apache/wiki/pages/PageManager.java
index 632e3b4..0c48a48 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/pages/PageManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/pages/PageManager.java
@@ -18,11 +18,8 @@
*/
package org.apache.wiki.pages;
-import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
import org.apache.wiki.api.exceptions.ProviderException;
-import org.apache.wiki.event.WikiEvent;
-import org.apache.wiki.event.WikiEventListener;
import org.apache.wiki.providers.WikiPageProvider;
import java.util.Collection;
@@ -30,7 +27,7 @@ import java.util.List;
import java.util.Set;
-public interface PageManager extends WikiEventListener {
+public interface PageManager {
/** The property value for setting the current page provider. Value is {@value}. */
String PROP_PAGEPROVIDER = "jspwiki.pageProvider";
@@ -136,13 +133,6 @@ public interface PageManager extends WikiEventListener {
}
/**
- * Returns the WikiEngine to which this PageManager belongs to.
- *
- * @return The WikiEngine object.
- */
- WikiEngine getEngine();
-
- /**
* Puts the page text into the repository. Note that this method does NOT update
* JSPWiki internal data structures, and therefore you should always use WikiEngine.saveText()
*
@@ -356,17 +346,6 @@ public interface PageManager extends WikiEventListener {
void deletePage( WikiPage page ) throws ProviderException;
/**
- * Listens for {@link org.apache.wiki.event.WikiSecurityEvent#PROFILE_NAME_CHANGED}
- * events. If a user profile's name changes, each page ACL is inspected. If an entry contains
- * a name that has changed, it is replaced with the new one. No events are emitted
- * as a consequence of this method, because the page contents are still the same; it is
- * only the representations of the names within the ACL that are changing.
- *
- * @param event The event
- */
- void actionPerformed(WikiEvent event);
-
- /**
* Returns the configured {@link PageSorter}.
*
* @return the configured {@link PageSorter}.
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java
index 2630372..7e71e6e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogEntryPlugin.java
@@ -18,13 +18,6 @@
*/
package org.apache.wiki.plugin;
-import java.text.SimpleDateFormat;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ResourceBundle;
-
import org.apache.log4j.Logger;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
@@ -33,10 +26,15 @@ import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.api.exceptions.ProviderException;
import org.apache.wiki.api.plugin.WikiPlugin;
import org.apache.wiki.pages.PageLock;
-import org.apache.wiki.pages.PageManager;
import org.apache.wiki.preferences.Preferences;
import org.apache.wiki.util.TextUtil;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Map;
+import java.util.ResourceBundle;
+
/**
* Builds a simple weblog.
* <p/>
@@ -49,8 +47,8 @@ import org.apache.wiki.util.TextUtil;
* @since 1.9.21
*/
public class WeblogEntryPlugin implements WikiPlugin {
- private static Logger log = Logger.getLogger(WeblogEntryPlugin.class);
+ private static final Logger log = Logger.getLogger(WeblogEntryPlugin.class);
private static final int MAX_BLOG_ENTRIES = 10000; // Just a precaution.
/**
@@ -58,8 +56,7 @@ public class WeblogEntryPlugin implements WikiPlugin {
*/
public static final String PARAM_ENTRYTEXT = "entrytext";
/**
- * Optional parameter: page that actually contains the blog.
- * This lets us provide a "new entry" link for a blog page
+ * Optional parameter: page that actually contains the blog. This lets us provide a "new entry" link for a blog page
* somewhere else than on the page itself.
*/
// "page" for uniform naming with WeblogPlugin...
@@ -69,97 +66,66 @@ public class WeblogEntryPlugin implements WikiPlugin {
public static final String PARAM_BLOGNAME = "page";
/**
- * Returns a new page name for entries. It goes through the list of
- * all blog pages, and finds out the next in line.
+ * Returns a new page name for entries. It goes through the list of all blog pages, and finds out the next in line.
*
* @param engine A WikiEngine
* @param blogName The page (or blog) name.
* @return A new name.
* @throws ProviderException If something goes wrong.
*/
- public String getNewEntryPage(WikiEngine engine, String blogName)
- throws ProviderException {
- SimpleDateFormat fmt = new SimpleDateFormat(WeblogPlugin.DEFAULT_DATEFORMAT);
- String today = fmt.format(new Date());
+ public String getNewEntryPage( final WikiEngine engine, final String blogName ) throws ProviderException {
+ final SimpleDateFormat fmt = new SimpleDateFormat(WeblogPlugin.DEFAULT_DATEFORMAT);
+ final String today = fmt.format(new Date());
+ final int entryNum = findFreeEntry( engine, blogName, today );
- int entryNum = findFreeEntry(engine.getPageManager(),
- blogName,
- today);
-
-
- String blogPage = WeblogPlugin.makeEntryPage(blogName,
- today,
- "" + entryNum);
-
- return blogPage;
+ return WeblogPlugin.makeEntryPage( blogName, today,"" + entryNum );
}
/**
* {@inheritDoc}
*/
- public String execute(WikiContext context, Map<String, String> params)
- throws PluginException {
- ResourceBundle rb = Preferences.getBundle(context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
+ public String execute( final WikiContext context, final Map< String, String > params ) throws PluginException {
+ final ResourceBundle rb = Preferences.getBundle(context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
+ final WikiEngine engine = context.getEngine();
String weblogName = params.get(PARAM_BLOGNAME);
if (weblogName == null) {
weblogName = context.getPage().getName();
}
- WikiEngine engine = context.getEngine();
- StringBuilder sb = new StringBuilder();
-
- String entryText = TextUtil.replaceEntities( params.get(PARAM_ENTRYTEXT) );
+ String entryText = TextUtil.replaceEntities( params.get( PARAM_ENTRYTEXT ) );
if (entryText == null) {
entryText = rb.getString("weblogentryplugin.newentry");
}
- String url = context.getURL(WikiContext.NONE, "NewBlogEntry.jsp", "page=" + engine.encodeName(weblogName));
-
- sb.append("<a href=\"" + url + "\">" + entryText + "</a>");
-
- return sb.toString();
+ final String url = context.getURL(WikiContext.NONE, "NewBlogEntry.jsp", "page=" + engine.encodeName( weblogName ) );
+ return "<a href=\"" + url + "\">" + entryText + "</a>";
}
- private int findFreeEntry(PageManager mgr,
- String baseName,
- String date)
- throws ProviderException {
- Collection< WikiPage > everyone = mgr.getAllPages();
+ private int findFreeEntry( final WikiEngine engine, final String baseName, final String date ) throws ProviderException {
+ final Collection< WikiPage > everyone = engine.getPageManager().getAllPages();
+ final String startString = WeblogPlugin.makeEntryPage(baseName, date, "");
int max = 0;
- String startString = WeblogPlugin.makeEntryPage(baseName, date, "");
-
- for (Iterator< WikiPage > i = everyone.iterator(); i.hasNext(); ) {
- WikiPage p = i.next();
-
- if (p.getName().startsWith(startString)) {
+ for( final WikiPage p : everyone ) {
+ if( p.getName().startsWith( startString ) ) {
try {
- String probableId = p.getName().substring(startString.length());
-
- int id = Integer.parseInt(probableId);
-
- if (id > max) {
+ final String probableId = p.getName().substring( startString.length() );
+ final int id = Integer.parseInt( probableId );
+ if( id > max ) {
max = id;
}
- } catch (NumberFormatException e) {
- log.debug("Was not a log entry: " + p.getName());
+ } catch( final NumberFormatException e ) {
+ log.debug( "Was not a log entry: " + p.getName() );
}
}
}
- //
// Find the first page that has no page lock.
- //
int idx = max + 1;
-
- while (idx < MAX_BLOG_ENTRIES) {
- WikiPage page = new WikiPage(mgr.getEngine(),
- WeblogPlugin.makeEntryPage(baseName,
- date,
- Integer.toString(idx)));
- PageLock lock = mgr.getCurrentLock(page);
-
+ while( idx < MAX_BLOG_ENTRIES ) {
+ final WikiPage page = new WikiPage( engine, WeblogPlugin.makeEntryPage( baseName, date, Integer.toString( idx ) ) );
+ final PageLock lock = engine.getPageManager().getCurrentLock(page);
if (lock == null) {
break;
}