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/06/20 20:48:20 UTC

svn commit: r415761 - in /incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering: model/ModelLoader.java model/WeblogPageModel.java servlets/FeedServlet.java servlets/PageServlet.java servlets/PreviewServlet.java

Author: snoopdave
Date: Tue Jun 20 11:48:19 2006
New Revision: 415761

URL: http://svn.apache.org/viewvc?rev=415761&view=rev
Log:
Moving model selection logic out of ModelLoader

Modified:
    incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/ModelLoader.java
    incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/WeblogPageModel.java
    incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
    incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
    incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java

Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/ModelLoader.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/ModelLoader.java?rev=415761&r1=415760&r2=415761&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/ModelLoader.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/ModelLoader.java Tue Jun 20 11:48:19 2006
@@ -40,32 +40,32 @@
     private static Log log = LogFactory.getLog(ModelLoader.class);   
     
     /** 
-     * Load page models needed for rendering a weblog page.
+     * Load page models needed by PageServlet and PreviewServlet.
      */
-    public static void loadPageModels(
+    public static void loadWeblogPageModels(
         WebsiteData weblog,
         PageContext pageContext,
         Map         map) throws RollerException { 
         
         HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
         HttpServletResponse response = (HttpServletResponse)pageContext.getRequest();
-
-        // Only load old model if it's specified
-        String useOldModel = 
-            RollerConfig.getProperty("velocity.pagemodel.classname");        
-        if (useOldModel != null) { 
-            ContextLoader.setupContext(map, request, response);            
-        }
+        loadOldModels(response, request, map);
         
         // Weblogs pages get the weblog page models
         String modelsString = 
             RollerConfig.getProperty("rendering.weblogPageModels");
         loadConfiguredPageModels(modelsString, request, map);
+        loadUtilityObjects(map);
+        loadWeblogHelperObjects(pageContext, map);
         
-        // Weblog pages get utilities, calendar and editor-menu
-        
-        UtilitiesPageHelper utils = new UtilitiesPageHelper();
-        map.put("utils", utils);
+        // Weblog pages get weblog's additional custom models too
+        if (weblog != null) {
+            loadAdditionalPageModels(weblog, request, map);
+        }
+    }
+
+    public static void loadWeblogHelperObjects(
+        PageContext pageContext, Map map) {
         
         CalendarPageHelper calendarTag = new CalendarPageHelper();
         calendarTag.init(pageContext);
@@ -74,57 +74,31 @@
         EditorMenuPageHelper menuTag = new EditorMenuPageHelper();
         menuTag.init(pageContext);
         map.put("menuTag", menuTag);
-        
-        // Weblog pages get weblog's additional custom models too
-        if (weblog != null) {
-            loadWeblogPageModels(weblog, request, map);
-        }
     }
-            
-    /** 
-     * Load page models needed for rendering a feed.
-     */
-    public static void loadFeedModels( 
-        WebsiteData         weblog,
-        HttpServletRequest  request,  
+
+    public static void loadUtilityObjects(Map map) {
+        UtilitiesPageHelper utils = new UtilitiesPageHelper();
+        map.put("utils", utils);
+    }
+
+    public static void loadOldModels(
         HttpServletResponse response, 
-        Map                 map) throws RollerException { 
-        
-        // TODO: remove this for Roller 3.0
+        HttpServletRequest  request,
+        Map                 map) throws RollerException {
+
+        // Only load old model if it's specified
         String useOldModel = 
             RollerConfig.getProperty("velocity.pagemodel.classname");        
         if (useOldModel != null) { 
             ContextLoader.setupContext(map, request, response);            
         }
-        
-        // Feeds get the weblog specific page model
-        String modelsString = RollerConfig.getProperty("rendering.weblogPageModels");
-        
-        // Unless the weblog is the frontpage weblog w/aggregated feeds
-        String frontPageHandle = 
-            RollerConfig.getProperty("velocity.pagemodel.classname");
-        boolean frontPageAggregated = 
-            RollerConfig.getBooleanProperty("frontpage.weblog.aggregatedFeeds");
-        if (weblog.getHandle().equals(frontPageHandle) && frontPageAggregated) {
-            modelsString = RollerConfig.getProperty("rendering.weblogPageModels");
-        }
-        loadConfiguredPageModels(modelsString, request, map);
-
-        // Feeds get utilities, but that's all
-        UtilitiesPageHelper utils = new UtilitiesPageHelper();
-        map.put("utils", utils);
-        
-        // Feeds get weblog's additional custom models too
-        if (weblog != null) {
-            loadWeblogPageModels(weblog, request, map);
-        }
     }
-    
+                
     /**
      * Load comma-separated list of configured page models and if any of the
      * models fail to load, throws an exception.
      */
-    private static void loadConfiguredPageModels(
+    public  static void loadConfiguredPageModels(
             String modelsString, 
             HttpServletRequest request, 
             Map map) throws RollerException {
@@ -153,7 +127,7 @@
      * Load comma-separated list of page models and does not fail if one of the 
      * models fails to load.
      */
-    private static void loadWeblogPageModels(
+    public static void loadAdditionalPageModels(
             WebsiteData weblog, 
             HttpServletRequest request, 
             Map map) {

Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/WeblogPageModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/WeblogPageModel.java?rev=415761&r1=415760&r2=415761&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/WeblogPageModel.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/model/WeblogPageModel.java Tue Jun 20 11:48:19 2006
@@ -36,6 +36,7 @@
 import org.apache.roller.pojos.WeblogEntryData;
 import org.apache.roller.pojos.WebsiteData;
 import org.apache.roller.pojos.wrapper.CommentDataWrapper;
+import org.apache.roller.pojos.wrapper.WeblogCategoryDataWrapper;
 import org.apache.roller.pojos.wrapper.WeblogEntryDataWrapper;
 import org.apache.roller.pojos.wrapper.WebsiteDataWrapper;
 import org.apache.roller.ui.authoring.struts.formbeans.CommentFormEx;
@@ -118,6 +119,21 @@
         return ret;
     }
         
+    /** 
+     * Get weblog category or null if request does not specify one.
+     */
+    public WeblogCategoryDataWrapper getWeblogCategory() {
+        
+        RollerRequest rreq = RollerRequest.getRollerRequest(request);
+        WeblogCategoryData cat = rreq.getWeblogCategory(); 
+        
+        WeblogCategoryDataWrapper ret = null;
+        if (cat != null) {
+            ret = WeblogCategoryDataWrapper.wrap(cat);
+        }
+        return ret;
+    }
+    
     /**
      * Get most recent weblog entries for date and category specified by request.
      * @return List of WeblogEntryDataWrapper objects. 

Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java?rev=415761&r1=415760&r2=415761&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java Tue Jun 20 11:48:19 2006
@@ -66,7 +66,7 @@
  * @web.servlet-mapping url-pattern="/flavor/*"
  * @web.servlet-mapping url-pattern="/rss/*"
  * @web.servlet-mapping url-pattern="/atom/*"
- */
+ */ 
 public class FeedServlet extends HttpServlet implements CacheHandler {
     
     private static Log log = LogFactory.getLog(FeedServlet.class);
@@ -265,7 +265,28 @@
             request.setAttribute("updateTime", updateTime);
             
             // populate the model
-            ModelLoader.loadFeedModels(rreq.getWebsite(), request, response, model);
+            
+            // TODO: remove this for Roller 3.0
+            ModelLoader.loadOldModels(response, request, model);
+
+            // Feeds get the weblog specific page model
+            String modelsString = RollerConfig.getProperty("rendering.weblogPageModels");
+
+            // Unless the weblog is the frontpage weblog w/aggregated feeds
+            String frontPageHandle = 
+                RollerConfig.getProperty("velocity.pagemodel.classname");
+            boolean frontPageAggregated = 
+                RollerConfig.getBooleanProperty("frontpage.weblog.aggregatedFeeds");
+            if (weblog.getHandle().equals(frontPageHandle) && frontPageAggregated) {
+                modelsString = RollerConfig.getProperty("rendering.weblogPageModels");
+            }
+            ModelLoader.loadConfiguredPageModels(modelsString, request, model);
+            ModelLoader.loadUtilityObjects(model);
+
+            // Feeds get weblog's additional custom models too
+            if (weblog != null) {
+                ModelLoader.loadAdditionalPageModels(weblog, request, model);
+            }   
             
         } catch (RollerException ex) {
             log.error("ERROR loading model for page", ex);

Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PageServlet.java?rev=415761&r1=415760&r2=415761&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PageServlet.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PageServlet.java Tue Jun 20 11:48:19 2006
@@ -57,7 +57,7 @@
 import org.apache.roller.util.cache.CacheHandler;
 import org.apache.roller.util.cache.CacheManager;
 import org.apache.roller.util.cache.LazyExpiringCacheEntry;
-
+ 
 
 /**
  * Responsible for rendering weblog pages.
@@ -262,8 +262,20 @@
         // looks like we need to render content
         try {
             // populate the model
-            ModelLoader.loadPageModels(rreq.getWebsite(), rreq.getPageContext(), model);
-            
+            ModelLoader.loadOldModels(response, request, model);
+
+            // Weblogs pages get the weblog page models
+            String modelsString = 
+                RollerConfig.getProperty("rendering.weblogPageModels");
+            ModelLoader.loadConfiguredPageModels(modelsString, request, model);
+            ModelLoader.loadUtilityObjects(model);
+            ModelLoader.loadWeblogHelperObjects(rreq.getPageContext(), model);
+
+            // Weblog pages get weblog's additional custom models too
+            if (rreq.getWebsite() != null) {
+                ModelLoader.loadAdditionalPageModels(rreq.getWebsite(), request, model);
+            }
+        
         } catch (RollerException ex) {
             log.error("ERROR loading model for page", ex);
             

Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java?rev=415761&r1=415760&r2=415761&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/servlets/PreviewServlet.java Tue Jun 20 11:48:19 2006
@@ -51,7 +51,7 @@
 import org.apache.roller.ui.rendering.model.PageModel;
 import org.apache.roller.ui.rendering.model.UtilitiesPageHelper;
 import org.apache.roller.util.Utilities;
-
+ 
 /**
  * Responsible for rendering weblog page previews.
  *
@@ -183,7 +183,7 @@
         HashMap model = new HashMap();
         try {
             // populate the model
-            ModelLoader.loadPageModels(rreq.getWebsite(), rreq.getPageContext(), model);
+            ModelLoader.loadWeblogPageModels(rreq.getWebsite(), rreq.getPageContext(), model);
             
         } catch (RollerException ex) {
             log.error("ERROR loading model for page", ex);