You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/12/12 23:09:44 UTC

svn commit: r486361 - in /incubator/roller/trunk: apps/planet/test/java/org/apache/roller/planet/util/ apps/planet/test/java/org/apache/roller/planet/util/rome/ src/org/apache/roller/business/ src/org/apache/roller/business/hibernate/ src/org/apache/ro...

Author: snoopdave
Date: Tue Dec 12 14:09:43 2006
New Revision: 486361

URL: http://svn.apache.org/viewvc?view=rev&rev=486361
Log:
More extensive fix for ROL-1312 plus couple of fixes to get unit tests working with most recent directory structure changes from Allen

Added:
    incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/
    incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/
    incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/DiskFeedInfoCacheTest.java
Removed:
    incubator/roller/trunk/tests/org/apache/roller/util/rome/
Modified:
    incubator/roller/trunk/src/org/apache/roller/business/WeblogManager.java
    incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
    incubator/roller/trunk/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java
    incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernateRollerPlanetManagerImpl.java
    incubator/roller/trunk/src/org/apache/roller/pojos/WebsiteData.java
    incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryManagementAction.java
    incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryPageModel.java
    incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarModel.java
    incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarTag.java
    incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/WeblogCalendarModel.java
    incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/FeedModel.java
    incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/WeblogEntriesListPager.java
    incubator/roller/trunk/src/org/apache/roller/ui/rendering/velocity/deprecated/OldWeblogPageModel.java
    incubator/roller/trunk/src/org/apache/roller/util/cache/FuturePostingsInvalidationJob.java
    incubator/roller/trunk/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java
    incubator/roller/trunk/src/org/apache/roller/webservices/xmlrpc/MetaWeblogAPIHandler.java
    incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerLocalTest.java
    incubator/roller/trunk/tests/org/apache/roller/business/SupplementalWeblogServicesTestSuite.java
    incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java

Added: incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/DiskFeedInfoCacheTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/DiskFeedInfoCacheTest.java?view=auto&rev=486361
==============================================================================
--- incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/DiskFeedInfoCacheTest.java (added)
+++ incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/util/rome/DiskFeedInfoCacheTest.java Tue Dec 12 14:09:43 2006
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.roller.planet.util.rome;
+
+import java.io.File;
+import java.net.URL;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import com.sun.syndication.fetcher.impl.SyndFeedInfo;
+
+
+/**
+ * @author David M Johnson
+ */
+public class DiskFeedInfoCacheTest extends TestCase {
+    
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(DiskFeedInfoCacheTest.class);
+    }
+    
+    public void testCache() throws Exception {
+        URL url = new URL("http://cnn.com");
+        SyndFeedInfo info = new SyndFeedInfo();
+        info.setUrl(url);
+        
+        String buildDir = System.getProperty("ro.build");
+        assertNotNull("ro.build not null", buildDir);
+        assertTrue("ro.build not zero length", buildDir.trim().length() > 0);
+        if (!buildDir.startsWith("/")) buildDir = "..";
+        File file = new File(buildDir);
+        
+        assertTrue("buildDir exists", file.exists());
+        assertTrue("buildDir is directory", file.isDirectory());
+        
+        DiskFeedInfoCache cache =
+                new DiskFeedInfoCache(buildDir + "/tests/planet-cache");
+        cache.setFeedInfo(info.getUrl(), info);
+        
+        SyndFeedInfo info2 = cache.getFeedInfo(url);
+        assertNotNull(info2);
+        assertEquals(url, info2.getUrl());
+    }
+    
+    public static Test suite() {
+        return new TestSuite(DiskFeedInfoCacheTest.class);
+        
+    }
+    
+}

