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/03 09:03:14 UTC
[jspwiki] 05/18: JSPWIKI-120: scanWikiLinks(..) and
updateReferences(..) methods from WikiEngine moved to ReferenceManager
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 1a01c8153fd48630d5ca8c190524fde8a6464bad
Author: juanpablo <ju...@apache.org>
AuthorDate: Wed Jan 1 21:02:50 2020 +0100
JSPWIKI-120: scanWikiLinks(..) and updateReferences(..) methods from WikiEngine moved to ReferenceManager
---
.../java/org/apache/wiki/ReferenceManager.java | 35 +++-
.../src/main/java/org/apache/wiki/WikiEngine.java | 48 +----
.../apache/wiki/attachment/AttachmentManager.java | 60 ++----
.../org/apache/wiki/content/WikiPageRenamer.java | 6 +-
.../org/apache/wiki/pages/DefaultPageManager.java | 35 +---
.../java/org/apache/wiki/ReferenceManagerTest.java | 216 ++++++++-------------
.../test/java/org/apache/wiki/WikiEngineTest.java | 12 --
7 files changed, 146 insertions(+), 266 deletions(-)
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
index cc46816..ea09f2d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
@@ -160,7 +160,7 @@ public class ReferenceManager extends BasicPageFilter implements InternalModule,
*/
private void updatePageReferences( final WikiPage page ) throws ProviderException {
final String content = m_engine.getPageManager().getPageText( page.getName(), WikiPageProvider.LATEST_VERSION );
- final Collection< String > links = m_engine.scanWikiLinks( page, content );
+ final Collection< String > links = scanWikiLinks( page, content );
final TreeSet< String > res = new TreeSet<>( links );
final List< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page );
for( final Attachment att : attachments ) {
@@ -411,11 +411,32 @@ public class ReferenceManager extends BasicPageFilter implements InternalModule,
@Override
public void postSave( final WikiContext context, final String content ) {
final WikiPage page = context.getPage();
- updateReferences( page.getName(), context.getEngine().scanWikiLinks( page, content ) );
+ updateReferences( page.getName(), scanWikiLinks( page, content ) );
serializeAttrsToDisk( page );
}
/**
+ * Reads a WikiPageful of data from a String and returns all links internal to this Wiki in a Collection.
+ *
+ * @param page The WikiPage to scan
+ * @param pagedata The page contents
+ * @return a Collection of Strings
+ */
+ public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) {
+ final LinkCollector localCollector = new LinkCollector();
+
+ m_engine.textToHTML( new WikiContext( m_engine, page ),
+ pagedata,
+ localCollector,
+ null,
+ localCollector,
+ false,
+ true );
+
+ return localCollector.getLinks();
+ }
+
+ /**
* Updates the m_referedTo and m_referredBy hashmaps when a page has been deleted.
* <P>
* Within the m_refersTo map the pagename is a key. The whole key-value-set has to be removed to keep the map clean.
@@ -471,6 +492,16 @@ public class ReferenceManager extends BasicPageFilter implements InternalModule,
}
/**
+ * Updates all references for the given page.
+ *
+ * @param page wiki page for which references should be updated
+ */
+ public void updateReferences( final WikiPage page ) {
+ final String pageData = m_engine.getPureText( page.getName(), WikiProvider.LATEST_VERSION );
+ updateReferences( page.getName(), scanWikiLinks( page, pageData ) );
+ }
+
+ /**
* Updates the referred pages of a new or edited WikiPage. If a refersTo entry for this page already exists, it is removed
* and a new one is built from scratch. Also calls updateReferredBy() for each referenced page.
* <P>
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 8d32d26..5d0a7d2 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
@@ -1380,27 +1380,6 @@ public class WikiEngine {
}
/**
- * Reads a WikiPageful of data from a String and returns all links internal to this Wiki in a Collection.
- *
- * @param page The WikiPage to scan
- * @param pagedata The page contents
- * @return a Collection of Strings
- */
- public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) {
- final LinkCollector localCollector = new LinkCollector();
-
- textToHTML( new WikiContext( this, page ),
- pagedata,
- localCollector,
- null,
- localCollector,
- false,
- true );
-
- return localCollector.getLinks();
- }
-
- /**
* Just convert WikiText to HTML.
*
* @param context The WikiContext in which to do the conversion
@@ -1448,13 +1427,13 @@ public class WikiEngine {
* @param justParse Just parses the pagedata, does not actually render. In this case, this methods an empty string.
* @return HTML-rendered page text.
*/
- private String textToHTML( final WikiContext context,
- String pagedata,
- final StringTransmutator localLinkHook,
- final StringTransmutator extLinkHook,
- final StringTransmutator attLinkHook,
- final boolean parseAccessRules,
- final boolean justParse ) {
+ public String textToHTML( final WikiContext context,
+ String pagedata,
+ final StringTransmutator localLinkHook,
+ final StringTransmutator extLinkHook,
+ final StringTransmutator attLinkHook,
+ final boolean parseAccessRules,
+ final boolean justParse ) {
String result = "";
if( pagedata == null ) {
@@ -1507,19 +1486,6 @@ public class WikiEngine {
return result;
}
- /**
- * Updates all references for the given page.
- *
- * @param page wiki page for which references should be updated
- */
- public void updateReferences( WikiPage page )
- {
- String pageData = getPureText( page.getName(), WikiProvider.LATEST_VERSION );
-
- m_referenceManager.updateReferences( page.getName(),
- scanWikiLinks( page, pageData ) );
- }
-
/**
* Writes the WikiText of a page into the page repository. If the <code>jspwiki.properties</code> file contains
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
index 32036c9..ab819ab 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
@@ -514,9 +514,8 @@ public class AttachmentManager
}
/**
- * Stores an attachment that lives in the given file.
- * If the attachment did not exist previously, this method
- * will create it. If it did exist, it stores a new version.
+ * Stores an attachment that lives in the given file. If the attachment did not exist previously, this method will create it.
+ * If it did exist, it stores a new version.
*
* @param att Attachment to store this under.
* @param source A file to read from.
@@ -524,27 +523,15 @@ public class AttachmentManager
* @throws IOException If writing the attachment failed.
* @throws ProviderException If something else went wrong.
*/
- public void storeAttachment( Attachment att, File source )
- throws IOException,
- ProviderException
- {
- FileInputStream in = null;
-
- try
- {
- in = new FileInputStream( source );
+ public void storeAttachment( final Attachment att, final File source ) throws IOException, ProviderException {
+ try( final FileInputStream in = new FileInputStream( source ) ) {
storeAttachment( att, in );
}
- finally
- {
- if( in != null ) in.close();
- }
}
/**
- * Stores an attachment directly from a stream.
- * If the attachment did not exist previously, this method
- * will create it. If it did exist, it stores a new version.
+ * Stores an attachment directly from a stream. If the attachment did not exist previously, this method will create it.
+ * If it did exist, it stores a new version.
*
* @param att Attachment to store this under.
* @param in InputStream from which the attachment contents will be read.
@@ -552,32 +539,23 @@ public class AttachmentManager
* @throws IOException If writing the attachment failed.
* @throws ProviderException If something else went wrong.
*/
- public void storeAttachment( Attachment att, InputStream in )
- throws IOException,
- ProviderException
- {
- if( m_provider == null )
- {
+ public void storeAttachment( final Attachment att, final InputStream in ) throws IOException, ProviderException {
+ if( m_provider == null ) {
return;
}
- //
// Checks if the actual, real page exists without any modifications
// or aliases. We cannot store an attachment to a non-existent page.
- //
- if( !m_engine.getPageManager().pageExists( att.getParentName() ) )
- {
+ if( !m_engine.getPageManager().pageExists( att.getParentName() ) ) {
// the caller should catch the exception and use the exception text as an i18n key
- throw new ProviderException( "attach.parent.not.exist" );
+ throw new ProviderException( "attach.parent.not.exist" );
}
m_provider.putAttachmentData( att, in );
+ m_engine.getReferenceManager().updateReferences( att.getName(), new ArrayList<>() );
- m_engine.getReferenceManager().updateReferences( att.getName(), new ArrayList< String >() );
-
- WikiPage parent = new WikiPage( m_engine, att.getParentName() );
- m_engine.updateReferences( parent );
-
+ final WikiPage parent = new WikiPage( m_engine, att.getParentName() );
+ m_engine.getReferenceManager().updateReferences( parent );
m_engine.getSearchManager().reindexPage( att );
}
@@ -590,18 +568,14 @@ public class AttachmentManager
* disabled.
* @throws ProviderException If the provider fails for some reason.
*/
- public List<Attachment> getVersionHistory( String attachmentName )
- throws ProviderException
- {
- if( m_provider == null )
- {
+ public List< Attachment > getVersionHistory( final String attachmentName ) throws ProviderException {
+ if( m_provider == null ) {
return null;
}
- Attachment att = getAttachmentInfo( (WikiContext)null, attachmentName );
+ final Attachment att = getAttachmentInfo( null, attachmentName );
- if( att != null )
- {
+ if( att != null ) {
return m_provider.getVersionHistory( att );
}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/content/WikiPageRenamer.java b/jspwiki-main/src/main/java/org/apache/wiki/content/WikiPageRenamer.java
index f4da6b0..5eed7be 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/content/WikiPageRenamer.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/content/WikiPageRenamer.java
@@ -114,7 +114,7 @@ public class WikiPageRenamer implements PageRenamer {
// Update the references
engine.getReferenceManager().pageRemoved( fromPage );
- engine.updateReferences( toPage );
+ engine.getReferenceManager().updateReferences( toPage );
// Update referrers
if( changeReferrers ) {
@@ -128,7 +128,7 @@ public class WikiPageRenamer implements PageRenamer {
for( final Attachment att:attachmentsNewName ) {
final WikiPage toAttPage = engine.getPage( att.getName() );
// add reference to attachment under new page name
- engine.updateReferences( toAttPage );
+ engine.getReferenceManager().updateReferences( toAttPage );
engine.getSearchManager().reindexPage( att );
}
@@ -187,7 +187,7 @@ public class WikiPageRenamer implements PageRenamer {
try {
engine.getPageManager().putPageText( p, newText );
- engine.updateReferences( p );
+ engine.getReferenceManager().updateReferences( p );
} catch( final ProviderException e ) {
// We fail with an error, but we will try to continue to rename other referrers as well.
log.error("Unable to perform rename.",e);
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 0f508c5..3d5245a 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
@@ -160,7 +160,7 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
* @see org.apache.wiki.pages.PageManager#getPageText(java.lang.String, int)
*/
@Override
- public String getPageText(String pageName, int version) throws ProviderException {
+ public String getPageText( final String pageName, final int version) throws ProviderException {
if (pageName == null || pageName.length() == 0) {
throw new ProviderException("Illegal page name");
}
@@ -168,19 +168,14 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
try {
text = m_provider.getPageText(pageName, version);
- } catch (RepositoryModifiedException e) {
- //
+ } catch (final RepositoryModifiedException e) {
// This only occurs with the latest version.
- //
LOG.info("Repository has been modified externally while fetching page " + pageName);
- //
// Empty the references and yay, it shall be recalculated
- //
- //WikiPage p = new WikiPage( pageName );
- WikiPage p = m_provider.getPageInfo(pageName, version);
+ final WikiPage p = m_provider.getPageInfo(pageName, version);
- m_engine.updateReferences(p);
+ m_engine.getReferenceManager().updateReferences( p );
if (p != null) {
m_engine.getSearchManager().reindexPage(p);
@@ -189,7 +184,7 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
//
// Make sure that it no longer exists in internal data structures either.
//
- WikiPage dummy = new WikiPage(m_engine, pageName);
+ final WikiPage dummy = new WikiPage(m_engine, pageName);
m_engine.getSearchManager().pageRemoved(dummy);
m_engine.getReferenceManager().pageRemoved(dummy);
}
@@ -294,38 +289,26 @@ public class DefaultPageManager extends ModuleManager implements PageManager {
* @see org.apache.wiki.pages.PageManager#getPageInfo(java.lang.String, int)
*/
@Override
- public WikiPage getPageInfo(String pageName, int version) throws ProviderException {
+ public WikiPage getPageInfo( final String pageName, final int version) throws ProviderException {
if (pageName == null || pageName.length() == 0) {
throw new ProviderException("Illegal page name '" + pageName + "'");
}
- WikiPage page = null;
+ WikiPage page;
try {
page = m_provider.getPageInfo(pageName, version);
- } catch (RepositoryModifiedException e) {
- //
+ } catch ( final RepositoryModifiedException e) {
// This only occurs with the latest version.
- //
LOG.info("Repository has been modified externally while fetching info for " + pageName);
page = m_provider.getPageInfo(pageName, version);
if (page != null) {
- m_engine.updateReferences(page);
+ m_engine.getReferenceManager().updateReferences(page);
} else {
m_engine.getReferenceManager().pageRemoved(new WikiPage(m_engine, pageName));
}
}
- //
- // Should update the metadata.
- //
- /*
- if( page != null && !page.hasMetadata() )
- {
- WikiContext ctx = new WikiContext(m_engine,page);
- m_engine.textToHTML( ctx, getPageText(pageName,version) );
- }
- */
return page;
}
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java
index 71afe02..80d7e6a 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java
@@ -12,37 +12,31 @@
* limitations under the License.
*/
package org.apache.wiki;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
+import net.sf.ehcache.CacheManager;
import org.apache.wiki.api.exceptions.WikiException;
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 net.sf.ehcache.CacheManager;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
/**
* The ReferenceManager maintains all hyperlinks between wiki pages.
*/
-public class ReferenceManagerTest
-{
+public class ReferenceManagerTest {
+
Properties props = TestEngine.getTestProperties();
TestEngine engine;
ReferenceManager mgr;
@BeforeEach
- public void setUp()
- throws Exception
- {
+ public void setUp() throws Exception {
props.setProperty( "jspwiki.translatorReader.matchEnglishPlurals", "true");
- // make sure that the reference manager cache is cleaned first
- TestEngine.emptyWorkDir(null);
-
engine = new TestEngine(props);
// create two handy wiki pages used in most test cases
@@ -54,53 +48,42 @@ public class ReferenceManagerTest
}
@AfterEach
- public void tearDown()
- throws Exception
- {
+ public void tearDown() {
// any wiki page that was created must be deleted!
TestEngine.emptyWikiDir();
- // jspwiki always uses a singleton CacheManager, so
- // clear the cache at the end of every test case to avoid
- // polluting another test case
+ // jspwiki always uses a singleton CacheManager, so clear the cache at the end of every test case to avoid polluting another test case
CacheManager.getInstance().removeAllCaches();
+
+ // make sure that the reference manager cache is cleaned
+ TestEngine.emptyWorkDir(null);
}
@Test
- public void testNonExistant1()
- throws Exception
- {
- Collection< String > c = mgr.findReferrers("Foobar2");
+ public void testNonExistant1() {
+ final Collection< String > c = mgr.findReferrers("Foobar2");
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertTrue( c.size() == 1 && c.contains("Foobar") );
}
@Test
- public void testNonExistant2()
- {
- Collection< String > c = mgr.findReferrers("TestBug");
-
+ public void testNonExistant2() {
+ final Collection< String > c = mgr.findReferrers("TestBug");
Assertions.assertNull( c );
}
@Test
- public void testRemove()
- throws Exception
- {
+ public void testRemove() throws Exception {
Collection< String > c = mgr.findReferrers("Foobar2");
-
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertTrue( c.size() == 1 && c.contains("Foobar") );
engine.deletePage( "Foobar" );
-
c = mgr.findReferrers("Foobar2");
-
Assertions.assertNull( c );
engine.saveText( "Foobar", "[Foobar2]");
-
c = mgr.findReferrers("Foobar2");
Assertions.assertNotNull( c, "referrers expected" );
@@ -108,18 +91,14 @@ public class ReferenceManagerTest
}
@Test
- public void testUnreferenced()
- throws Exception
- {
- Collection< String > c = mgr.findUnreferenced();
+ public void testUnreferenced() {
+ final Collection< String > c = mgr.findUnreferenced();
Assertions.assertTrue( Util.collectionContains( c, "TestPage" ), "Unreferenced page not found by ReferenceManager" );
}
@Test
- public void testBecomesUnreferenced()
- throws Exception
- {
+ public void testBecomesUnreferenced() throws Exception {
engine.saveText( "Foobar2", "[TestPage]" );
Collection< String > c = mgr.findUnreferenced();
@@ -129,65 +108,52 @@ public class ReferenceManagerTest
c = mgr.findUnreferenced();
Assertions.assertEquals( 1, c.size(), "Wrong # of orphan pages" );
- Iterator< String > i = c.iterator();
- String first = i.next();
+ final Iterator< String > i = c.iterator();
+ final String first = i.next();
Assertions.assertEquals( "TestPage", first, "Not correct referrers" );
}
@Test
- public void testUncreated()
- throws Exception
- {
- Collection< String > c = mgr.findUncreated();
-
- Assertions.assertTrue( c.size()==1 && ((String) c.iterator().next()).equals("Foobar2") );
+ public void testUncreated() {
+ final Collection< String > c = mgr.findUncreated();
+ Assertions.assertTrue( c.size()==1 && ( c.iterator().next() ).equals("Foobar2") );
}
@Test
- public void testReferrers()
- throws Exception
- {
+ public void testReferrers() {
Collection< String > c = mgr.findReferrers( "TestPage" );
Assertions.assertNull( c, "TestPage referrers" );
c = mgr.findReferrers( "Foobar" );
Assertions.assertNotNull( c, "referrers expected" );
- Assertions.assertTrue( c.size()==2, "Foobar referrers" );
+ Assertions.assertEquals( 2, c.size(), "Foobar referrers" );
c = mgr.findReferrers( "Foobar2" );
Assertions.assertNotNull( c, "referrers expected" );
- Assertions.assertTrue( c.size()==1 && ((String) c.iterator().next()).equals("Foobar"), "Foobar2 referrers" );
+ Assertions.assertTrue( c.size() == 1 && ( c.iterator().next() ).equals("Foobar"), "Foobar2 referrers" );
c = mgr.findReferrers( "Foobars" );
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertEquals( 2, c.size(), "Foobars referrers" );
- //Assertions.assertEquals( "Foobars referrer 'TestPage'", "TestPage", (String) c.iterator().next() );
}
@Test
- public void testRefersTo()
- throws Exception
- {
- Collection< String > s = mgr.findRefersTo( "Foobar" );
+ public void testRefersTo() {
+ final Collection< String > s = mgr.findRefersTo( "Foobar" );
Assertions.assertTrue( s.contains("Foobar"), "does not have Foobar" );
- // Assertions.assertTrue( "does not have Foobars", s.contains("Foobars") );
Assertions.assertTrue( s.contains("Foobar2"), "does not have Foobar2" );
}
/**
* Should Assertions.fail in 2.2.14-beta
- * @throws Exception
*/
@Test
- public void testSingularReferences()
- throws Exception
- {
+ public void testSingularReferences() throws Exception {
engine.saveText( "RandomPage", "FatalBugs" );
engine.saveText( "FatalBugs", "<foo>" );
engine.saveText( "BugCommentPreviewDeletesAllComments", "FatalBug" );
-
- Collection< String > c = mgr.findReferrers( "FatalBugs" );
+ final Collection< String > c = mgr.findReferrers( "FatalBugs" );
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertEquals( 2, c.size(), "FatalBugs referrers number" );
@@ -201,42 +167,34 @@ public class ReferenceManagerTest
// a plural and a singular form of the page becomes nigh impossible, so we
// just don't do it.
@Test
- public void testUpdatePluralOnlyRef()
- throws Exception
- {
+ public void testUpdatePluralOnlyRef() throws Exception {
engine.saveText( "TestPage", "Reference to [Foobars]." );
Collection< String > c = mgr.findUnreferenced();
- Assertions.assertTrue( c.size()==1 && ((String) c.iterator().next()).equals("TestPage"), "Foobar unreferenced" );
+ Assertions.assertTrue( c.size()==1 && ( c.iterator().next() ).equals("TestPage"), "Foobar unreferenced" );
c = mgr.findReferrers( "Foobar" );
Assertions.assertNotNull( c, "referrers expected" );
- Assertions.assertTrue( c.size()==2, "Foobar referrers" );
+ Assertions.assertEquals( 2, c.size(), "Foobar referrers" );
}
/**
- * Opposite to testUpdatePluralOnlyRef(). Is a page with plural form recognized as
- * the page referenced by a singular link.
+ * Opposite to testUpdatePluralOnlyRef(). Is a page with plural form recognized as the page referenced by a singular link.
*/
-
@Test
- public void testUpdateFoobar2s()
- throws Exception
- {
+ public void testUpdateFoobar2s() throws Exception {
engine.saveText( "Foobar2s", "qwertz" );
- Assertions.assertTrue( mgr.findUncreated().size()==0, "no uncreated" );
+ Assertions.assertEquals( 0, mgr.findUncreated().size(), "no uncreated" );
- Collection< String > c = mgr.findReferrers( "Foobar2s" );
+ final Collection< String > c = mgr.findReferrers( "Foobar2s" );
Assertions.assertNotNull( c, "referrers expected" );
- Assertions.assertTrue( c!=null && c.size()==1 && ((String) c.iterator().next()).equals("Foobar"), "referrers" );
+ Assertions.assertTrue( c.size()==1 && ( c.iterator().next() ).equals("Foobar"), "referrers" );
}
@Test
- public void testUpdateBothExist()
- throws Exception
- {
+ public void testUpdateBothExist() throws Exception {
engine.saveText( "Foobars", "qwertz" );
- Collection< String > c = mgr.findReferrers( "Foobars" );
+ final Collection< String > c = mgr.findReferrers( "Foobars" );
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertEquals( 2, c.size(), "Foobars referrers" );
Assertions.assertTrue( c.contains( "TestPage" ) && c.contains("Foobar"), "Foobars referrer is not TestPage" );
@@ -249,30 +207,25 @@ public class ReferenceManagerTest
engine.saveText( "Foobars", "qwertz" );
engine.saveText( "TestPage", "Reference to [Foobar], [Foobars]." );
- Collection< String > c = mgr.findReferrers( "Foobars" );
+ final Collection< String > c = mgr.findReferrers( "Foobars" );
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertEquals( 2, c.size(), "Foobars referrers count" );
Assertions.assertTrue( c.contains("TestPage") && c.contains("Foobar"), "Foobars referrers" );
}
@Test
- public void testCircularRefs()
- throws Exception
- {
+ public void testCircularRefs() throws Exception {
engine.saveText( "Foobar2", "ref to [TestPage]" );
- Assertions.assertTrue( mgr.findUncreated().size()==0, "no uncreated" );
- Assertions.assertTrue( mgr.findUnreferenced().size()==0, "no unreferenced" );
+ Assertions.assertEquals( 0, mgr.findUncreated().size(), "no uncreated" );
+ Assertions.assertEquals( 0, mgr.findUnreferenced().size(), "no unreferenced" );
}
@Test
- public void testPluralSingularUpdate1()
- throws Exception
- {
+ public void testPluralSingularUpdate1() throws Exception {
engine.saveText( "BugOne", "NewBug" );
engine.saveText( "NewBugs", "foo" );
engine.saveText( "OpenBugs", "bar" );
-
engine.saveText( "BugOne", "OpenBug" );
Collection< String > ref = mgr.findReferrers( "NewBugs" );
@@ -294,9 +247,7 @@ public class ReferenceManagerTest
}
@Test
- public void testPluralSingularUpdate2()
- throws Exception
- {
+ public void testPluralSingularUpdate2() throws Exception {
engine.saveText( "BugOne", "NewBug" );
engine.saveText( "NewBug", "foo" );
engine.saveText( "OpenBug", "bar" );
@@ -322,14 +273,11 @@ public class ReferenceManagerTest
}
@Test
- public void testPluralSingularUpdate3()
- throws Exception
- {
+ public void testPluralSingularUpdate3() throws Exception {
engine.saveText( "BugOne", "NewBug" );
engine.saveText( "BugTwo", "NewBug" );
engine.saveText( "NewBugs", "foo" );
engine.saveText( "OpenBugs", "bar" );
-
engine.saveText( "BugOne", "OpenBug" );
Collection< String > ref = mgr.findReferrers( "NewBugs" );
@@ -351,43 +299,42 @@ public class ReferenceManagerTest
Assertions.assertNotNull( ref, "referrers expected" );
Assertions.assertEquals( 1,ref.size(), "openbug" );
Assertions.assertEquals( "BugOne",ref.iterator().next(), "openbug2" );
-
}
@Test
- public void testSelf() throws WikiException
- {
+ public void testSelf() throws WikiException {
engine.saveText( "BugOne", "BugOne" );
- Collection< String > ref = mgr.findReferrers( "BugOne" );
+ final Collection< String > ref = mgr.findReferrers( "BugOne" );
Assertions.assertNotNull( ref, "referrers expected" );
Assertions.assertEquals( 1, ref.size(), "wrong size" );
Assertions.assertEquals( "BugOne", ref.iterator().next(), "ref");
}
+ @Test
+ public void testReadLinks() {
+ final String src="Foobar. [Foobar]. Frobozz. [This is a link].";
+ final Object[] result = mgr.scanWikiLinks( new WikiPage( engine, "Test"), src ).toArray();
+
+ Assertions.assertEquals( "Foobar", result[0], "item 0" );
+ Assertions.assertEquals( "This is a link", result[1], "item 1" );
+ }
+
/**
* Test method: dumps the contents of ReferenceManager link lists to stdout.
* This method is NOT synchronized, and should be used in testing
* with one user, one WikiEngine only.
*/
- public static String dumpReferenceManager( ReferenceManager rm )
- {
- StringBuilder buf = new StringBuilder();
- try
- {
+ public static String dumpReferenceManager( final ReferenceManager rm ) {
+ final StringBuilder buf = new StringBuilder();
+ try {
buf.append( "================================================================\n" );
buf.append( "Referred By list:\n" );
Set< String > keys = rm.getReferredBy().keySet();
- Iterator< String > it = keys.iterator();
- while( it.hasNext() )
- {
- String key = it.next();
- buf.append( key + " referred by: " );
- Set< String > refs = rm.getReferredBy().get( key );
- Iterator< String > rit = refs.iterator();
- while( rit.hasNext() )
- {
- String aRef = rit.next();
- buf.append( aRef + " " );
+ for( final String key : keys ) {
+ buf.append( key ).append( " referred by: " );
+ final Set< String > refs = rm.getReferredBy().get( key );
+ for( final String aRef : refs ) {
+ buf.append( aRef ).append( " " );
}
buf.append( "\n" );
}
@@ -396,19 +343,12 @@ public class ReferenceManagerTest
buf.append( "----------------------------------------------------------------\n" );
buf.append( "Refers To list:\n" );
keys = rm.getRefersTo().keySet();
- it = keys.iterator();
- while( it.hasNext() )
- {
- String key = (String) it.next();
- buf.append( key + " refers to: " );
- Collection< String > refs = rm.getRefersTo().get( key );
- if(refs != null)
- {
- Iterator< String > rit = refs.iterator();
- while( rit.hasNext() )
- {
- String aRef = rit.next();
- buf.append( aRef + " " );
+ for( final String key : keys ) {
+ buf.append( key ).append( " refers to: " );
+ final Collection< String > refs = rm.getRefersTo().get( key );
+ if(refs != null) {
+ for( final String aRef : refs ) {
+ buf.append( aRef ).append( " " );
}
buf.append( "\n" );
} else {
@@ -416,10 +356,8 @@ public class ReferenceManagerTest
}
}
buf.append( "================================================================\n" );
- }
- catch(Exception e)
- {
- buf.append("Problem in dump(): " + e + "\n" );
+ } catch( final Exception e ) {
+ buf.append("Problem in dump(): " ).append( e ).append( "\n" );
}
return( buf.toString() );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java b/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java
index aa6ab6b..6f7f9c8 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java
@@ -226,18 +226,6 @@ public class WikiEngineTest
}
@Test
- public void testReadLinks()
- throws Exception
- {
- String src="Foobar. [Foobar]. Frobozz. [This is a link].";
-
- Object[] result = m_engine.scanWikiLinks( new WikiPage(m_engine, "Test"), src ).toArray();
-
- Assertions.assertEquals( "Foobar", result[0], "item 0" );
- Assertions.assertEquals( "This is a link", result[1], "item 1" );
- }
-
- @Test
public void testBeautifyTitle()
{
String src = "WikiNameThingy";