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 <[email protected]> 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; }