Modified: incubator/roller/trunk/src/org/apache/roller/business/WeblogManager.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/WeblogManager.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/WeblogManager.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/WeblogManager.java Tue Dec 12 14:09:43 2006
@@ -34,6 +34,9 @@
  * Interface to weblog entry, category and comment management.
  */
 public interface WeblogManager {
+
+    public static final String DESCENDING = "DESCENDING";
+    public static final String ASCENDING = "ASCENDING";
        
     /**
      * Save weblog entry.
@@ -66,6 +69,7 @@
      * @param catName    Category path or null for all categories.
      * @param status     Status of DRAFT, PENDING, PUBLISHED or null for all
      * @param sortBy     Sort by either 'pubTime' or 'updateTime' (null for pubTime)
+     * @param sortOrder  Sort order of ASCENDING or DESCENDING (null for DESCENDING)
      * @param offset     Offset into results for paging
      * @param length     Max comments to return (or -1 for no limit)
      * @return List of WeblogEntryData objects in reverse chrono order.
@@ -79,7 +83,8 @@
             String      catName,
             List        tags,
             String      status,
-            String      sortBy,
+            String      sortBy, 
+            String      sortOrder,
             String      locale,             
             int         offset,
             int         range)

Modified: incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java Tue Dec 12 14:09:43 2006
@@ -431,6 +431,7 @@
             List        tags,
             String      status,
             String      sortby,
+            String      sortOrder,
             String      locale,
             int         offset,
             int         length) throws RollerException {
@@ -496,12 +497,20 @@
                 params.add(locale + '%');
             }
             
+
             if (sortby != null && sortby.equals("updateTime")) {
-                queryString.append("order by updateTime desc ");
+                queryString.append("order by updateTime ");
             } else {
-                queryString.append("order by pubTime desc ");
+                queryString.append("order by pubTime ");
             }
             
+            if (sortOrder != null && sortOrder.equals(ASCENDING)) {
+                queryString.append("asc ");
+            } else {
+                queryString.append("desc ");
+            }
+
+                
             Query query = session.createQuery(queryString.toString());
             
             // set params
@@ -1015,7 +1024,7 @@
             tags,
             status,
             null,
-            locale,             
+null,             locale,             
             offset,
             length);
         

Modified: incubator/roller/trunk/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java Tue Dec 12 14:09:43 2006
@@ -111,7 +111,9 @@
                         null,
                         WeblogEntryData.PUBLISHED, // status
                         null,                      // sortby (null means pubTime)
-null,                         0, -1);     // offset, length, locale
+                        null, 
+                        null,
+                        0, -1);     // offset, length, locale
                 
                 for (Iterator wbItr = entries.iterator(); wbItr.hasNext();) {
                     WeblogEntryData entry = (WeblogEntryData) wbItr.next();

Modified: incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernateRollerPlanetManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernateRollerPlanetManagerImpl.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernateRollerPlanetManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernateRollerPlanetManagerImpl.java Tue Dec 12 14:09:43 2006
@@ -120,6 +120,7 @@
                             null,                        // tags
                             WeblogEntryData.PUBLISHED,   // status
                             null,                        // sortby (null means pubTime)
+                            null,
                             null,                        // locale
                             0,                           // offset
                             entryCount);                 

Modified: incubator/roller/trunk/src/org/apache/roller/pojos/WebsiteData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/pojos/WebsiteData.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/pojos/WebsiteData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/pojos/WebsiteData.java Tue Dec 12 14:09:43 2006
@@ -1227,6 +1227,7 @@
                     null, 
                     WeblogEntryData.PUBLISHED, 
                     "pubTime",  // sortby
+                    null,
                     null, 
                     0,
                     length); 

Modified: incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryManagementAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryManagementAction.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryManagementAction.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryManagementAction.java Tue Dec 12 14:09:43 2006
@@ -165,6 +165,7 @@
                     status,
                     queryForm.getSortby(),
                     null,
+                    null,
                     offset,
                     queryForm.getCount() + 1);
             if (entries.size() > queryForm.getCount()) {

Modified: incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryPageModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryPageModel.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryPageModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/actions/WeblogEntryPageModel.java Tue Dec 12 14:09:43 2006
@@ -143,7 +143,9 @@
                 null,              // tags
                 WeblogEntryData.PUBLISHED, // status
                 null,              // sortby (null for pubTime)
-null,                 0, 20);   
+                null, 
+                null,
+                0, 20);   
     }
 
     /**
@@ -165,7 +167,9 @@
                 null,              // tags
                 WeblogEntryData.DRAFT, // status
                 "updateTime",      // sortby 
-null,                 0, 20);  // maxEntries
+                null, 
+                null,
+                0, 20);  // maxEntries
     }
     
     /**
@@ -187,7 +191,9 @@
                 null,              // tags
                 WeblogEntryData.PENDING, // status
                 "updateTime",      // sortby
-null,                 0, 20);  
+                null, 
+                null,                 
+                0, 20);  
     }
  
     public List getHoursList()

Modified: incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarModel.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarModel.java Tue Dec 12 14:09:43 2006
@@ -45,7 +45,7 @@
      * Get the earliest month in which there could possibly be data.  For a weblog this
      * is the beginning of the month containing the creation date.
      */
-    public Date getInitialMonth();
+    //public Date getInitialMonth();
     
     /**
      * Create URL for use on edit-weblog page, preserves the request

Modified: incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarTag.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarTag.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarTag.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/CalendarTag.java Tue Dec 12 14:09:43 2006
@@ -184,13 +184,13 @@
             pw.print("<tr>");
             pw.print("<td colspan=\"7\" align=\"center\" "+
                     "class=\"hCalendarMonthYearRow"+mClassSuffix+"\">");
-            if (model.getPrevMonth().compareTo(model.getInitialMonth()) >= 0) {
+            if (model.getPrevMonth() != null) {
                 pw.print("<a href=\"" + model.computePrevMonthUrl()
                         + "\" title=\"" + resources.getMessage(mLocale, "calendar.prev")
                         + "\" class=\"hCalendarNavBar\">&laquo;</a> ");
             }
             pw.print( formatTitle.format(day) );
-            if (todayCal.getTime().compareTo(model.getNextMonth()) >= 0) {
+            if (model.getNextMonth() != null) {
                 pw.print(" <a href=\"" + model.computeNextMonthUrl()
                 + "\" title=\"" + resources.getMessage(mLocale, "calendar.next")
                 + "\" class=\"hCalendarNavBar\">&raquo;</a>");

Modified: incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/WeblogCalendarModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/WeblogCalendarModel.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/WeblogCalendarModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/core/tags/calendar/WeblogCalendarModel.java Tue Dec 12 14:09:43 2006
@@ -23,6 +23,7 @@
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -43,14 +44,15 @@
     
     private static Log log = LogFactory.getLog(WeblogCalendarModel.class);
     
-    protected Map                 monthMap;
-    protected Date                day;
-    protected String              cat = null;
-    protected String              pageLink = null;
-    protected String              locale = null;
-    protected Calendar            calendar = null;
-    protected WebsiteData         weblog = null;
-    
+    protected Map               monthMap;
+    protected Date              day;
+    protected String            cat = null;
+    protected String            pageLink = null;
+    protected String            locale = null;
+    protected Calendar          calendar = null;
+    protected WebsiteData       weblog = null;
+    protected Date              prevMonth = null; // prev month or null if none
+    protected Date              nextMonth = null; // next month or null if none    
     protected WeblogPageRequest pageRequest = null;
     
     
@@ -58,26 +60,25 @@
         
         this.pageRequest = pRequest;
         try {
-            this.weblog = pageRequest.getWeblog();
-            
-            pageLink = pageRequest.getWeblogPageName();
-            
-            day = DateUtil.parseWeblogURLDateString(pageRequest.getWeblogDate(),
-                    weblog.getTimeZoneInstance(), weblog.getLocaleInstance());
-            initDay(day);
-            
-            locale = pageRequest.getLocale();
-            
+            this.weblog = pageRequest.getWeblog();            
             if(weblog == null) {
                 throw new RollerException("unable to lookup weblog: "+
                         pageRequest.getWeblogHandle());
             }
+            pageLink = pageRequest.getWeblogPageName();            
+            day = DateUtil.parseWeblogURLDateString(pageRequest.getWeblogDate(),
+                  weblog.getTimeZoneInstance(), weblog.getLocaleInstance());
+            locale = pageRequest.getLocale();
+            
+            initDay(day);  
+            
             // Category method argument overrides category from URL
             if (catArgument != null) {
                 cat = catArgument;
             } else if (pageRequest.getWeblogCategoryName() != null) {
                 cat = pageRequest.getWeblogCategoryName();
             }
+            
         } catch (Exception e) {
             // some kind of error parsing the request or looking up weblog
             log.debug("ERROR: initializing calendar", e);
@@ -92,23 +93,58 @@
                 weblog.getLocaleInstance());
         
         Calendar cal = (Calendar)calendar.clone();
+        Date startDate = DateUtil.getStartOfMonth(month);
+        Date endDate = DateUtil.getEndOfMonth(month);
         
-        // Compute first second of month
-        cal.setTime(month);
-        cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DAY_OF_MONTH));
-        cal.set(Calendar.HOUR_OF_DAY, cal.getMinimum(Calendar.HOUR_OF_DAY));
-        cal.set(Calendar.MINUTE, cal.getMinimum(Calendar.MINUTE));
-        cal.set(Calendar.SECOND, cal.getMinimum(Calendar.SECOND));
-        cal.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND));
-        Date startDate = cal.getTime();
-        
-        // Compute last second of month
-        cal.set(Calendar.DAY_OF_MONTH, cal.getMaximum(Calendar.DAY_OF_MONTH));
-        cal.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY));
-        cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE));
-        cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND));
-        cal.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND));
-        Date endDate = cal.getTime();
+        // Determine previous non-empty month
+        // Get entries before startDate, using category restriction limit 1
+        // Use entry's date as previous month
+        try {
+            WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+            List prevEntries = mgr.getWeblogEntries(
+                    weblog,                    // website
+                    null,                      // user
+                    null,                      // startDate
+                    startDate,                 // endDate 
+                    cat,                       // cat
+                    null,                      // tags
+                    WeblogEntryData.PUBLISHED, // status
+                    null,                      // sortby (null means pubTime)
+                    WeblogManager.DESCENDING,  // sortorder, null means DESCENDING
+                    locale,                    // locale
+                    0, 1);                     // offset, range
+            if (prevEntries.size() > 0) {
+                WeblogEntryData prevEntry = (WeblogEntryData)prevEntries.get(0);
+                prevMonth = DateUtil.getStartOfMonth(new Date(prevEntry.getPubTime().getTime()));
+            }
+        } catch (RollerException e) {
+            log.error("ERROR determining previous non-empty month");
+        }
+        
+        // Determine next non-empty month
+        // Get entries after endDate, using category restriction limit 1
+        // Use entry's date as next month
+        try {
+            WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+            List nextEntries = mgr.getWeblogEntries(
+                    weblog,                    // website
+                    null,                      // user
+                    endDate,                   // startDate
+                    null,                      // endDate 
+                    cat,                       // cat
+                    null,                      // tags
+                    WeblogEntryData.PUBLISHED, // status
+                    null,                      // sortby (null means pubTime)
+                    WeblogManager.ASCENDING,   // sortorder
+                    locale,                    // locale
+                    0, 1);                     // offset, range
+            if (nextEntries.size() > 0) {
+                WeblogEntryData nextEntry = (WeblogEntryData)nextEntries.get(0);
+                nextMonth = DateUtil.getStartOfMonth(new Date(nextEntry.getPubTime().getTime()));
+            }
+        } catch (RollerException e) {
+            log.error("ERROR determining next non-empty month");
+        }  
         
         // Fix for ROL-840 Don't include future entries
         Date now = new Date();
@@ -186,59 +222,19 @@
     }
     
     public Date getNextMonth() {
-        Calendar nextCal = getCalendar();
-        nextCal.setTime( day );
-        nextCal.add( Calendar.MONTH, 1 );
-        return getFirstDayOfMonth(nextCal).getTime();
+        return nextMonth;
     }
 
     public Date getPrevMonth() {
-        Calendar prevCal = getCalendar();
-        prevCal.setTime( day );
-        prevCal.add( Calendar.MONTH, -1 );
-        return getFirstDayOfMonth(prevCal).getTime();
-    }
-    
-    protected Calendar getFirstDayOfMonth(Calendar cal) {
-        int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
-        cal.set(Calendar.DAY_OF_MONTH, firstDay);
-        return cal;
-    }
-    
-    protected Calendar getLastDayOfMonth(Calendar cal) {
-        int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
-        cal.set(Calendar.DAY_OF_MONTH, lastDay);
-        return cal;
+        return prevMonth;
     }
-    
+       
     public String computeNextMonthUrl() {
-        // Create yyyyMMdd dates for next month, prev month and today
-        Calendar nextCal = getCalendar();
-        nextCal.setTime( day );
-        nextCal.add( Calendar.MONTH, 1 );
-        String nextMonth = computeUrl(nextCal.getTime(), true, true);
-        
-        // and strip off last two digits to get a month URL
-        return nextMonth;
-    }
-
-    public Date getInitialMonth() {
-        Calendar cal = getCalendar();
-        // if there is no dateCreated value, default to beginning of epoch.
-        cal.setTime(weblog.getDateCreated() != null ? weblog.getDateCreated() : new Date(0));
-        return getFirstDayOfMonth(cal).getTime();
+        return computeUrl(nextMonth, true, true);
     }
 
     public String computePrevMonthUrl() {
-        // Create yyyyMMdd dates for prev month, prev month and today
-        Calendar prevCal = getCalendar();
-        prevCal.setTime(day);
-        prevCal.add(Calendar.MONTH, -1);
-        //getLastDayOfMonth( prevCal );
-        String prevMonth = computeUrl(prevCal.getTime(), true, true);
-        
-        // and strip off last two digits to get a month URL
-        return prevMonth;
+        return computeUrl(prevMonth, true, true);
     }
     
     public String computeTodayMonthUrl() {

Modified: incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/FeedModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/FeedModel.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/FeedModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/FeedModel.java Tue Dec 12 14:09:43 2006
@@ -134,6 +134,7 @@
                     feedRequest.getTags(), 
                     WeblogEntryData.PUBLISHED, 
                     "pubTime", 
+                    null,
                     feedRequest.getLocale(), 
                     0, 
                     entryCount);

Modified: incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/WeblogEntriesListPager.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/WeblogEntriesListPager.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/WeblogEntriesListPager.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/WeblogEntriesListPager.java Tue Dec 12 14:09:43 2006
@@ -115,6 +115,7 @@
                         queryTags,
                         WeblogEntryData.PUBLISHED,
                         "pubTime",
+                        null,
                         locale,
                         offset,
                         length + 1);

Modified: incubator/roller/trunk/src/org/apache/roller/ui/rendering/velocity/deprecated/OldWeblogPageModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/rendering/velocity/deprecated/OldWeblogPageModel.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/rendering/velocity/deprecated/OldWeblogPageModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/rendering/velocity/deprecated/OldWeblogPageModel.java Tue Dec 12 14:09:43 2006
@@ -485,6 +485,7 @@
                     null,                        // tags
                     WeblogEntryData.PUBLISHED,   // status
                     null,                        // sortby (null for pubTime)
+                    null,
                     mLocale, 0, mWebsite.getEntryDisplayCount());    
             
             // wrap pojos

Modified: incubator/roller/trunk/src/org/apache/roller/util/cache/FuturePostingsInvalidationJob.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/util/cache/FuturePostingsInvalidationJob.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/util/cache/FuturePostingsInvalidationJob.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/util/cache/FuturePostingsInvalidationJob.java Tue Dec 12 14:09:43 2006
@@ -114,7 +114,7 @@
             
             // get all published entries between start and end date
             List expiringEntries = wMgr.getWeblogEntries(null, null, now, end, null, 
-                    null, null, WeblogEntryData.PUBLISHED, null, 0, -1);
+                    null, null, WeblogEntryData.PUBLISHED, null, null, 0, -1);
             
             // we only really want the weblog ids
             Set expiringWeblogs = new HashSet();

Modified: incubator/roller/trunk/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java Tue Dec 12 14:09:43 2006
@@ -290,6 +290,7 @@
                         null,              // tags
                         null,              // status
                         "updateTime",      // sortby
+                        null,
                         null,              // locale
                         start,             // offset (for range paging)
                         max + 1);          // maxEntries

Modified: incubator/roller/trunk/src/org/apache/roller/webservices/xmlrpc/MetaWeblogAPIHandler.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/webservices/xmlrpc/MetaWeblogAPIHandler.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/webservices/xmlrpc/MetaWeblogAPIHandler.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/webservices/xmlrpc/MetaWeblogAPIHandler.java Tue Dec 12 14:09:43 2006
@@ -409,7 +409,9 @@
                         null,              // tags
                         null,              // status
                         "updateTime",      // sortby
-                        null,                     0, numposts);
+                        null,
+                        null,
+                        0, numposts);
                 
                 Iterator iter = entries.iterator();
                 while (iter.hasNext()) {

Modified: incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerLocalTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerLocalTest.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerLocalTest.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerLocalTest.java Tue Dec 12 14:09:43 2006
@@ -25,6 +25,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.TestUtils;
+import org.apache.roller.planet.business.PlanetFactory;
 import org.apache.roller.planet.business.PlanetManager;
 import org.apache.roller.business.RollerFactory;
 import org.apache.roller.pojos.UserData;
@@ -116,7 +117,7 @@
     
     public void testRefreshEntries() {
         try {      
-            PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
+            PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
             
             // run sync task to fill aggregator with websites created by super
             SyncWebsitesTask syncTask = new SyncWebsitesTask();

Modified: incubator/roller/trunk/tests/org/apache/roller/business/SupplementalWeblogServicesTestSuite.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/SupplementalWeblogServicesTestSuite.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/SupplementalWeblogServicesTestSuite.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/SupplementalWeblogServicesTestSuite.java Tue Dec 12 14:09:43 2006
@@ -45,8 +45,6 @@
         suite.addTestSuite(BookmarkTest.class);
         
         suite.addTestSuite(RefererTest.class);
-        
-        suite.addTestSuite(PlanetManagerTest.class);
 
         return suite;
     }

Modified: incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java?view=diff&rev=486361&r1=486360&r2=486361
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java Tue Dec 12 14:09:43 2006
@@ -188,7 +188,7 @@
         
         // get all entries for weblog
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, 0, -1);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, null, 0, -1);
         assertNotNull(entries);
         assertEquals(3, entries.size());
         assertEquals(entry3, entries.get(0));
@@ -201,39 +201,39 @@
         
         // get all published entries only 
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, WeblogEntryData.PUBLISHED, null, null, 0, -1);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, WeblogEntryData.PUBLISHED, null, null, null, 0, -1);
         assertNotNull(entries);
         assertEquals(2, entries.size());
         
         // get all entries in date range
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, entry2.getPubTime(), entry2.getPubTime(), null, null, null, null, null, 0, -1);
+        entries = mgr.getWeblogEntries(testWeblog, null, entry2.getPubTime(), entry2.getPubTime(), null, null, null, null, null, null, 0, -1);
         assertNotNull(entries);
         assertEquals(1, entries.size());
         assertEquals(entry2, entries.get(0));
         
         // get all entries, limited to maxSize
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, 0, 2);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, null, 0, 2);
         assertNotNull(entries);
         assertEquals(2, entries.size());
         
         // get all entries in category
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, testWeblog.getDefaultCategory().getName(), null, null, null, null, 0, -1);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, testWeblog.getDefaultCategory().getName(), null, null, null, null, null, 0, -1);
         assertNotNull(entries);
         assertEquals(3, entries.size());
         
         // get all entries, limited by offset/range
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, 1, 1);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, null, 1, 1);
         assertNotNull(entries);
         assertEquals(1, entries.size());
         assertEquals(entry2, entries.get(0));
         
         // get all entries, limited by locale
         entries = null;
-        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, "en_US", 0, -1);
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null, null, null, "en_US", 0, -1);
         assertNotNull(entries);
         assertEquals(1, entries.size());
         assertEquals(entry1, entries.get(0));
@@ -488,7 +488,7 @@
         TestUtils.endSession(true);
 
         List results = mgr.getWeblogEntries(testWeblog, null, null, null, null,
-                Arrays.asList(new String[] { "testtag" }), null, null, null, 0,
+                Arrays.asList(new String[] { "testtag" }), null, null, null, null, 0,
                 -1);
         assertEquals(1, results.size());
         WeblogEntryData testEntry = (WeblogEntryData) results.iterator().next();
@@ -512,7 +512,7 @@
         TestUtils.endSession(true);
 
         List results = mgr.getWeblogEntries(testWeblog, null, null, null, null,
-                Arrays.asList(new String[] { "testtag" }), null, null, null, 0,
+                Arrays.asList(new String[] { "testtag" }), null, null, null, null, 0,
                 -1);
         assertEquals(1, results.size());
         WeblogEntryData testEntry = (WeblogEntryData) results.iterator().next();
@@ -523,7 +523,7 @@
         TestUtils.endSession(true);
 
         results = mgr.getWeblogEntries(testWeblog, null, null, null, null,
-                Arrays.asList(new String[] { "testtag" }), null, null, null, 0,
+                Arrays.asList(new String[] { "testtag" }), null, null, null, null, 0,
                 -1);
         assertEquals(0, results.size());