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 2019/12/19 22:11:34 UTC
[jspwiki] 04/06: JSPWIKI-120: Separate rendering engine from core
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 <ju...@apache.org>
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 )