Author: snoopdave
Date: Sat Sep 15 19:46:10 2007
New Revision: 576025
URL: http://svn.apache.org/viewvc?rev=576025&view=rev
Log:
couple more of those immutable JPA result set bugs
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/PlanetEntriesPager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/UsersPager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogsPager.java
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.java?rev=576025&r1=576024&r2=576025&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.java
Sat Sep 15 19:46:10 2007
@@ -96,16 +96,15 @@
List entries = wmgr.getComments(
weblog, null, null, startDate, null,
WeblogEntryComment.APPROVED, true, offset, length + 1);
- // check if there are more results for paging
- if(entries.size() > length) {
- more = true;
- entries.remove(entries.size() - 1);
- }
-
// wrap the results
+ int count = 0;
for (Iterator it = entries.iterator(); it.hasNext();) {
WeblogEntryComment comment = (WeblogEntryComment)
it.next();
- results.add(WeblogEntryCommentWrapper.wrap(comment,
urlStrategy));
+ if (count++ < length) {
+ results.add(WeblogEntryCommentWrapper.wrap(comment,
urlStrategy));
+ } else {
+ more = true;
+ }
}
} catch (Exception e) {
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/PlanetEntriesPager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/PlanetEntriesPager.java?rev=576025&r1=576024&r2=576025&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/PlanetEntriesPager.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/PlanetEntriesPager.java
Sat Sep 15 19:46:10 2007
@@ -96,31 +96,28 @@
PlanetManager planetManager =
PlanetFactory.getPlanet().getPlanetManager();
Planet planet = planetManager.getPlanet("default");
- List rawEntries = null;
+ List entries = null;
if (feedURL != null) {
Subscription sub = planetManager.getSubscription(feedURL);
- rawEntries = planetManager.getEntries(sub, offset,
length+1);
+ entries = planetManager.getEntries(sub, offset, length+1);
} else if (groupHandle != null) {
PlanetGroup group = planetManager.getGroup(planet,
groupHandle);
- rawEntries = planetManager.getEntries(group, startDate,
null, offset, length+1);
+ entries = planetManager.getEntries(group, startDate, null,
offset, length+1);
} else {
PlanetGroup group = planetManager.getGroup(planet, "all");
- rawEntries = planetManager.getEntries(group, startDate,
null, offset, length+1);
- }
-
- results.addAll(rawEntries);
-
- // check if there are more results for paging
- if(results.size() > length) {
- more = true;
- results.remove(results.size() - 1);
+ entries = planetManager.getEntries(group, startDate, null,
offset, length+1);
}
// wrap 'em
- for (Iterator it = results.iterator(); it.hasNext();) {
+ int count = 0;
+ for (Iterator it = entries.iterator(); it.hasNext();) {
SubscriptionEntry entry = (SubscriptionEntry) it.next();
// TODO needs pojo wrapping from planet
- results.add(entry);
+ if (count++ < length) {
+ results.add(entry);
+ } else {
+ more = true;
+ }
}
} catch (Exception e) {
@@ -137,5 +134,6 @@
public boolean hasMoreItems() {
return more;
}
-
}
+
+
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/UsersPager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/UsersPager.java?rev=576025&r1=576024&r2=576025&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/UsersPager.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/UsersPager.java
Sat Sep 15 19:46:10 2007
@@ -143,16 +143,15 @@
rawUsers = umgr.getUsersByLetter(letter.charAt(0), offset,
length + 1);
}
- // check if there are more results for paging
- if(rawUsers.size() > length) {
- more = true;
- rawUsers.remove(rawUsers.size() - 1);
- }
-
// wrap the results
+ int count = 0;
for (Iterator it = rawUsers.iterator(); it.hasNext();) {
User user = (User) it.next();
- results.add(UserWrapper.wrap(user));
+ if (count++ < length) {
+ results.add(UserWrapper.wrap(user));
+ } else {
+ more = true;
+ }
}
} catch (Exception e) {
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogsPager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogsPager.java?rev=576025&r1=576024&r2=576025&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogsPager.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/WeblogsPager.java
Sat Sep 15 19:46:10 2007
@@ -151,20 +151,16 @@
} else {
rawWeblogs = umgr.getWeblogsByLetter(letter.charAt(0),
offset, length + 1);
}
- // Collections returned by backend are not writeable, so
create copy
- List weblogs = new ArrayList();
- weblogs.addAll(rawWeblogs);
-
- // check if there are more results for paging
- if(weblogs.size() > length) {
- more = true;
- weblogs.remove(weblogs.size() - 1);
- }
// wrap the results
- for (Iterator it = weblogs.iterator(); it.hasNext();) {
+ int count = 0;
+ for (Iterator it = rawWeblogs.iterator(); it.hasNext();) {
Weblog website = (Weblog) it.next();
- results.add(WeblogWrapper.wrap(website, urlStrategy));
+ if (count++ < length) {
+ results.add(WeblogWrapper.wrap(website, urlStrategy));
+ } else {
+ more = true;
+ }
}
} catch (Exception e) {