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 dc06bef45ce4bdc4d3b04b9fa9cd63d5685df627 Author: juanpablo <[email protected]> AuthorDate: Thu Dec 19 22:55:43 2019 +0100 JSPWIKI-120: Separate rendering engine from core * pageRename(..) method deleted from WikiEngine, use the one located on PageRenamer * custom PageRenamers should also fire the appropiate WikiPageRenameEvent on their pageRename(..) method --- .../src/main/java/org/apache/wiki/WikiEngine.java | 39 ------------------- .../java/org/apache/wiki/content/PageRenamer.java | 16 +++++++- .../org/apache/wiki/content/PageRenamerTest.java | 44 ++++++++++------------ jspwiki-war/src/main/webapp/Rename.jsp | 2 +- 4 files changed, 34 insertions(+), 67 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java index 6c2b5ee..a37e3da 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java @@ -42,7 +42,6 @@ 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.i18n.InternationalizationManager; import org.apache.wiki.pages.PageManager; import org.apache.wiki.pages.PageTimeComparator; @@ -2049,33 +2048,6 @@ public class WikiEngine { } /** - * Renames, or moves, a wiki page. Can also alter referring wiki - * links to point to the renamed page. - * - * @param context The context during which this rename takes - * place. - * @param renameFrom Name of the source page. - * @param renameTo Name of the destination page. - * @param changeReferrers If true, then changes any referring links - * to point to the renamed page. - * - * @return The name of the page that the source was renamed to. - * - * @throws WikiException In the case of an error, such as the destination - * page already existing. - */ - public String renamePage( WikiContext context, - String renameFrom, - String renameTo, - boolean changeReferrers ) - throws WikiException - { - String newPageName = m_pageRenamer.renamePage(context, renameFrom, renameTo, changeReferrers); - firePageRenameEvent(renameFrom, newPageName); - return newPageName; - } - - /** * Returns the PageRenamer employed by this WikiEngine. * @since 2.5.141 * @return The current PageRenamer instance. @@ -2222,17 +2194,6 @@ public class WikiEngine { } /** - * Fires a WikiPageRenameEvent to all registered listeners. - * @param oldName the former page name - * @param newName the new page name - */ - protected final void firePageRenameEvent( final String oldName, final String newName ) { - if( WikiEventManager.isListening(this) ) { - WikiEventManager.fireEvent(this, new WikiPageRenameEvent(this, oldName, newName ) ); - } - } - - /** * Adds an attribute to the engine for the duration of this engine. The * value is not persisted. * diff --git a/jspwiki-main/src/main/java/org/apache/wiki/content/PageRenamer.java b/jspwiki-main/src/main/java/org/apache/wiki/content/PageRenamer.java index 5063c1d..0bf86c9 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/content/PageRenamer.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/content/PageRenamer.java @@ -131,14 +131,26 @@ public class PageRenamer { engine.getSearchManager().reindexPage( att ); } - // Currently not used internally by JSPWiki itself, but you can use it for something else. - WikiEventManager.fireEvent( this, new WikiPageRenameEvent( this, renameFrom, renameToClean ) ); + firePageRenameEvent( renameFrom, renameToClean ); // Done, return the new name. return renameToClean; } /** + * Fires a WikiPageRenameEvent to all registered listeners. Currently not used internally by JSPWiki itself, but you can use it for + * something else. + * + * @param oldName the former page name + * @param newName the new page name + */ + public void firePageRenameEvent( final String oldName, final String newName ) { + if( WikiEventManager.isListening(this) ) { + WikiEventManager.fireEvent(this, new WikiPageRenameEvent(this, oldName, newName ) ); + } + } + + /** * This method finds all the pages which have anything to do with the fromPage and * change any referrers it can figure out in that page. * diff --git a/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java index 799d09f..c4dc60e 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/content/PageRenamerTest.java @@ -17,16 +17,7 @@ under the License. */ package org.apache.wiki.content; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.AfterEach; - -import java.util.Collection; -import java.util.Properties; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.Assertions; import net.sf.ehcache.CacheManager; - import org.apache.wiki.TestEngine; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; @@ -34,14 +25,20 @@ import org.apache.wiki.WikiPage; import org.apache.wiki.WikiProvider; import org.apache.wiki.api.exceptions.WikiException; import org.apache.wiki.attachment.Attachment; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Collection; +import java.util.Properties; public class PageRenamerTest { TestEngine m_engine; @BeforeEach - public void setUp() throws Exception - { + public void setUp() throws Exception { Properties props = TestEngine.getTestProperties(); props.setProperty( WikiEngine.PROP_MATCHPLURALS, "true" ); CacheManager.getInstance().removeAllCaches(); @@ -50,8 +47,7 @@ public class PageRenamerTest } @AfterEach - public void tearDown() throws Exception - { + public void tearDown() { m_engine.deleteTestPage("TestPage"); m_engine.deleteTestPage("TestPage2"); m_engine.deleteTestPage("FooTest"); @@ -73,10 +69,8 @@ public class PageRenamerTest } @Test - public void testSimpleRename() - throws Exception - { - // Count the numberof existing references + public void testSimpleRename() throws Exception { + // Count the number of existing references int refCount = m_engine.getReferenceManager().findCreated().size(); m_engine.saveText("TestPage", "the big lazy dog thing" ); @@ -85,7 +79,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", false); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", false); WikiPage newpage = m_engine.getPage("FooTest"); @@ -111,7 +105,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", true); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION); @@ -137,7 +131,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", true); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION); @@ -162,7 +156,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", true); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION); @@ -187,7 +181,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", true); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION); @@ -215,7 +209,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "Test", "TestPage", true); + m_engine.getPageRenamer().renamePage(context, "Test", "TestPage", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION ); @@ -235,7 +229,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, "TestPage", "FooTest", true); + m_engine.getPageRenamer().renamePage(context, "TestPage", "FooTest", true); String data = m_engine.getPureText("TestPage2", WikiProvider.LATEST_VERSION); @@ -314,7 +308,7 @@ public class PageRenamerTest WikiContext context = new WikiContext(m_engine, p); - m_engine.renamePage(context, src, dst, true); + m_engine.getPageRenamer().renamePage(context, src, dst, true); } @Test diff --git a/jspwiki-war/src/main/webapp/Rename.jsp b/jspwiki-war/src/main/webapp/Rename.jsp index 703787d..2df7fa5 100644 --- a/jspwiki-war/src/main/webapp/Rename.jsp +++ b/jspwiki-war/src/main/webapp/Rename.jsp @@ -64,7 +64,7 @@ { if (renameTo.length() > 0) { - String renamedTo = wiki.renamePage(wikiContext, renameFrom, renameTo, changeReferences); + String renamedTo = wiki.getPageRenamer().renamePage(wikiContext, renameFrom, renameTo, changeReferences); FixedQueue trail = (FixedQueue) session.getAttribute( BreadcrumbsTag.BREADCRUMBTRAIL_KEY ); if( trail != null )
