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:31 UTC
[jspwiki] 16/17: AttachmentManager#listAttachments now returns a
List instead of a Collection (breaking backwards-compatible
change)
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 37761217837f2a67b2440f5d1e9c027a858198ea
Author: juanpablo <ju...@apache.org>
AuthorDate: Sun Oct 28 22:56:03 2018 +0100
AttachmentManager#listAttachments now returns a List<Attachment> instead of a Collection (breaking backwards-compatible change)
---
.../main/java/org/apache/wiki/ReferenceManager.java | 3 ++-
.../src/main/java/org/apache/wiki/WikiEngine.java | 6 +++---
.../apache/wiki/attachment/AttachmentManager.java | 20 ++++----------------
.../java/org/apache/wiki/content/PageRenamer.java | 7 +++----
.../wiki/providers/BasicAttachmentProvider.java | 4 ++--
.../wiki/providers/CachingAttachmentProvider.java | 17 +++++++++--------
.../wiki/providers/WikiAttachmentProvider.java | 2 +-
.../src/main/java/org/apache/wiki/rss/AtomFeed.java | 15 ++++++++-------
.../src/main/java/org/apache/wiki/rss/RSS20Feed.java | 6 +++---
.../org/apache/wiki/search/BasicSearchProvider.java | 10 ++++++----
.../org/apache/wiki/search/LuceneSearchProvider.java | 7 ++++---
.../org/apache/wiki/tags/AttachmentsIteratorTag.java | 8 ++++----
.../wiki/attachment/AttachmentManagerTest.java | 4 ++--
13 files changed, 51 insertions(+), 58 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 9371f65..12be34e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ReferenceManager.java
@@ -37,6 +37,7 @@ import java.util.ConcurrentModificationException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@@ -193,7 +194,7 @@ public class ReferenceManager
Collection<String> links = m_engine.scanWikiLinks( page, content );
res.addAll( links );
- Collection< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page );
+ List< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page );
for( Iterator< Attachment > atti = attachments.iterator(); atti.hasNext(); )
{
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 213c26f..4c19788 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java
@@ -2182,10 +2182,10 @@ public class WikiEngine
if (m_attachmentManager.hasAttachments( p ))
{
- Collection attachments = m_attachmentManager.listAttachments( p );
- for( Iterator atti = attachments.iterator(); atti.hasNext(); )
+ List< Attachment > attachments = m_attachmentManager.listAttachments( p );
+ for( Iterator< Attachment > atti = attachments.iterator(); atti.hasNext(); )
{
- Attachment attachment = (Attachment)atti.next();
+ Attachment attachment = atti.next();
refTo.remove(attachment.getName());
m_attachmentManager.deleteAttachment( attachment );
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 2c7719a..48d10c5 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
@@ -360,26 +360,14 @@ public class AttachmentManager
* @return a valid collection of attachments.
* @throws ProviderException If there was something wrong in the backend.
*/
-
- // FIXME: This API should be changed to return a List.
- @SuppressWarnings("unchecked")
- public Collection listAttachments( WikiPage wikipage )
- throws ProviderException
- {
+ public List< Attachment > listAttachments( WikiPage wikipage ) throws ProviderException {
if( m_provider == null )
{
- return new ArrayList();
+ return new ArrayList<>();
}
- Collection atts = m_provider.listAttachments( wikipage );
-
- //
- // This is just a sanity check; all of our providers return a Collection.
- //
- if( atts instanceof List )
- {
- m_engine.getPageSorter().sortPages( (List) atts );
- }
+ List< Attachment >atts = m_provider.listAttachments( wikipage );
+ m_engine.getPageSorter().sortPages( (List) atts );
return atts;
}
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 22df9e0..ad91697 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
@@ -19,6 +19,7 @@
package org.apache.wiki.content;
import java.util.Collection;
+import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
@@ -125,8 +126,7 @@ public class PageRenamer
//
// Remove references to attachments under old name
- @SuppressWarnings( "unchecked" )
- Collection<Attachment> attachmentsOldName = engine.getAttachmentManager().listAttachments( fromPage );
+ List<Attachment> attachmentsOldName = engine.getAttachmentManager().listAttachments( fromPage );
for (Attachment att:attachmentsOldName)
{
WikiPage fromAttPage = engine.getPage( att.getName() );
@@ -256,8 +256,7 @@ public class PageRenamer
try
{
- @SuppressWarnings( "unchecked" )
- Collection<Attachment> attachments = engine.getAttachmentManager().listAttachments( fromPage );
+ List<Attachment> attachments = engine.getAttachmentManager().listAttachments( fromPage );
for( Attachment att : attachments )
{
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
index 10b3f87..b3382a6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
@@ -452,10 +452,10 @@ public class BasicAttachmentProvider
/**
* {@inheritDoc}
*/
- public Collection listAttachments( WikiPage page )
+ public List< Attachment > listAttachments( WikiPage page )
throws ProviderException
{
- Collection<Attachment> result = new ArrayList<Attachment>();
+ List<Attachment> result = new ArrayList<Attachment>();
File dir = findPageDir( page.getName() );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
index 491975d..12e0ac7 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/CachingAttachmentProvider.java
@@ -167,13 +167,13 @@ public class CachingAttachmentProvider
/**
* {@inheritDoc}
*/
- public Collection listAttachments(WikiPage page) throws ProviderException {
+ public List< Attachment > listAttachments(WikiPage page) throws ProviderException {
log.debug("Listing attachments for " + page);
- Collection<Attachment> c = null;
+ List<Attachment> c = null;
Element element = m_cache.get(page.getName());
if (element != null) {
- c = (Collection<Attachment>) element.getObjectValue();
+ c = (List<Attachment>) element.getObjectValue();
log.debug("LIST from cache, " + page.getName() + ", size=" + c.size());
return cloneCollection(c);
}
@@ -183,9 +183,9 @@ public class CachingAttachmentProvider
return refresh(page);
}
- private <T> Collection<T> cloneCollection( Collection<T> c )
+ private <T> List<T> cloneCollection( Collection<T> c )
{
- ArrayList<T> list = new ArrayList<T>();
+ ArrayList<T> list = new ArrayList<>();
list.addAll( c );
@@ -255,9 +255,9 @@ public class CachingAttachmentProvider
*
* @return The newly fetched object from the provider.
*/
- private Collection<Attachment> refresh( WikiPage page ) throws ProviderException
+ private List<Attachment> refresh( WikiPage page ) throws ProviderException
{
- Collection<Attachment> c = m_provider.listAttachments( page );
+ List<Attachment> c = m_provider.listAttachments( page );
m_cache.put(new Element(page.getName(), c));
return c;
@@ -361,7 +361,8 @@ public class CachingAttachmentProvider
//
String checkName = oldParent + "/";
- Collection< String > names = m_cache.getKeysWithExpiryCheck();
+ @SuppressWarnings("unchecked")
+ List< String > names = m_cache.getKeysWithExpiryCheck();
for( String name : names )
{
if( name.startsWith( checkName ) )
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
index 9630b69..91195b6 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/providers/WikiAttachmentProvider.java
@@ -78,7 +78,7 @@ public interface WikiAttachmentProvider
* @throws ProviderException If something goes wrong when listing the attachments.
*/
- Collection listAttachments( WikiPage page )
+ List< Attachment > listAttachments( WikiPage page )
throws ProviderException;
/**
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
index feb5fe9..72b6866 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java
@@ -24,20 +24,21 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import javax.servlet.ServletContext;
import org.apache.commons.lang.time.DateFormatUtils;
-import org.jdom2.Element;
-import org.jdom2.Namespace;
-import org.jdom2.output.Format;
-import org.jdom2.output.XMLOutputter;
import org.apache.wiki.Release;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
import org.apache.wiki.api.exceptions.ProviderException;
import org.apache.wiki.attachment.Attachment;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
/**
* Provides an Atom 1.0 standard feed, with enclosures.
@@ -120,11 +121,11 @@ public class AtomFeed extends Feed
{
try
{
- Collection c = engine.getAttachmentManager().listAttachments(p);
+ List< Attachment > c = engine.getAttachmentManager().listAttachments(p);
- for( Iterator a = c.iterator(); a.hasNext(); )
+ for( Iterator< Attachment > a = c.iterator(); a.hasNext(); )
{
- Attachment att = (Attachment) a.next();
+ Attachment att = a.next();
Element attEl = getElement("link");
attEl.setAttribute( "rel","enclosure" );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java
index 0da6e65..f6f66ee 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java
@@ -87,11 +87,11 @@ public class RSS20Feed extends Feed
{
try
{
- Collection c = engine.getAttachmentManager().listAttachments(p);
+ List< Attachment > c = engine.getAttachmentManager().listAttachments(p);
- for( Iterator a = c.iterator(); a.hasNext(); )
+ for( Iterator< Attachment > a = c.iterator(); a.hasNext(); )
{
- Attachment att = (Attachment) a.next();
+ Attachment att = a.next();
Element attEl = new Element("enclosure");
attEl.setAttribute( "url", engine.getURL(WikiContext.ATTACH, att.getName(), null, true ) );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
index eaeb396..1dd2970 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/BasicSearchProvider.java
@@ -21,6 +21,7 @@ package org.apache.wiki.search;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.TreeSet;
@@ -122,7 +123,7 @@ public class BasicSearchProvider implements SearchProvider
{
if(m_engine.getAttachmentManager().hasAttachments(page))
{
- Collection attachments;
+ List< Attachment > attachments;
try
{
attachments = m_engine.getAttachmentManager().listAttachments(page);
@@ -134,12 +135,13 @@ public class BasicSearchProvider implements SearchProvider
}
StringBuilder attachmentNames = new StringBuilder();
- for( Iterator it = attachments.iterator(); it.hasNext(); )
+ for( Iterator< Attachment > it = attachments.iterator(); it.hasNext(); )
{
- Attachment att = (Attachment) it.next();
+ Attachment att = it.next();
attachmentNames.append(att.getName());
- if(it.hasNext())
+ if(it.hasNext()) {
attachmentNames.append(separator);
+ }
}
return attachmentNames.toString();
}
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
index ea56612..1902930 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import java.util.Vector;
@@ -483,12 +484,12 @@ public class LuceneSearchProvider implements SearchProvider {
// Now add the names of the attachments of this page
try
{
- Collection attachments = m_engine.getAttachmentManager().listAttachments(page);
+ List< Attachment > attachments = m_engine.getAttachmentManager().listAttachments(page);
String attachmentNames = "";
- for( Iterator it = attachments.iterator(); it.hasNext(); )
+ for( Iterator< Attachment > it = attachments.iterator(); it.hasNext(); )
{
- Attachment att = (Attachment) it.next();
+ Attachment att = it.next();
attachmentNames += att.getName() + ";";
}
field = new Field( LUCENE_ATTACHMENTS, attachmentNames, TextField.TYPE_STORED );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java
index 8cea2f5..f3e301c 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java
@@ -19,18 +19,18 @@
package org.apache.wiki.tags;
import java.io.IOException;
-import java.util.Collection;
+import java.util.List;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import org.apache.log4j.Logger;
-import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiContext;
+import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiPage;
import org.apache.wiki.api.exceptions.ProviderException;
-import org.apache.wiki.attachment.AttachmentManager;
import org.apache.wiki.attachment.Attachment;
+import org.apache.wiki.attachment.AttachmentManager;
/**
* Iterates through the list of attachments one has.
@@ -75,7 +75,7 @@ public class AttachmentsIteratorTag
{
if( page != null && engine.pageExists(page) )
{
- Collection atts = mgr.listAttachments( page );
+ List< Attachment > atts = mgr.listAttachments( page );
if( atts == null )
{
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java
index 15f2504..192cb35 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/attachment/AttachmentManagerTest.java
@@ -18,7 +18,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.StringWriter;
-import java.util.Collection;
+import java.util.List;
import java.util.Properties;
import org.apache.wiki.TestEngine;
@@ -238,7 +238,7 @@ public class AttachmentManagerTest
m_manager.storeAttachment( att, makeAttachmentFile() );
- Collection<?> c = m_manager.listAttachments( new WikiPage(m_engine, NAME1) );
+ List< Attachment > c = m_manager.listAttachments( new WikiPage(m_engine, NAME1) );
Assertions.assertEquals( 1, c.size(), "Length" );