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) {


Reply via email to