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 2018/10/28 23:26:26 UTC
[jspwiki] 11/17: ReferenceManager#findReferrers returns Set< String
> instead of Collection< String > (not backward compatible)
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 ce2648e97171633dd7ec6bacaa8035a945d8c164
Author: juanpablo <ju...@apache.org>
AuthorDate: Sun Oct 28 21:44:28 2018 +0100
ReferenceManager#findReferrers returns Set< String > instead of Collection< String > (not backward compatible)
also, add generics to ReferenceManager wherever needed and propagate the change to remove unnecessary warnings
---
.../java/org/apache/wiki/ReferenceManager.java | 72 ++++++++++------------
.../java/org/apache/wiki/plugin/IndexPlugin.java | 19 ++----
.../apache/wiki/plugin/ReferringPagesPlugin.java | 4 +-
.../wiki/plugin/ReferringUndefinedPagesPlugin.java | 2 +-
.../java/org/apache/wiki/plugin/WeblogPlugin.java | 9 ++-
.../java/org/apache/wiki/search/SearchManager.java | 6 +-
.../java/org/apache/wiki/ReferenceManagerTest.java | 34 +++++-----
.../test/java/org/apache/wiki/WikiEngineTest.java | 12 ++--
.../java/org/apache/wiki/rss/RSSGeneratorTest.java | 17 ++---
9 files changed, 79 insertions(+), 96 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 0b9236c..9371f65 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
@@ -166,8 +166,8 @@ public class ReferenceManager
*/
public ReferenceManager( WikiEngine engine )
{
- m_refersTo = new HashMap<String,Collection<String>>();
- m_referredBy = new HashMap<String,Set<String>>();
+ m_refersTo = new HashMap<>();
+ m_referredBy = new HashMap<>();
m_engine = engine;
m_matchEnglishPlurals = TextUtil.getBooleanProperty( engine.getWikiProperties(),
@@ -193,11 +193,11 @@ public class ReferenceManager
Collection<String> links = m_engine.scanWikiLinks( page, content );
res.addAll( links );
- Collection attachments = m_engine.getAttachmentManager().listAttachments( page );
+ Collection< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page );
- for( Iterator atti = attachments.iterator(); atti.hasNext(); )
+ for( Iterator< Attachment > atti = attachments.iterator(); atti.hasNext(); )
{
- res.add( ((Attachment)(atti.next())).getName() );
+ res.add( atti.next().getName() );
}
internalUpdateReferences( page.getName(), res );
@@ -212,8 +212,7 @@ public class ReferenceManager
* @since 2.2
* @throws ProviderException If reading of pages fail.
*/
- public void initialize( Collection pages )
- throws ProviderException
+ public void initialize( Collection< WikiPage > pages ) throws ProviderException
{
log.debug( "Initializing new ReferenceManager with "+pages.size()+" initial pages." );
StopWatch sw = new StopWatch();
@@ -237,9 +236,9 @@ public class ReferenceManager
//
long saved = unserializeFromDisk();
- for( Iterator it = pages.iterator(); it.hasNext(); )
+ for( Iterator< WikiPage > it = pages.iterator(); it.hasNext(); )
{
- WikiPage page = (WikiPage) it.next();
+ WikiPage page = it.next();
unserializeAttrsFromDisk( page );
}
@@ -250,11 +249,11 @@ public class ReferenceManager
// the references for them.
//
- Iterator it = pages.iterator();
+ Iterator< WikiPage > it = pages.iterator();
while( it.hasNext() )
{
- WikiPage page = (WikiPage) it.next();
+ WikiPage page = it.next();
if( page instanceof Attachment )
{
@@ -284,10 +283,10 @@ public class ReferenceManager
buildKeyLists( pages );
// Scan the existing pages from disk and update references in the manager.
- Iterator it = pages.iterator();
+ Iterator< WikiPage > it = pages.iterator();
while( it.hasNext() )
{
- WikiPage page = (WikiPage)it.next();
+ WikiPage page = it.next();
if( page instanceof Attachment )
{
@@ -309,8 +308,7 @@ public class ReferenceManager
sw.stop();
log.info( "Cross reference scan done in "+sw );
- WikiEventUtils.addWikiEventListener(m_engine.getPageManager(),
- WikiPageEvent.PAGE_DELETED, this);
+ WikiEventUtils.addWikiEventListener(m_engine.getPageManager(), WikiPageEvent.PAGE_DELETED, this);
}
/**
@@ -342,8 +340,8 @@ public class ReferenceManager
}
saved = in.readLong();
- m_refersTo = (Map) in.readObject();
- m_referredBy = (Map) in.readObject();
+ m_refersTo = ( Map< String, Collection< String > > ) in.readObject();
+ m_referredBy = ( Map< String, Set< String > > ) in.readObject();
in.close();
@@ -615,10 +613,10 @@ public class ReferenceManager
if( refTo != null )
{
- Iterator itRefTo = refTo.iterator();
+ Iterator< String > itRefTo = refTo.iterator();
while( itRefTo.hasNext() )
{
- String referredPageName = (String)itRefTo.next();
+ String referredPageName = itRefTo.next();
Set<String> refBy = m_referredBy.get( referredPageName );
if( refBy == null )
@@ -702,7 +700,7 @@ public class ReferenceManager
//
// Create a new entry in m_refersTo.
//
- Collection oldRefTo = m_refersTo.get( page );
+ Collection< String > oldRefTo = m_refersTo.get( page );
m_refersTo.remove( page );
TreeSet<String> cleanedRefs = new TreeSet<String>();
@@ -750,7 +748,7 @@ public class ReferenceManager
*
* @return The refers-to list.
*/
- protected Map getRefersTo()
+ protected Map< String, Collection< String > > getRefersTo()
{
return m_refersTo;
}
@@ -760,7 +758,7 @@ public class ReferenceManager
*
* @return Referred-by lists.
*/
- protected Map getReferredBy()
+ protected Map< String, Set< String > > getReferredBy()
{
return m_referredBy;
}
@@ -770,7 +768,7 @@ public class ReferenceManager
* any other page. Called after 'referrer' is removed.
*/
private void cleanReferredBy( String referrer,
- Collection oldReferred,
+ Collection<String> oldReferred,
Collection<String> newReferred )
{
// Two ways to go about this. One is to look up all pages previously
@@ -784,11 +782,11 @@ public class ReferenceManager
if( oldReferred == null )
return;
- Iterator it = oldReferred.iterator();
+ Iterator< String > it = oldReferred.iterator();
while( it.hasNext() )
{
- String referredPage = (String)it.next();
- Set oldRefBy = m_referredBy.get( referredPage );
+ String referredPage = it.next();
+ Set< String > oldRefBy = m_referredBy.get( referredPage );
if( oldRefBy != null )
{
oldRefBy.remove( referrer );
@@ -818,7 +816,7 @@ public class ReferenceManager
*
* @param pages a Collection containing WikiPage objects.
*/
- private synchronized void buildKeyLists( Collection pages )
+ private synchronized void buildKeyLists( Collection< WikiPage > pages )
{
m_refersTo.clear();
m_referredBy.clear();
@@ -826,12 +824,12 @@ public class ReferenceManager
if( pages == null )
return;
- Iterator it = pages.iterator();
+ Iterator< WikiPage > it = pages.iterator();
try
{
while( it.hasNext() )
{
- WikiPage page = (WikiPage)it.next();
+ WikiPage page = it.next();
// We add a non-null entry to referredBy to indicate the referred page exists
m_referredBy.put( page.getName(), new TreeSet<String>() );
// Just add a key to refersTo; the keys need to be in sync with referredBy.
@@ -926,7 +924,7 @@ public class ReferenceManager
*
* @return The Collection of Strings
*/
- public synchronized Collection findUnreferenced()
+ public synchronized Collection< String > findUnreferenced()
{
ArrayList<String> unref = new ArrayList<String>();
@@ -956,7 +954,7 @@ public class ReferenceManager
*
* @return A Collection of Strings
*/
- public synchronized Collection findUncreated()
+ public synchronized Collection< String > findUncreated()
{
TreeSet<String> uncreated = new TreeSet<String>();
@@ -1028,12 +1026,10 @@ public class ReferenceManager
* collection containing page names (String) that refer to this one.
* <p>
* @param pagename The page to find referrers for.
- * @return A Collection of Strings. (This is, in fact, a Set, and is likely
- * to change at some point to a Set). May return null, if the page
+ * @return A Set of Strings. May return null, if the page
* does not exist, or if it has no references.
*/
- // FIXME: Return a Set instead of a Collection.
- public synchronized Collection findReferrers( String pagename )
+ public synchronized Set< String > findReferrers( String pagename )
{
Set<String> refs = getReferenceList( m_referredBy, pagename );
@@ -1062,7 +1058,7 @@ public class ReferenceManager
* has not been indexed yet.
* @since 2.2.33
*/
- public Set findReferredBy( String pageName )
+ public Set< String > findReferredBy( String pageName )
{
return m_unmutableReferredBy.get( getFinalPageName(pageName) );
}
@@ -1085,7 +1081,7 @@ public class ReferenceManager
* been indexed yet.
* @since 2.2.33
*/
- public Collection findRefersTo( String pageName )
+ public Collection< String > findRefersTo( String pageName )
{
return m_unmutableRefersTo.get( getFinalPageName(pageName) );
}
@@ -1140,7 +1136,7 @@ public class ReferenceManager
* @return A Set of all defined page names that ReferenceManager knows about.
* @since 2.3.24
*/
- public Set findCreated()
+ public Set< String > findCreated()
{
return new HashSet<String>( m_refersTo.keySet() );
}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IndexPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IndexPlugin.java
index 4c1128b..3b03fe8 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/IndexPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/IndexPlugin.java
@@ -139,20 +139,13 @@ public class IndexPlugin extends AbstractReferralPlugin implements WikiPlugin
* @return A list containing page names which matched the filters.
* @throws ProviderException
*/
- private List<String> listPages( WikiContext context, String include, String exclude )
- throws ProviderException
- {
- Pattern includePtrn = include != null
- ? Pattern.compile( include )
- : Pattern.compile(".*");
- Pattern excludePtrn = exclude != null
- ? Pattern.compile( exclude )
- : Pattern.compile("\\p{Cntrl}"); // there are no control characters in page names
- List<String> result = new ArrayList<String>();
- @SuppressWarnings("unchecked")
- Collection<String> pages = (Collection<String>)context.getEngine().getReferenceManager().findCreated();
+ private List<String> listPages( WikiContext context, String include, String exclude ) throws ProviderException {
+ Pattern includePtrn = include != null ? Pattern.compile( include ) : Pattern.compile(".*");
+ Pattern excludePtrn = exclude != null ? Pattern.compile( exclude ) : Pattern.compile("\\p{Cntrl}"); // there are no control characters in page names
+ List<String> result = new ArrayList<>();
+ Collection<String> pages = context.getEngine().getReferenceManager().findCreated();
for ( Iterator<String> i = pages.iterator(); i.hasNext(); ) {
- String pageName = (String) i.next();
+ String pageName = i.next();
if ( excludePtrn.matcher( pageName ).matches() ) continue;
if ( includePtrn.matcher( pageName ).matches() ) {
result.add( pageName );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringPagesPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringPagesPlugin.java
index 3123c4c..e1ed0dc 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringPagesPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringPagesPlugin.java
@@ -88,8 +88,8 @@ public class ReferringPagesPlugin
if( page != null )
{
- Collection links = refmgr.findReferrers( page.getName() );
- String wikitext = "";
+ Collection< String > links = refmgr.findReferrers( page.getName() );
+ String wikitext = "";
super.initialize( context, params );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringUndefinedPagesPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringUndefinedPagesPlugin.java
index 77287bc..f56aee4 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringUndefinedPagesPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/ReferringUndefinedPagesPlugin.java
@@ -71,7 +71,7 @@ public class ReferringUndefinedPagesPlugin extends AbstractReferralPlugin {
Collection<String> result = null;
- TreeMap sortedMap = new TreeMap();
+ TreeMap< String, String > sortedMap = new TreeMap<>();
if (uncreatedPages != null) {
for (String uncreatedPageName : uncreatedPages) {
Collection<String> referrers = referenceManager.findReferrers(uncreatedPageName);
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogPlugin.java
index 5d4c9de..f6c9931 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/WeblogPlugin.java
@@ -435,20 +435,19 @@ public class WeblogPlugin
* @return a list of pages with their FIRST revisions.
* @throws ProviderException If something goes wrong
*/
- public List findBlogEntries( WikiEngine engine,
- String baseName, Date start, Date end )
+ public List< WikiPage > findBlogEntries( WikiEngine engine, String baseName, Date start, Date end )
throws ProviderException
{
PageManager mgr = engine.getPageManager();
- Set allPages = engine.getReferenceManager().findCreated();
+ Set< String > allPages = engine.getReferenceManager().findCreated();
ArrayList<WikiPage> result = new ArrayList<WikiPage>();
baseName = makeEntryPage( baseName );
- for( Iterator i = allPages.iterator(); i.hasNext(); )
+ for( Iterator< String > i = allPages.iterator(); i.hasNext(); )
{
- String pageName = (String)i.next();
+ String pageName = i.next();
if( pageName.startsWith( baseName ) )
{
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
index 6b6ed99..a638907 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
@@ -185,12 +185,12 @@ public class SearchManager extends BasicPageFilter implements InternalModule, Wi
String oldStyleName = MarkupParser.wikifyLink(wikiName).toLowerCase() + filename;
- Set allPages = m_engine.getReferenceManager().findCreated();
+ Set< String > allPages = m_engine.getReferenceManager().findCreated();
int counter = 0;
- for( Iterator i = allPages.iterator(); i.hasNext() && counter < maxLength; )
+ for( Iterator< String > i = allPages.iterator(); i.hasNext() && counter < maxLength; )
{
- String p = (String) i.next();
+ String p = i.next();
String pp = p.toLowerCase();
if( pp.startsWith( cleanWikiName) || pp.startsWith( oldStyleName ) )
{
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 3fde3ee..71afe02 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/ReferenceManagerTest.java
@@ -129,8 +129,8 @@ public class ReferenceManagerTest
c = mgr.findUnreferenced();
Assertions.assertEquals( 1, c.size(), "Wrong # of orphan pages" );
- Iterator i = c.iterator();
- String first = (String) i.next();
+ Iterator< String > i = c.iterator();
+ String first = i.next();
Assertions.assertEquals( "TestPage", first, "Not correct referrers" );
}
@@ -168,7 +168,7 @@ public class ReferenceManagerTest
public void testRefersTo()
throws Exception
{
- Collection s = mgr.findRefersTo( "Foobar" );
+ Collection< String > s = mgr.findRefersTo( "Foobar" );
Assertions.assertTrue( s.contains("Foobar"), "does not have Foobar" );
// Assertions.assertTrue( "does not have Foobars", s.contains("Foobars") );
@@ -210,8 +210,6 @@ public class ReferenceManagerTest
c = mgr.findReferrers( "Foobar" );
Assertions.assertNotNull( c, "referrers expected" );
- Iterator it = c.iterator();
- String s1 = (String)it.next();
Assertions.assertTrue( c.size()==2, "Foobar referrers" );
}
@@ -254,10 +252,6 @@ public class ReferenceManagerTest
Collection< String > c = mgr.findReferrers( "Foobars" );
Assertions.assertNotNull( c, "referrers expected" );
Assertions.assertEquals( 2, c.size(), "Foobars referrers count" );
-
- Iterator< String > i = c.iterator();
- String first = i.next();
-
Assertions.assertTrue( c.contains("TestPage") && c.contains("Foobar"), "Foobars referrers" );
}
@@ -382,17 +376,17 @@ public class ReferenceManagerTest
{
buf.append( "================================================================\n" );
buf.append( "Referred By list:\n" );
- Set keys = rm.getReferredBy().keySet();
- Iterator it = keys.iterator();
+ Set< String > keys = rm.getReferredBy().keySet();
+ Iterator< String > it = keys.iterator();
while( it.hasNext() )
{
- String key = (String) it.next();
+ String key = it.next();
buf.append( key + " referred by: " );
- Set refs = (Set)rm.getReferredBy().get( key );
- Iterator rit = refs.iterator();
+ Set< String > refs = rm.getReferredBy().get( key );
+ Iterator< String > rit = refs.iterator();
while( rit.hasNext() )
{
- String aRef = (String)rit.next();
+ String aRef = rit.next();
buf.append( aRef + " " );
}
buf.append( "\n" );
@@ -407,19 +401,19 @@ public class ReferenceManagerTest
{
String key = (String) it.next();
buf.append( key + " refers to: " );
- Collection refs = (Collection)rm.getRefersTo().get( key );
+ Collection< String > refs = rm.getRefersTo().get( key );
if(refs != null)
{
- Iterator rit = refs.iterator();
+ Iterator< String > rit = refs.iterator();
while( rit.hasNext() )
{
- String aRef = (String)rit.next();
+ String aRef = rit.next();
buf.append( aRef + " " );
}
buf.append( "\n" );
- }
- else
+ } else {
buf.append("(no references)\n");
+ }
}
buf.append( "================================================================\n" );
}
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 906caa7..b3b6bfb 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/WikiEngineTest.java
@@ -403,7 +403,7 @@ public class WikiEngineTest
try
{
// and check post-conditions
- Collection c = refMgr.findUncreated();
+ Collection< String > c = refMgr.findUncreated();
Assertions.assertTrue( c==null || c.size()==0, "attachment exists: "+c );
c = refMgr.findUnreferenced();
@@ -453,7 +453,7 @@ public class WikiEngineTest
// check a few pre-conditions
- Collection c = refMgr.findReferrers( "TestAtt.txt" );
+ Collection< String > c = refMgr.findReferrers( "TestAtt.txt" );
Assertions.assertTrue( c!=null && ((String)c.iterator().next()).equals( NAME1 ), "normal, unexisting page" );
c = refMgr.findReferrers( NAME1+"/TestAtt.txt" );
@@ -511,7 +511,7 @@ public class WikiEngineTest
try
{
// and check post-conditions
- Collection c = refMgr.findUncreated();
+ Collection< String > c = refMgr.findUncreated();
Assertions.assertTrue( c==null || c.size()==0, "attachment exists" );
c = refMgr.findUnreferenced();
@@ -547,7 +547,7 @@ public class WikiEngineTest
try
{
// and check post-conditions
- Collection c = refMgr.findUncreated();
+ Collection< String > c = refMgr.findUncreated();
Assertions.assertTrue( c==null || c.size()==0, "attachment exists" );
c = refMgr.findUnreferenced();
@@ -646,7 +646,7 @@ public class WikiEngineTest
Assertions.assertNull( m_engine.getPage(NAME1), "Page not removed" );
Assertions.assertNull( m_engine.getPage(NAME1+"/TestAtt.txt"), "Att not removed" );
- Collection refs = m_engine.getReferenceManager().findReferrers(NAME1);
+ Collection< String > refs = m_engine.getReferenceManager().findReferrers(NAME1);
Assertions.assertNull( refs, "referrers" );
}
@@ -759,7 +759,7 @@ public class WikiEngineTest
m_engine.saveText( "RenameBugTestPage", "Mary had a little generic object" );
m_engine.saveText( "OldNameTestPage", "Linked to RenameBugTestPage" );
- Collection pages = m_engine.getReferenceManager().findReferrers( "RenameBugTestPage" );
+ Collection< String > pages = m_engine.getReferenceManager().findReferrers( "RenameBugTestPage" );
Assertions.assertEquals( "OldNameTestPage", pages.iterator().next(), "has one" );
WikiContext ctx = new WikiContext( m_engine, m_engine.getPage("OldNameTestPage") );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java b/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
index 46fa453..aa58605 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
@@ -29,6 +29,7 @@ import java.util.Properties;
import org.apache.wiki.TestEngine;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.WikiPage;
import org.apache.wiki.plugin.WeblogEntryPlugin;
import org.apache.wiki.plugin.WeblogPlugin;
import org.apache.wiki.providers.FileSystemProvider;
@@ -82,10 +83,10 @@ public class RSSGeneratorTest
WeblogPlugin blogplugin = new WeblogPlugin();
- List< ? > entries = blogplugin.findBlogEntries( m_testEngine,
- "TestBlog",
- new Date(0),
- new Date(Long.MAX_VALUE) );
+ List< WikiPage > entries = blogplugin.findBlogEntries( m_testEngine,
+ "TestBlog",
+ new Date(0),
+ new Date(Long.MAX_VALUE) );
Feed feed = new RSS10Feed( context );
String blog = gen.generateBlogRSS( context, entries, feed );
@@ -113,10 +114,10 @@ public class RSSGeneratorTest
WeblogPlugin blogplugin = new WeblogPlugin();
- List< ? > entries = blogplugin.findBlogEntries( m_testEngine,
- "TestBlog",
- new Date(0),
- new Date(Long.MAX_VALUE) );
+ List< WikiPage > entries = blogplugin.findBlogEntries( m_testEngine,
+ "TestBlog",
+ new Date(0),
+ new Date(Long.MAX_VALUE) );
Feed feed = new RSS20Feed( context );
String blog = gen.generateBlogRSS( context, entries, feed );