This is an automated email from the ASF dual-hosted git repository. mbien pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/roller.git
commit 7a0c86f66355505450016b613928f8f35928d14d Author: Michael Bien <mbie...@gmail.com> AuthorDate: Thu Jul 8 07:51:17 2021 +0200 Pojo wrapper stream refactoring + warning fixes. --- .../pojos/WeblogEntryWrapperComparator.java | 8 +- .../pojos/wrapper/WeblogBookmarkFolderWrapper.java | 12 +-- .../pojos/wrapper/WeblogCategoryWrapper.java | 25 +---- .../pojos/wrapper/WeblogEntryWrapper.java | 115 +++++---------------- .../weblogger/pojos/wrapper/WeblogWrapper.java | 92 +++++------------ 5 files changed, 66 insertions(+), 186 deletions(-) diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogEntryWrapperComparator.java b/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogEntryWrapperComparator.java index f12dad9..d61fa8c 100644 --- a/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogEntryWrapperComparator.java +++ b/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogEntryWrapperComparator.java @@ -29,14 +29,12 @@ import org.apache.roller.weblogger.pojos.wrapper.WeblogEntryWrapper; * * @author lance.lavandowska */ -public class WeblogEntryWrapperComparator implements Comparator, Serializable -{ +public class WeblogEntryWrapperComparator implements Comparator<WeblogEntryWrapper>, Serializable { + static final long serialVersionUID = -9067148992322255150L; @Override - public int compare(Object val1, Object val2) { - WeblogEntryWrapper entry1 = (WeblogEntryWrapper)val1; - WeblogEntryWrapper entry2 = (WeblogEntryWrapper)val2; + public int compare(WeblogEntryWrapper entry1, WeblogEntryWrapper entry2) { long pubTime1 = entry1.getPubTime().getTime(); long pubTime2 = entry2.getPubTime().getTime(); diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java index ff20656..affa64c 100644 --- a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java +++ b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java @@ -18,9 +18,8 @@ package org.apache.roller.weblogger.pojos.wrapper; -import java.util.ArrayList; import java.util.List; -import org.apache.roller.weblogger.pojos.WeblogBookmark; +import java.util.stream.Collectors; import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder; @@ -54,12 +53,9 @@ public final class WeblogBookmarkFolderWrapper { } public List<WeblogBookmarkWrapper> getBookmarks() { - // iterate through and wrap - List<WeblogBookmarkWrapper> wrappedCollection = new ArrayList<>(this.pojo.getBookmarks().size()); - for (WeblogBookmark bookmark : this.pojo.getBookmarks()) { - wrappedCollection.add(WeblogBookmarkWrapper.wrap(bookmark)); - } - return wrappedCollection; + return this.pojo.getBookmarks().stream() + .map(WeblogBookmarkWrapper::wrap) + .collect(Collectors.toList()); } } diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogCategoryWrapper.java b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogCategoryWrapper.java index 5408ead..4f99ad5 100644 --- a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogCategoryWrapper.java +++ b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogCategoryWrapper.java @@ -18,13 +18,11 @@ package org.apache.roller.weblogger.pojos.wrapper; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; import org.apache.roller.weblogger.WebloggerException; import org.apache.roller.weblogger.business.URLStrategy; import org.apache.roller.weblogger.pojos.WeblogCategory; -import org.apache.roller.weblogger.pojos.WeblogEntry; /** @@ -79,23 +77,10 @@ public final class WeblogCategoryWrapper { return WeblogWrapper.wrap(this.pojo.getWeblog(), urlStrategy); } - public List retrieveWeblogEntries(boolean publishedOnly) - throws WebloggerException { - - List initialCollection = this.pojo.retrieveWeblogEntries(publishedOnly); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogEntryWrapper.wrap((WeblogEntry) it.next(), urlStrategy)); - i++; - } - - return wrappedCollection; + public List<WeblogEntryWrapper> retrieveWeblogEntries(boolean publishedOnly) throws WebloggerException { + return this.pojo.retrieveWeblogEntries(publishedOnly).stream() + .map(entry -> WeblogEntryWrapper.wrap(entry, urlStrategy)) + .collect(Collectors.toList()); } diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogEntryWrapper.java b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogEntryWrapper.java index 3b948f2..1dc6a54 100644 --- a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogEntryWrapper.java +++ b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogEntryWrapper.java @@ -19,19 +19,12 @@ package org.apache.roller.weblogger.pojos.wrapper; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import java.util.Set; -import java.util.TreeSet; +import java.util.stream.Collectors; import org.apache.roller.weblogger.business.URLStrategy; -import org.apache.roller.weblogger.pojos.WeblogCategory; import org.apache.roller.weblogger.pojos.WeblogEntry; import org.apache.roller.weblogger.pojos.WeblogEntry.PubStatus; -import org.apache.roller.weblogger.pojos.WeblogEntryAttribute; -import org.apache.roller.weblogger.pojos.WeblogEntryComment; -import org.apache.roller.weblogger.pojos.WeblogEntryTag; import org.apache.roller.weblogger.pojos.WeblogEntryTagComparator; import org.apache.roller.weblogger.util.HTMLSanitizer; @@ -74,21 +67,10 @@ public final class WeblogEntryWrapper { } - public List getCategories() { - List initialCollection = this.pojo.getCategories(); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogCategoryWrapper.wrap((WeblogCategory) it.next(), urlStrategy)); - i++; - } - - return wrappedCollection; + public List<WeblogCategoryWrapper> getCategories() { + return this.pojo.getCategories().stream() + .map(cat -> WeblogCategoryWrapper.wrap(cat, urlStrategy)) + .collect(Collectors.toList()); } @@ -134,21 +116,10 @@ public final class WeblogEntryWrapper { } - public List getEntryAttributes() { - Set initialCollection = this.pojo.getEntryAttributes(); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogEntryAttributeWrapper.wrap((WeblogEntryAttribute) it.next())); - i++; - } - - return wrappedCollection; + public List<WeblogEntryAttributeWrapper> getEntryAttributes() { + return this.pojo.getEntryAttributes().stream() + .map(WeblogEntryAttributeWrapper::wrap) + .collect(Collectors.toList()); } @@ -207,23 +178,11 @@ public final class WeblogEntryWrapper { } - public List getTags() { - // Sort by name - Set<WeblogEntryTag> initialCollection = new TreeSet<>(new WeblogEntryTagComparator()); - initialCollection.addAll(this.pojo.getTags()); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogEntryTagWrapper.wrap((WeblogEntryTag) it.next())); - i++; - } - - return wrappedCollection; + public List<WeblogEntryTagWrapper> getTags() { + return this.pojo.getTags().stream() + .sorted(new WeblogEntryTagComparator()) // by name + .map(WeblogEntryTagWrapper::wrap) + .collect(Collectors.toList()); } @@ -247,39 +206,17 @@ public final class WeblogEntryWrapper { } - public List getComments() { - List initialCollection = this.pojo.getComments(); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogEntryCommentWrapper.wrap((WeblogEntryComment) it.next(), urlStrategy)); - i++; - } - - return wrappedCollection; - } - - - public List getComments(boolean ignoreSpam,boolean approvedOnly) { - List initialCollection = this.pojo.getComments(ignoreSpam,approvedOnly); - - // iterate through and wrap - // we force the use of an ArrayList because it should be good enough to cover - // for any Collection type we encounter. - ArrayList wrappedCollection = new ArrayList(initialCollection.size()); - Iterator it = initialCollection.iterator(); - int i = 0; - while(it.hasNext()) { - wrappedCollection.add(i,WeblogEntryCommentWrapper.wrap((WeblogEntryComment) it.next(), urlStrategy)); - i++; - } - - return wrappedCollection; + public List<WeblogEntryCommentWrapper> getComments() { + return this.pojo.getComments().stream() + .map(comment -> WeblogEntryCommentWrapper.wrap(comment, urlStrategy)) + .collect(Collectors.toList()); + } + + + public List<WeblogEntryCommentWrapper> getComments(boolean ignoreSpam, boolean approvedOnly) { + return this.pojo.getComments(ignoreSpam, approvedOnly).stream() + .map(comment -> WeblogEntryCommentWrapper.wrap(comment, urlStrategy)) + .collect(Collectors.toList()); } @@ -319,7 +256,7 @@ public final class WeblogEntryWrapper { // TODO: check this method for safety - public List getPluginsList() { + public List<String> getPluginsList() { return this.pojo.getPluginsList(); } diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogWrapper.java b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogWrapper.java index 703846c..afc297a 100644 --- a/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogWrapper.java +++ b/app/src/main/java/org/apache/roller/weblogger/pojos/wrapper/WeblogWrapper.java @@ -18,19 +18,19 @@ package org.apache.roller.weblogger.pojos.wrapper; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.TimeZone; import org.apache.commons.text.StringEscapeUtils; import org.apache.roller.weblogger.WebloggerException; import org.apache.roller.weblogger.business.URLStrategy; import org.apache.roller.weblogger.pojos.TagStat; import org.apache.roller.weblogger.util.HTMLSanitizer; -import java.util.*; -import org.apache.roller.weblogger.pojos.ThemeTemplate; +import java.util.stream.Collectors; import org.apache.roller.weblogger.pojos.ThemeTemplate.ComponentType; import org.apache.roller.weblogger.pojos.Weblog; -import org.apache.roller.weblogger.pojos.WeblogCategory; -import org.apache.roller.weblogger.pojos.WeblogEntry; -import org.apache.roller.weblogger.pojos.WeblogEntryComment; /** @@ -60,37 +60,25 @@ public final class WeblogWrapper { } - public ThemeTemplateWrapper getTemplateByAction(ComponentType action) - throws WebloggerException { - ThemeTemplate templateToWrap = this.pojo.getTheme().getTemplateByAction(action); - return ThemeTemplateWrapper.wrap(templateToWrap); + public ThemeTemplateWrapper getTemplateByAction(ComponentType action) throws WebloggerException { + return ThemeTemplateWrapper.wrap(this.pojo.getTheme().getTemplateByAction(action)); } - public ThemeTemplateWrapper getTemplateByName(String name) - throws WebloggerException { - ThemeTemplate templateToWrap = this.pojo.getTheme().getTemplateByName(name); - return ThemeTemplateWrapper.wrap(templateToWrap); + public ThemeTemplateWrapper getTemplateByName(String name) throws WebloggerException { + return ThemeTemplateWrapper.wrap(this.pojo.getTheme().getTemplateByName(name)); } - public ThemeTemplateWrapper getTemplateByLink(String link) - throws WebloggerException { - ThemeTemplate templateToWrap = this.pojo.getTheme().getTemplateByLink(link); - return ThemeTemplateWrapper.wrap(templateToWrap); + public ThemeTemplateWrapper getTemplateByLink(String link) throws WebloggerException { + return ThemeTemplateWrapper.wrap(this.pojo.getTheme().getTemplateByLink(link)); } public List<ThemeTemplateWrapper> getTemplates() throws WebloggerException { - List<? extends ThemeTemplate> unwrapped = this.pojo.getTheme().getTemplates(); - List<ThemeTemplateWrapper> wrapped = new ArrayList<>(unwrapped.size()); - - int i = 0; - for (ThemeTemplate template : unwrapped) { - wrapped.add(i,ThemeTemplateWrapper.wrap(template)); - i++; - } - return wrapped; + return this.pojo.getTheme().getTemplates().stream() + .map(ThemeTemplateWrapper::wrap) + .collect(Collectors.toList()); } @@ -292,15 +280,9 @@ public final class WeblogWrapper { public List<WeblogCategoryWrapper> getWeblogCategories() { - List<WeblogCategory> unwrapped = this.pojo.getWeblogCategories(); - List<WeblogCategoryWrapper> wrapped = new ArrayList<>(unwrapped.size()); - - int i = 0; - for (WeblogCategory category : unwrapped) { - wrapped.add(i,WeblogCategoryWrapper.wrap(category, urlStrategy)); - i++; - } - return wrapped; + return this.pojo.getWeblogCategories().stream() + .map(cat -> WeblogCategoryWrapper.wrap(cat, urlStrategy)) + .collect(Collectors.toList()); } public WeblogCategoryWrapper getWeblogCategory(String categoryName) { @@ -308,42 +290,24 @@ public final class WeblogWrapper { } - public List<WeblogEntryWrapper> getRecentWeblogEntries(String cat,int length) { - List<WeblogEntry> unwrapped = this.pojo.getRecentWeblogEntries(cat, length); - List<WeblogEntryWrapper> wrapped = new ArrayList<>(unwrapped.size()); - - int i = 0; - for (WeblogEntry we : unwrapped) { - wrapped.add(i,WeblogEntryWrapper.wrap(we, urlStrategy)); - i++; - } - return wrapped; + public List<WeblogEntryWrapper> getRecentWeblogEntries(String cat, int length) { + return this.pojo.getRecentWeblogEntries(cat, length).stream() + .map(entry -> WeblogEntryWrapper.wrap(entry, urlStrategy)) + .collect(Collectors.toList()); } - public List<WeblogEntryWrapper> getRecentWeblogEntriesByTag(String tag,int length) { - List<WeblogEntry> unwrapped = pojo.getRecentWeblogEntriesByTag(tag,length); - List<WeblogEntryWrapper> wrapped = new ArrayList<>(unwrapped.size()); - - int i = 0; - for (WeblogEntry we : unwrapped) { - wrapped.add(i,WeblogEntryWrapper.wrap(we, urlStrategy)); - i++; - } - return wrapped; + public List<WeblogEntryWrapper> getRecentWeblogEntriesByTag(String tag, int length) { + return this.pojo.getRecentWeblogEntriesByTag(tag, length).stream() + .map(entry -> WeblogEntryWrapper.wrap(entry, urlStrategy)) + .collect(Collectors.toList()); } public List<WeblogEntryCommentWrapper> getRecentComments(int length) { - List<WeblogEntryComment> unwrapped = this.pojo.getRecentComments(length); - List<WeblogEntryCommentWrapper> wrapped = new ArrayList<>(unwrapped.size()); - - int i = 0; - for (WeblogEntryComment wec : unwrapped) { - wrapped.add(i, WeblogEntryCommentWrapper.wrap(wec, urlStrategy)); - i++; - } - return wrapped; + return this.pojo.getRecentComments(length).stream() + .map(wec -> WeblogEntryCommentWrapper.wrap(wec, urlStrategy)) + .collect(Collectors.toList()); }