You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2005/07/01 23:33:41 UTC

svn commit: r208802 - in /incubator/roller/trunk: ./ contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/ metadata/database/hibernate/ personal/testing/ src/org/roller/business/ src/org/roller/business/hibernate/ src/org/roller/model/...

Author: agilliland
Date: Fri Jul  1 14:33:40 2005
New Revision: 208802

URL: http://svn.apache.org/viewcvs?rev=208802&view=rev
Log:
refactored PageData class to now be WeblogTemplate 


Added:
    incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java
      - copied, changed from r208785, incubator/roller/trunk/src/org/roller/pojos/PageData.java
    incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java
      - copied, changed from r208785, incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java
Removed:
    incubator/roller/trunk/src/org/roller/pojos/PageData.java
    incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java
Modified:
    incubator/roller/trunk/build.xml
    incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
    incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
    incubator/roller/trunk/personal/testing/hibernate.cfg.xml
    incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
    incubator/roller/trunk/src/org/roller/model/UserManager.java
    incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java
    incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java
    incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java
    incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
    incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java
    incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java
    incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java
    incubator/roller/trunk/web/website/edit-page.jsp
    incubator/roller/trunk/web/website/remove-page.jsp

Modified: incubator/roller/trunk/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/build.xml?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/build.xml (original)
+++ incubator/roller/trunk/build.xml Fri Jul  1 14:33:40 2005
@@ -74,6 +74,7 @@
 
     <!-- Use EJBDoclet to generate Struts forms -->
     <ejbdoclet destdir="${build.generated}/src" excludedtags="@version,@author">
+	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
         <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
         <fileset dir="./src" includes="org/roller/business/*Data.java" /> 
         &custom-gen-web;
@@ -129,6 +130,7 @@
         excludedtags="@version,@author"
         addedtags="@xdoclet-generated at ${TODAY}"
         force="true">
+	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
         <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
         <fileset dir="./src" includes="org/roller/pojos/*Assoc.java" />
         <fileset dir="./src" includes="org/roller/business/*Data.java" />

Modified: incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java (original)
+++ incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java Fri Jul  1 14:33:40 2005
@@ -12,7 +12,7 @@
 import org.roller.RollerException;
 import org.roller.model.RollerFactory;
 import org.roller.model.UserManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerRequest;
@@ -80,7 +80,7 @@
         try
         {
             UserManager userMgr = RollerFactory.getRoller().getUserManager();
-            PageData acronymsPage = userMgr.getPageByName(
+            WeblogTemplate acronymsPage = userMgr.getPageByName(
                                         website, "_acronyms");
             if (acronymsPage != null) 
             {
@@ -193,13 +193,13 @@
 	}
 
 	/**
-	 * Parse the Template of the provided PageData and turns it
+	 * Parse the Template of the provided WeblogTemplate and turns it
 	 * into a <code>Properties</code> collection.
 	 * 
 	 * @param acronymPage
 	 * @return acronym properties (key = acronym, value= full text), empty if Template is empty
 	 */
-	private Properties parseAcronymPage(PageData acronymPage, Properties acronyms)
+	private Properties parseAcronymPage(WeblogTemplate acronymPage, Properties acronyms)
 	{
 		String rawAcronyms = acronymPage.getTemplate();
 		

Modified: incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml (original)
+++ incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml Fri Jul  1 14:33:40 2005
@@ -43,7 +43,7 @@
         <mapping resource="org/roller/pojos/EntryAttributeData.hbm.xml" />
         <mapping resource="org/roller/pojos/FolderAssoc.hbm.xml" />
         <mapping resource="org/roller/pojos/FolderData.hbm.xml" />
-        <mapping resource="org/roller/pojos/PageData.hbm.xml" />
+        <mapping resource="org/roller/pojos/WeblogTemplate.hbm.xml" />
         <mapping resource="org/roller/pojos/PingCategoryRestrictionData.hbm.xml" />
         <mapping resource="org/roller/pojos/AutoPingData.hbm.xml" />
         <mapping resource="org/roller/pojos/PingQueueEntryData.hbm.xml" />

Modified: incubator/roller/trunk/personal/testing/hibernate.cfg.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/personal/testing/hibernate.cfg.xml?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/personal/testing/hibernate.cfg.xml (original)
+++ incubator/roller/trunk/personal/testing/hibernate.cfg.xml Fri Jul  1 14:33:40 2005
@@ -32,7 +32,7 @@
         <mapping resource="org/roller/pojos/EntryAttributeData.hbm.xml" />
         <mapping resource="org/roller/pojos/FolderAssoc.hbm.xml" />
         <mapping resource="org/roller/pojos/FolderData.hbm.xml" />
-        <mapping resource="org/roller/pojos/PageData.hbm.xml" />
+        <mapping resource="org/roller/pojos/WeblogTemplate.hbm.xml" />
         <mapping resource="org/roller/pojos/RefererData.hbm.xml" />
         <mapping resource="org/roller/pojos/RoleData.hbm.xml" />
         <mapping resource="org/roller/pojos/RollerConfigData.hbm.xml" />

Modified: incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java Fri Jul  1 14:33:40 2005
@@ -12,7 +12,7 @@
 import org.roller.model.WeblogManager;
 import org.roller.pojos.BookmarkData;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RoleData;
 import org.roller.pojos.UserCookieData;
 import org.roller.pojos.UserData;
@@ -127,13 +127,13 @@
     /** 
      * @see org.roller.model.UserManager#retrievePage(java.lang.String)
      */
-    public PageData retrievePageReadOnly(String id) throws RollerException
+    public WeblogTemplate retrievePageReadOnly(String id) throws RollerException
     {
         // Don't hit database for templates stored on disk
         if (id != null && id.endsWith(".vm")) return null; 
 
         // Hibernate has a read-only flag: LockMode.READ
-        return (PageData)mStrategy.load(id,PageData.class);
+        return (WeblogTemplate)mStrategy.load(id,WeblogTemplate.class);
     }
 
     //------------------------------------------------------------------- Role
@@ -155,22 +155,22 @@
 
     //------------------------------------------------------------------- Page
 
-    public PageData retrievePage(String id) throws RollerException
+    public WeblogTemplate retrievePage(String id) throws RollerException
     {
         // Don't hit database for templates stored on disk
         if (id != null && id.endsWith(".vm")) return null; 
 
-        return (PageData)mStrategy.load(id,PageData.class);
+        return (WeblogTemplate)mStrategy.load(id,WeblogTemplate.class);
     }
  
     public void removePage(String id) throws RollerException
     {
-        mStrategy.remove(id,PageData.class);
+        mStrategy.remove(id,WeblogTemplate.class);
     }
 
     public void removePageSafely(String id) throws RollerException
     {
-        PageData pd = retrievePageReadOnly(id);
+        WeblogTemplate pd = retrievePageReadOnly(id);
         if (pd == null) return;
 
         WebsiteData wd = pd.getWebsite();
@@ -182,14 +182,14 @@
     }
 
     /**
-     * @see org.roller.model.UserManager#storePage(org.roller.pojos.PageData)
+     * @see org.roller.model.UserManager#storePage(org.roller.pojos.WeblogTemplate)
      */
-    public void storePage(PageData data) throws RollerException
+    public void storePage(WeblogTemplate data) throws RollerException
     {
         mStrategy.store(data);
     }
     
-    public String fixPageLink(PageData data) throws RollerException
+    public String fixPageLink(WeblogTemplate data) throws RollerException
     {
         String link = Utilities.removeHTML(data.getName());
         link = Utilities.removeNonAlphanumeric(link);
@@ -355,7 +355,7 @@
             String sb = (String)pages.get( pageName );
               
             // Store each Velocity template as a page
-            PageData pd = new PageData( null,
+            WeblogTemplate pd = new WeblogTemplate( null,
                 website,         // website
                 pageName,        // name
                 pageName,        // description

Modified: incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java Fri Jul  1 14:33:40 2005
@@ -22,7 +22,7 @@
 import org.roller.model.PingTargetManager;
 import org.roller.model.PingQueueManager;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RefererData;
 import org.roller.pojos.RoleData;
 import org.roller.pojos.UserCookieData;
@@ -61,7 +61,7 @@
     /** 
      * Use Hibernate directly because Roller's Query API does too much allocation.
      */
-    public PageData getPageByLink(WebsiteData website, String pagelink)
+    public WeblogTemplate getPageByLink(WebsiteData website, String pagelink)
                     throws RollerException
     {
         if (website == null)
@@ -71,14 +71,14 @@
             throw new RollerException("Pagelink is null");
                                                                       
         Session session = ((HibernateStrategy)mStrategy).getSession();
-        Criteria criteria = session.createCriteria(PageData.class);
+        Criteria criteria = session.createCriteria(WeblogTemplate.class);
         criteria.add(Expression.eq("website",website));
         criteria.add(Expression.eq("link",pagelink));        
         criteria.setMaxResults(1);
         try
         {
             List list = criteria.list();
-            return list.size()!=0 ? (PageData)list.get(0) : null;
+            return list.size()!=0 ? (WeblogTemplate)list.get(0) : null;
         }
         catch (HibernateException e)
         {
@@ -215,7 +215,7 @@
             throw new RollerException("website is null");
                                                                       
         Session session = ((HibernateStrategy)mStrategy).getSession();
-        Criteria criteria = session.createCriteria(PageData.class);
+        Criteria criteria = session.createCriteria(WeblogTemplate.class);
         criteria.add(Expression.eq("website",website)); 
         criteria.addOrder(Order.asc("name"));
         try
@@ -231,7 +231,7 @@
     /** 
      * @see org.roller.model.UserManager#getPageByName(WebsiteData, java.lang.String)
      */
-    public PageData getPageByName(WebsiteData website, String pagename) 
+    public WeblogTemplate getPageByName(WebsiteData website, String pagename) 
         throws RollerException
     {
         if (website == null)
@@ -241,14 +241,14 @@
             throw new RollerException("Page name is null");
                                    
         Session session = ((HibernateStrategy)mStrategy).getSession();
-        Criteria criteria = session.createCriteria(PageData.class);
+        Criteria criteria = session.createCriteria(WeblogTemplate.class);
         criteria.add(Expression.eq("website", website));
         criteria.add(Expression.eq("name", pagename));
         criteria.setMaxResults(1);
         try
         {
             List list = criteria.list();
-            return list.size()!=0 ? (PageData)list.get(0) : null;
+            return list.size()!=0 ? (WeblogTemplate)list.get(0) : null;
         }
         catch (HibernateException e)
         {
@@ -377,12 +377,12 @@
             }
             
             // remove associated pages
-            Criteria pageQuery = session.createCriteria(PageData.class);
+            Criteria pageQuery = session.createCriteria(WeblogTemplate.class);
             pageQuery.add(Expression.eq("website", website));
             List pages = pageQuery.list();
             for (Iterator iter = pages.iterator(); iter.hasNext();) 
             {
-                PageData page = (PageData) iter.next();
+                WeblogTemplate page = (WeblogTemplate) iter.next();
                 page.remove();
             }
             

Modified: incubator/roller/trunk/src/org/roller/model/UserManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/UserManager.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/UserManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/UserManager.java Fri Jul  1 14:33:40 2005
@@ -2,7 +2,7 @@
 package org.roller.model;
 
 import org.roller.RollerException;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RoleData;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WebsiteData;
@@ -98,16 +98,16 @@
      */
     public void removeWebsite(String id) throws RollerException;
 
-    //--------------------------------------------------------------- PageData
+    //--------------------------------------------------------------- WeblogTemplate
     
     /** Get user's page by name */
-    public PageData getPageByName(WebsiteData w, String p) throws RollerException;
+    public WeblogTemplate getPageByName(WebsiteData w, String p) throws RollerException;
 
     /** Get user's page by link */
-    public PageData getPageByLink(WebsiteData w, String p) throws RollerException;
+    public WeblogTemplate getPageByLink(WebsiteData w, String p) throws RollerException;
 
     /** Fix page link using page name */
-    public String fixPageLink(PageData data) throws RollerException;
+    public String fixPageLink(WeblogTemplate data) throws RollerException;
 
     /** Get users pages */
     public List getPages(WebsiteData w) throws RollerException;
@@ -115,11 +115,11 @@
     /**
      * Get page by ID
      */
-    public PageData retrievePage(String id) throws RollerException;
+    public WeblogTemplate retrievePage(String id) throws RollerException;
     /**
      * Store page
      */
-    public void storePage(PageData data) throws RollerException;
+    public void storePage(WeblogTemplate data) throws RollerException;
     /**
      * Remove page by ID
      */
@@ -138,7 +138,7 @@
 	/**
 	 * Retrieve the Page in read-only mode (does hibernate support this?).
 	 */
-	public PageData retrievePageReadOnly(String id) throws RollerException;
+	public WeblogTemplate retrievePageReadOnly(String id) throws RollerException;
     
     /**
      * Validates a user based on a cookie value.  If successful, it returns

Copied: incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java (from r208785, incubator/roller/trunk/src/org/roller/pojos/PageData.java)
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java?p2=incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java&p1=incubator/roller/trunk/src/org/roller/pojos/PageData.java&r1=208785&r2=208802&rev=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/pojos/PageData.java (original)
+++ incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java Fri Jul  1 14:33:40 2005
@@ -7,15 +7,16 @@
 import org.roller.model.RollerFactory;
 
 
-/** Page bean.
+/**
+ * Page bean.
  * @author David M Johnson
- *
- * @ejb:bean name="PageData"
+ * 
+ * @ejb:bean name="WeblogTemplate"
  * @struts.form include-all="true"
  * @hibernate.class table="webpage" 
  * hibernate.jcs-cache usage="read-write"
  */
-public class PageData
+public class WeblogTemplate
    extends org.roller.pojos.PersistentObject
    implements java.io.Serializable
 {
@@ -30,11 +31,11 @@
 
    protected WebsiteData mWebsite = null;
 
-   public PageData()
+   public WeblogTemplate()
    {
    }
 
-   public PageData( 
+   public WeblogTemplate( 
        java.lang.String id,
        WebsiteData website,
        java.lang.String name,
@@ -52,7 +53,7 @@
       this.updateTime = (Date)updateTime.clone();
    }
 
-   public PageData( PageData otherData )
+   public WeblogTemplate( WeblogTemplate otherData )
    {
       this.id = otherData.id;
       this.mWebsite = otherData.mWebsite;
@@ -185,9 +186,9 @@
 
    public boolean equals( Object pOther )
    {
-      if( pOther instanceof PageData )
+      if( pOther instanceof WeblogTemplate )
       {
-         PageData lTest = (PageData) pOther;
+         WeblogTemplate lTest = (WeblogTemplate) pOther;
          boolean lEquals = true;
 
          if( this.id == null )
@@ -274,19 +275,19 @@
    public void setData( org.roller.pojos.PersistentObject otherData )
    {
 
-      this.id = ((PageData)otherData).id;
+      this.id = ((WeblogTemplate) otherData).id;
 
-      this.mWebsite = ((PageData)otherData).mWebsite;
+      this.mWebsite = ((WeblogTemplate) otherData).mWebsite;
 
-      this.name = ((PageData)otherData).name;
+      this.name = ((WeblogTemplate) otherData).name;
 
-      this.description = ((PageData)otherData).description;
+      this.description = ((WeblogTemplate) otherData).description;
 
-      this.link = ((PageData)otherData).link;
+      this.link = ((WeblogTemplate) otherData).link;
 
-      this.template = ((PageData)otherData).template;
+      this.template = ((WeblogTemplate) otherData).template;
 
-      this.updateTime = ((PageData)otherData).updateTime;
+      this.updateTime = ((WeblogTemplate) otherData).updateTime;
    }
 
    public boolean canSave() throws RollerException

Modified: incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java Fri Jul  1 14:33:40 2005
@@ -22,7 +22,7 @@
 import org.roller.model.WeblogManager;
 import org.roller.pojos.BookmarkData;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WeblogEntryData;
@@ -65,7 +65,7 @@
     private String             mDateString = null;
     private String             mPathInfo = null; 
     private String             mPageLink = null;
-    private PageData           mPage;
+    private WeblogTemplate           mPage;
     private PageContext        mPageContext = null;
     private HttpServletRequest mRequest = null;
     private WebsiteData        mWebsite;
@@ -737,10 +737,10 @@
 
     //------------------------------------------------------------------------
     /**
-     * Gets the PageData specified by the request, or null.
-     * @return PageData
+     * Gets the WeblogTemplate specified by the request, or null.
+     * @return WeblogTemplate
      */
-    public PageData getPage()
+    public WeblogTemplate getPage()
     {
         if (mPage == null)
         {
@@ -763,7 +763,7 @@
     /**
      * Allow comment servlet to inject page that it has chosen.
      */
-    public void setPage(PageData page) 
+    public void setPage(WeblogTemplate page) 
     {
         mPage = page;
     }

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java Fri Jul  1 14:33:40 2005
@@ -1 +1 @@
-package org.roller.presentation.velocity;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Map;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.Context;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.servlet.VelocityServlet;
import org.roller.RollerException;
import org.roller.model.UserManager;
import org.roller.pojos.PageData;
import org.roller.pojos.UserData;
import org.roller.pojos.WebsiteData;
import org.roller.presentation.RollerRequest;

/**
 * Base Servlet for Servlets that render user page templates. Loads the
 * Velocity context using the ContextLoader and runs the page template
 * selected by the request.
 *
 * @author llavandowska
 * @author David M Johnson
 */
public abstract class BasePageServlet extends VelocityServlet
{
    private static Log mLogger =
        LogFactory.getFactory().getInstance(BasePageServlet.class);
	/**
	 *  <p>Sets servletContext for WebappResourceLoader.</p>
	 *
	 * @param config servlet configuation
	 */
	public void init( ServletConfig config )
		throws ServletException
	{
		super.init( config );
		WebappResourceLoader.setServletContext( getServletContext() );
	}
    public Template handleRequest( HttpServletRequest request,
                                   HttpServletResponse response,
                                   Context ctx ) throws Exception
    {
        String pid = null;
        Template outty = null;
        Exception pageException = null;
        
        try
        {
            PageContext pageContext =
                JspFactory.getDefaultFactory().getPageContext(
                    this, request, response,"", true, 8192, true);
            // Needed to init request attributes, etc.
            RollerRequest rreq = RollerRequest.getRollerRequest(pageContext);
            UserManager userMgr = rreq.getRoller().getUserManager();
            
            WebsiteData wd = null;
            if (request.getAttribute(RollerRequest.OWNING_USER) != null) {
                UserData user = (UserData)
                    request.getAttribute(RollerRequest.OWNING_USER);
                wd = userMgr.getWebsite(user.getUserName());
            }
            else
            {
                wd = rreq.getWebsite();
            }
            
            // If request specified the page, then go with that
            PageData pd = null;
            if (rreq.getPage() != null // RollerRequest does too much guess work
                    && request.getAttribute(RollerRequest.OWNING_USER) == null)
            {
                pd = rreq.getPage();
                pid = pd.getId();
            }
            // If page not available from request, then use website's default
            else if (wd != null)
            {
                pd = userMgr.retrievePage(wd.getDefaultPageId());
                pid = pd.getId();
                rreq.setPage(pd); 
            }
            // Still no page ID, then we have a problem
            if ( pid == null )
            {
                throw new ResourceNotFoundException("Page not found");
            }
            
            outty = prepareForPageExecution(ctx, rreq, response, pd);
        }
        catch( Exception e )
        {
	        pageException = e;
            response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        }
        if (pageException != null)
        {
            mLogger.error("EXCEPTION: in RollerServlet", pageException);
            request.setAttribute("DisplayException", pageException);
        }
        return outty;
    }

    //------------------------------------------------------------------------
    /**
     * Try to load user-specified Decorator (if specified).  Failing that
     * see if user has a _decorator Page, if not check for a _decorator
     * in the Preview resource loader.  Finally, if none of those can
     * be found fall back to the no-op decorator.
     * @param object
     * @return
     */
    private Template findDecorator(String decoratorName, UserManager userMgr, WebsiteData wd) 
        throws ResourceNotFoundException, ParseErrorException, RollerException, Exception
    {
        Template decorator = null;
        PageData decoratorPage = null;
        String decoratorId = null;
        
        // check for user-specified decorator
        if (decoratorName != null)
        {    
            decoratorPage = userMgr.getPageByName(wd, decoratorName);
            if (decoratorPage != null) 
            {
                decoratorId = decoratorPage.getId();
            }
        }
        
        // if no user-specified decorator try default page-name
        if (decoratorPage == null)
        {
            decoratorPage = userMgr.getPageByName(wd, "_decorator");
            if (decoratorPage != null) 
            {
                decoratorId = decoratorPage.getId();
            }
            else
            {
                // could be in PreviewResourceLoader
                decoratorId = "_decorator";
            }
        }

        // try loading Template
        if (decoratorId != null) 
        {
            try
            {
                decorator = getTemplate(decoratorId, "UTF-8");
            }
            catch (Exception e)
            {
                // it may not exist, so this is okay
            }
        }
        
        // couldn't find Template, load default "no-op" decorator
        if (decorator == null) 
        {
            decorator = getTemplate("/themes/noop_decorator.vm", "UTF-8");
        }
        return decorator;
    }

    /** 
     * Prepare for page execution be setting content type, populating context,
     * and processing the page decorator if needed.
     */
    protected Template prepareForPageExecution(Context ctx, RollerRequest rreq, 
        HttpServletResponse response, PageData pd) throws Exception
    {                    
        Template outty = null;
        UserManager userMgr = rreq.getRoller().getUserManager();
        WebsiteData wd = pd.getWebsite();
        
        // if page has an extension - use that to set the contentType
        String pageLink = pd.getLink();
        String mimeType = getServletConfig().getServletContext().getMimeType(pageLink);
        if(mimeType != null) {
            // we found a match ... set the content type
            response.setContentType(mimeType);
        }
        
        /* old way ... not as flexible -- Allen G
        int period = pd.getLink().indexOf('.');
        if (period > -1) 
        {
            String extension = pd.getLink().substring(period+1);
            if ("js".equals(extension)) 
            {
                extension = "javascript";
            }
            response.setContentType("text/" + extension);
        }
        */
    
        // Made it this far, populate the Context
        ContextLoader.setupContext( ctx, rreq, response );

        // Get the page
        outty =  getTemplate( pd.getId(), "UTF-8" );

        /**
         * User can define a Decorator Template.
         */
        if (wd != null)
        {
            // parse/merge Page template
            StringWriter sw = new StringWriter();
            outty.merge(ctx, sw);
            ctx.put("decorator_body", sw.toString());

            // replace outty with decorator Template
            outty = findDecorator((String)ctx.get("decorator"), userMgr, wd);                
        }
        return outty;
    }
    
    //------------------------------------------------------------------------
    /**
     * Handle error in Velocity processing.
     */
    protected void error( HttpServletRequest req, HttpServletResponse res,
        Exception e) throws ServletException, IOException
    {
        mLogger.warn("ERROR in VelocityServlet",e);
    }
   
    /** 
     * Override to prevent Velocity from putting "req" and "res" into the context.
     * Allowing users access to the underlying Servlet objects is a security risk.
     * If need access to request parameters, use $requestParameters.
     */
    protected Context createContext(
            HttpServletRequest req,
            HttpServletResponse res) {
        
        VelocityContext context = new VelocityContext();
        context.put(REQUEST, new RequestWrapper(req.getParameterMap()));
        return context;
        
    }
    
    /** Provide access to request params only, not actual request */
    public static class RequestWrapper
    {
        Map params = null;
        public RequestWrapper(Map params) 
        {
            this.params = params;
        }
        public String getParameter(String key)
        {
            String ret = null;
            String[] array = (String[])params.get(key);
            if (array != null && array.length > 0)
            {
                ret = array[0];
            }
            return ret;
        }
    }
}
\ No newline at end of file
+package org.roller.presentation.velocity;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Map;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.Context;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.servlet.VelocityServlet;
import org.roller.RollerException;
import org.roller.model.UserManager;
import org.roller.pojos.WeblogTemplate;
import org.roller.pojos.UserData;
import org.roller.pojos.WebsiteData;
import org.roller.presentation.RollerRequest;

/**
 * Base Servlet for Servlets that render user page templates. Loads the
 * Velocity context using the ContextLoader and runs the page template
 * selected by the request.
 *
 * @author llavandowska
 * @author David M Johnson
 */
public abstract class BasePageServlet extends VelocityServlet
{
    private static Log mLogger =
        LogFactory.getFactory().getInstance(BasePageServlet.class);
	/**
	 *  <p>Sets servletContext for WebappResourceLoader.</p>
	 *
	 * @param config servlet configuation
	 */
	public void init( ServletConfig config )
		throws ServletException
	{
		super.init( config );
		WebappResourceLoader.setServletContext( getServletContext() );
	}
    public Template handleRequest( HttpServletRequest request,
                                   HttpServletResponse response,
                                   Context ctx ) throws Exception
    {
        String pid = null;
        Template outty = null;
        Exception pageException = null;
        
        try
        {
            PageContext pageContext =
                JspFactory.getDefaultFactory().getPageContext(
                    this, request, response,"", true, 8192, true);
            // Needed to init request attributes, etc.
            RollerRequest rreq = RollerRequest.getRollerRequest(pageContext);
            UserManager userMgr = rreq.getRoller().getUserManager();
            
            WebsiteData wd = null;
            if (request.getAttribute(RollerRequest.OWNING_USER) != null) {
                UserData user = (UserData)
                    request.getAttribute(RollerRequest.OWNING_USER);
                wd = userMgr.getWebsite(user.getUserName());
            }
            else
            {
                wd = rreq.getWebsite();
            }
            
            // If request specified the page, then go with that
            WeblogTemplate pd = null;
            if (rreq.getPage() != null // RollerRequest does too much guess work
                    && request.getAttribute(RollerRequest.OWNING_USER) == null)
            {
                pd = rreq.getPage();
                pid = pd.getId();
            }
            // If page not available from request, then use website's default
            else if (wd != null)
            {
                pd = userMgr.retrievePage(wd.getDefaultPageId());
                pid = pd.getId();
                rreq.setPage(pd); 
            }
            // Still no page ID, then we have a problem
            if ( pid == null )
            {
                throw new ResourceNotFoundException("Page not found");
            }
            
            outty = prepareForPageExecution(ctx, rreq, response, pd);
        }
        catch( Exception e )
        {
	        pageException = e;
            response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        }
        if (pageException != null)
        {
            mLogger.error("EXCEPTION: in RollerServlet", pageException);
            request.setAttribute("DisplayException", pageException);
        }
        return outty;
    }

    //------------------------------------------------------------------------
    /**
     * Try to load user-specified Decorator (if specified).  Failing that
     * see if user has a _decorator Page, if not check for a _decorator
     * in the Preview resource loader.  Finally, if none of those can
     * be found fall back to the no-op decorator.
     * @param object
     * @return
     */
    private Template findDecorator(String decoratorName, UserManager userMgr, WebsiteData wd) 
        throws ResourceNotFoundException, ParseErrorException, RollerException, Exception
    {
        Template decorator = null;
        WeblogTemplate decoratorPage = null;
        String decoratorId = null;
        
        // check for user-specified decorator
        if (decoratorName != null)
        {    
            decoratorPage = userMgr.getPageByName(wd, decoratorName);
            if (decoratorPage != null) 
            {
                decoratorId = decoratorPage.getId();
            }
        }
        
        // if no user-specified decorator try default page-name
        if (decoratorPage == null)
        {
            decoratorPage = userMgr.getPageByName(wd, "_decorator");
            if (decoratorPage != null) 
            {
                decoratorId = decoratorPage.getId();
            }
            else
            {
                // could be in PreviewResourceLoader
                decoratorId = "_decorator";
            }
        }

        // try loading Template
        if (decoratorId != null) 
        {
            try
            {
                decorator = getTemplate(decoratorId, "UTF-8");
            }
            catch (Exception e)
            {
                // it may not exist, so this is okay
            }
        }
        
        // couldn't find Template, load default "no-op" decorator
        if (decorator == null) 
        {
            decorator = getTemplate("/themes/noop_decorator.vm", "UTF-8");
        }
        return decorator;
    }

    /** 
     * Prepare for page execution be setting content type, populating context,
     * and processing the page decorator if needed.
     */
    protected Template prepareForPageExecution(Context ctx, RollerRequest rreq, 
        HttpServletResponse response, WeblogTemplate pd) throws Exception
    {                    
        Template outty = null;
        UserManager userMgr = rreq.getRoller().getUserManager();
        WebsiteData wd = pd.getWebsite();
        
        // if page has an extension - use that to set the contentType
        String pageLink = pd.getLink();
        String mimeType = getServletConfig().getServletContext().getMimeType(pageLink);
        if(mimeType != null) {
            // we found a match ... set the content type
            response.setContentType(mimeType);
        }
        
        /* old way ... not as flexible -- Allen G
        int period = pd.getLink().indexOf('.');
        if (period > -1) 
        {
            String extension = pd.getLink().substring(period+1);
            if ("js".equals(extension)) 
            {
                extension = "javascript";
            }
            response.setContentType("text/" + extension);
        }
        */
    
        // Made it this far, populate the Context
        ContextLoader.setupContext( ctx, rreq, response );

        // Get the page
        outty =  getTemplate( pd.getId(), "UTF-8" );

        /**
         * User can define a Decorator Template.
         */
        if (wd != null)
        {
            // parse/merge Page template
            StringWriter sw = new StringWriter();
            outty.merge(ctx, sw);
            ctx.put("decorator_body", sw.toString());

            // replace outty with decorator Template
            outty = findDecorator((String)ctx.get("decorator"), userMgr, wd);                
        }
        return outty;
    }
    
    //------------------------------------------------------------------------
    /**
     * Handle error in Velocity processing.
     */
    protected void error( HttpServletRequest req, HttpServletResponse res,
        Exception e) throws ServletException, IOException
    {
        mLogger.warn("ERROR in VelocityServlet",e);
    }
   
    /** 
     * Override to prevent Velocity from putting "req" and "res" into the context.
     * Allowing users access to the underlying Servlet objects is a security risk.
     * If need access to request parameters, use $requestParameters.
     */
    protected Context createContext(
            HttpServletRequest req,
            HttpServletResponse res) {
        
        VelocityContext context = new VelocityContext();
        context.put(REQUEST, new RequestWrapper(req.getParameterMap()));
        return context;
        
    }
    
    /** Provide access to request params only, not actual request */
    public static class RequestWrapper
    {
        Map params = null;
        public RequestWrapper(Map params) 
        {
            this.params = params;
        }
        public String getParameter(String key)
        {
            String ret = null;
            String[] array = (String[])params.get(key);
            if (array != null && array.length > 0)
            {
                ret = array[0];
            }
            return ret;
        }
    }
}
\ No newline at end of file

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java Fri Jul  1 14:33:40 2005
@@ -32,7 +32,7 @@
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
 import org.roller.pojos.CommentData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
@@ -110,7 +110,7 @@
             WebsiteData website = rreq.getWebsite();
                 
             // Request specifies popup
-            PageData page = null;
+            WeblogTemplate page = null;
             Exception pageException = null;
             try 
             {
@@ -130,7 +130,7 @@
             // User doesn't have one so return the default
             if (page == null) 
             {
-                page = new PageData("/popupcomments.vm", website, "Comments", 
+                page = new WeblogTemplate("/popupcomments.vm", website, "Comments", 
                     "Comments", "dummy_link", "dummy_template", new Date());
             }
             rreq.setPage(page);
@@ -444,7 +444,7 @@
             commentURL.append("/comments/");
             commentURL.append(rreq.getUser().getUserName());
             
-            PageData page = rreq.getPage();
+            WeblogTemplate page = rreq.getPage();
             if (page == null)
             {
                 commentURL.append("?entry=");

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java Fri Jul  1 14:33:40 2005
@@ -28,7 +28,7 @@
 import org.roller.model.Roller;
 import org.roller.model.RollerFactory;
 import org.roller.pojos.CommentData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RollerPropertyData;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogEntryData;
@@ -165,12 +165,12 @@
         if (website != null && pageModel != null) 
         {
             /* alternative display pages - customization */
-            PageData entryPage = pageModel.getUsersPageByName(website, "_entry");
+            WeblogTemplate entryPage = pageModel.getUsersPageByName(website, "_entry");
             if (entryPage != null)
             {
                 ctx.put("entryPage", entryPage);
             }
-            PageData descPage = pageModel.getUsersPageByName(website, "_desc");
+            WeblogTemplate descPage = pageModel.getUsersPageByName(website, "_desc");
             if (descPage != null)
             {
                 ctx.put("descPage", descPage);

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java Fri Jul  1 14:33:40 2005
@@ -1,2 +1,2 @@
-package org.roller.presentation.velocity;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.Template;
import org.apache.velocity.context.Context;
import org.apache.velocity.servlet.VelocityServlet;
import org.roller.RollerException;
import org.roller.model.UserManager;
import org.roller.pojos.PageData;
import org.roller.pojos.UserData;
import org.roller.pojos.WebsiteData;
import org.roller.presentation.RollerContext;
import org.roller.presentation.RollerRequest;
import org.roller.util.Utilities;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


//////////////////////////////////////////////////////////////////////////////

/**
  * <p>Responsible for rendering FOAF feed.  This servlet requires
  * that the RequestFilter is in place for it, and should also
  * have the IfModifiedFilter configured.</p>
  * 
  * <p>Resources:<br />
  * <a href="http://xmlns.com/foaf/0.1/"
  *     >FOAF Vocabulary Specification</a><br />
  * <a href="http://www.xml.com/lpt/a/2004/02/04/foaf.html"
  *     >An Introduction to FOAF</a></p>
  * 
  * <p>FOAF Autodiscovery: <br />
  * <link rel="meta" type="application/rdf+xml" title="FOAF" 
  *     href="$absBaseURL/foaf/$userName" /> </p>
  *
  * @author Lance Lavandowska
  *
  * @web.servlet name="FoafServlet"
  * @web.servlet-mapping url-pattern="/foaf/*"
  */
public class FoafServlet extends VelocityServlet
{
    static final long serialVersionUID = -1893244416537298619L;
    
    private static Log mLogger = LogFactory.getFactory()
                                           .getInstance(RollerRequest.class);

    /**
     * This Velocity servlet does not make use of ContextLoader and associated
     * classes (as do FlavorServlet and PageServlet) because that is more
     * work than is really necessary.  It implements its own setupContext()
     * to load necessary values into the Velocity Context.
     * 
     * @param ctx
     * @param rreq
     * @throws RollerException
     */
    public Template handleRequest(HttpServletRequest request,
                                  HttpServletResponse response, Context ctx)
    {
        RollerRequest rreq = null;
        try
        {
            rreq = RollerRequest.getRollerRequest(request, getServletContext());
        }
        catch (RollerException e)
        {
            // An error initializing the request is considered to be a 404
            if (mLogger.isDebugEnabled())
            {
                mLogger.debug("RollerRequest threw Exception", e);
            }

            try
            {
                response.sendError(HttpServletResponse.SC_NOT_FOUND);
            }
            catch (IOException e1)
            {
                if (mLogger.isDebugEnabled())
                {
                    mLogger.debug("IOException sending error", e);
                }
            }
            return null;
        }
        
        try
        {
            setupContext(ctx, rreq);

            response.setContentType("application/rdf+xml");
            return getTemplate("/flavors/foaf.vm");
        }
        catch (Exception e)
        {
            mLogger.error("ERROR in FoafServlet", e);
        }
        return null;
    }

    /**
	 * @param ctx
	 */
	private void setupContext(Context ctx, RollerRequest rreq) throws RollerException
	{
        HttpServletRequest request = rreq.getRequest();
        RollerContext rollerCtx = RollerContext.getRollerContext( request );
        
        UserData user = rreq.getUser();
-        ctx.put("fullName", user.getFullName()); // name for FlavorServlet compatibility
        
        // foaf:homepage to equal base URL for user
        String homepage = Utilities.escapeHTML( 
                rollerCtx.getAbsoluteContextUrl(request) + 
                    "/page/" + rreq.getUser().getUserName() );
        ctx.put("websiteURL", homepage); // name for FlavorServlet compatibility

        // see if foaf:weblog is different Page
        WebsiteData website = rreq.getWebsite();
        UserManager usrMgr = RollerContext.getRoller(request).getUserManager();
        PageData weblog = usrMgr.getPageByName(website, "Weblog");
        // if weblog != homepage, add to context
        if (weblog != null && !website.getDefaultPageId().equals(weblog.getId()))
        {
            String weblogUrl = Utilities.escapeHTML( 
                    rollerCtx.getAbsoluteContextUrl(request) + 
                        "/page/" + rreq.getUser().getUserName() + 
                            "/" + weblog.getLink() );
        	ctx.put("weblog", weblogUrl);
        }
        
        // use SHA1 encrypted email address, including mailto: prefix
        String shaEmail = Utilities.encodePassword(
                "mailto:" + user.getEmailAddress(), "SHA");
        ctx.put("shaEmail", shaEmail);
	}

	//------------------------------------------------------------------------
    /**
     * Handle error in Velocity processing.
     */
    protected void error( HttpServletRequest req, HttpServletResponse res,
        Exception e) throws ServletException, IOException
    {
        mLogger.warn("ERROR in FoafServlet",e);
    }
}
\ No newline at end of file
+package org.roller.presentation.velocity;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.velocity.Template;
import org.apache.velocity.context.Context;
import org.apache.velocity.servlet.VelocityServlet;
import org.roller.RollerException;
import org.roller.model.UserManager;
import org.roller.pojos.WeblogTemplate;
import org.roller.pojos.UserData;
import org.roller.pojos.WebsiteData;
import org.roller.presentation.RollerContext;
import org.roller.presentation.RollerRequest;
import org.roller.util.Utilities;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


//////////////////////////////////////////////////////////////////////////////

/**
  * <p>Responsible for rendering FOAF feed.  This servlet requires
  * that the RequestFilter is in place for it, and should also
  * have the IfModifiedFilter configured.</p>
  * 
  * <p>Resources:<br />
  * <a href="http://xmlns.com/foaf/0.1/"
  *     >FOAF Vocabulary Specification</a><br />
  * <a href="http://www.xml.com/lpt/a/2004/02/04/foaf.html"
  *     >An Introduction to FOAF</a></p>
  * 
  * <p>FOAF Autodiscovery: <br />
  * <link rel="meta" type="application/rdf+xml" title="FOAF" 
  *     href="$absBaseURL/foaf/$userName" /> </p>
  *
  * @author Lance Lavandowska
  *
  * @web.servlet name="FoafServlet"
  * @web.servlet-mapping url-pattern="/foaf/*"
  */
public class FoafServlet extends VelocityServlet
{
    static final long serialVersionUID = -1893244416537298619L;
    
    private static Log mLogger = LogFactory.getFactory()
                                           .getInstance(RollerRequest.class);

    /**
     * This Velocity servlet does not make use of ContextLoader and associated
     * classes (as do FlavorServlet and PageServlet) because that is more
     * work than is really necessary.  It implements its own setupContext()
     * to load necessary values into the Velocity Context.
     * 
     * @param ctx
     * @param rreq
     * @throws RollerException
     */
    public Template handleRequest(HttpServletRequest request,
                                  HttpServletResponse response, Context ctx)
    {
        RollerRequest rreq = null;
        try
        {
            rreq = RollerRequest.getRollerRequest(request, getServletContext());
        }
        catch (RollerException e)
        {
            // An error initializing the request is considered to be a 404
            if (mLogger.isDebugEnabled())
            {
                mLogger.debug("RollerRequest threw Exception", e);
            }

            try
            {
                response.sendError(HttpServletResponse.SC_NOT_FOUND);
            }
            catch (IOException e1)
            {
                if (mLogger.isDebugEnabled())
                {
                    mLogger.debug("IOException sending error", e);
                }
            }
            return null;
        }
        
        try
        {
            setupContext(ctx, rreq);

            response.setContentType("application/rdf+xml");
            return getTemplate("/flavors/foaf.vm");
        }
        catch (Exception e)
        {
            mLogger.error("ERROR in FoafServlet", e);
        }
        return null;
    }

    /**
	 * @param ctx
	 */
	private void setupContext(Context ctx, RollerRequest rreq) throws RollerException
	{
        HttpServletRequest request = rreq.getRequest();
        RollerContext rollerCtx = RollerContext.getRollerContext( request );
        
        UserData user = rreq.getUser();
+        ctx.put("fullName", user.getFullName()); // name for FlavorServlet compatibility
        
        // foaf:homepage to equal base URL for user
        String homepage = Utilities.escapeHTML( 
                rollerCtx.getAbsoluteContextUrl(request) + 
                    "/page/" + rreq.getUser().getUserName() );
        ctx.put("websiteURL", homepage); // name for FlavorServlet compatibility

        // see if foaf:weblog is different Page
        WebsiteData website = rreq.getWebsite();
        UserManager usrMgr = RollerContext.getRoller(request).getUserManager();
        WeblogTemplate weblog = usrMgr.getPageByName(website, "Weblog");
        // if weblog != homepage, add to context
        if (weblog != null && !website.getDefaultPageId().equals(weblog.getId()))
        {
            String weblogUrl = Utilities.escapeHTML( 
                    rollerCtx.getAbsoluteContextUrl(request) + 
                        "/page/" + rreq.getUser().getUserName() + 
                            "/" + weblog.getLink() );
        	ctx.put("weblog", weblogUrl);
        }
        
        // use SHA1 encrypted email address, including mailto: prefix
        String shaEmail = Utilities.encodePassword(
                "mailto:" + user.getEmailAddress(), "SHA");
        ctx.put("shaEmail", shaEmail);
	}

	//------------------------------------------------------------------------
    /**
     * Handle error in Velocity processing.
     */
    protected void error( HttpServletRequest req, HttpServletResponse res,
        Exception e) throws ServletException, IOException
    {
        mLogger.warn("ERROR in FoafServlet",e);
    }
}
\ No newline at end of file

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java Fri Jul  1 14:33:40 2005
@@ -8,7 +8,7 @@
 import org.apache.velocity.runtime.RuntimeSingleton;
 import org.roller.model.RefererManager;
 import org.roller.model.UserManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RefererData;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
@@ -604,7 +604,7 @@
                 (HttpServletRequest)mPageContext.getRequest());                
             UserManager userMgr = rreq.getRoller().getUserManager();
             
-            PageData pd = userMgr.getPageByName( 
+            WeblogTemplate pd = userMgr.getPageByName( 
                 rreq.getWebsite(), pageName );
             Template vtemplate = null;
             if (pd != null)
@@ -932,7 +932,7 @@
      */
     public String showPageName()
     {
-        PageData pd = null;
+        WeblogTemplate pd = null;
         RollerRequest rreq = getRollerRequest();
         try
         {
@@ -951,7 +951,7 @@
      */
     public String showPageDescription()
     {
-        PageData pd = null;
+        WeblogTemplate pd = null;
         RollerRequest rreq = getRollerRequest();
         try
         {
@@ -971,7 +971,7 @@
      */
     public String showPageUpdateTime()
     {
-        PageData pd = null;
+        WeblogTemplate pd = null;
         RollerRequest rreq = getRollerRequest();
         try
         {

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java Fri Jul  1 14:33:40 2005
@@ -19,7 +19,7 @@
 import org.roller.model.WeblogManager;
 import org.roller.pojos.BookmarkComparator;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.RefererData;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
@@ -105,7 +105,7 @@
                 Iterator pageIter = pages.iterator();
                 while (pageIter.hasNext())
                 {
-                    PageData page = (PageData) pageIter.next();
+                    WeblogTemplate page = (WeblogTemplate) pageIter.next();
                     mPageMap.put(page.getName(), page);
                 }
             }
@@ -214,9 +214,9 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates UserManager.getPageByName() */
-    public PageData getUsersPageByName(WebsiteData website, String pageName)
+    public WeblogTemplate getUsersPageByName(WebsiteData website, String pageName)
     {
-        PageData page = null;
+        WeblogTemplate page = null;
         try
         {
             if (website == null) 
@@ -241,9 +241,9 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates UserManager.getPageByName() */
-    public PageData getPageByName(String pageName)
+    public WeblogTemplate getPageByName(String pageName)
     {
-        return (PageData)mPageMap.get(pageName);
+        return (WeblogTemplate)mPageMap.get(pageName);
     }
     
     //------------------------------------------------------------------------
@@ -251,7 +251,7 @@
     /** Encapsulates UserManager.getPageByName() */
     public String getPageIdByName(String pageName)
     {
-        PageData pd = (PageData)mPageMap.get(pageName);
+        WeblogTemplate pd = (WeblogTemplate)mPageMap.get(pageName);
         if ( pd != null ) 
         {
             return pd.getId();

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java Fri Jul  1 14:33:40 2005
@@ -8,7 +8,7 @@
 import org.apache.velocity.runtime.resource.loader.ResourceLoader;
 import org.roller.RollerException;
 import org.roller.model.Roller;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.presentation.RollerContext;
 
 import java.io.ByteArrayInputStream;
@@ -77,7 +77,7 @@
 
         try
         {
-            PageData page = getPage( name );
+            WeblogTemplate page = getPage( name );
             if (page == null)
             {
             	throw new ResourceNotFoundException(
@@ -118,7 +118,7 @@
         String name = resource.getName();
         try
         {
-            PageData page = getPage( name );
+            WeblogTemplate page = getPage( name );
             
             if (mLogger.isDebugEnabled())
             {
@@ -134,7 +134,7 @@
         return 0;
     }
 
-    public PageData getPage(String id) throws RollerException
+    public WeblogTemplate getPage(String id) throws RollerException
     {
     	if (getRoller() == null) throw new RollerException(
 			"RollerResourceLoader.getRoller() returned NULL");

Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java Fri Jul  1 14:33:40 2005
@@ -3,7 +3,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.apache.velocity.VelocityContext;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 
 /**
  * A web page insert is a big of HTML that is inserted into a page into 
@@ -14,7 +14,7 @@
 public interface VelocityPageInsert 
 {
     public void display(
-        PageData page,
+        WeblogTemplate page,
         VelocityContext context,
         HttpServletRequest request, 
         HttpServletResponse response);

Modified: incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java Fri Jul  1 14:33:40 2005
@@ -16,7 +16,7 @@
 import org.roller.RollerException;
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerContext;
 import org.roller.presentation.RollerRequest;
@@ -239,7 +239,7 @@
     private String getDefaultPageId(RollerRequest rreq) throws RollerException {
         UserManager userMgr = rreq.getRoller().getUserManager();
         WebsiteData wd = rreq.getWebsite();
-        PageData pd = userMgr.retrievePage(wd.getDefaultPageId());
+        WeblogTemplate pd = userMgr.retrievePage(wd.getDefaultPageId());
         return pd.getId();
     }
     

Modified: incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java Fri Jul  1 14:33:40 2005
@@ -6,7 +6,7 @@
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.runtime.RuntimeSingleton;
 import org.roller.model.WeblogManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerRequest;
 
@@ -111,7 +111,7 @@
             String pid = null; 
             if ( mDayTemplate != null )
             {
-                PageData page =
+                WeblogTemplate page =
                     rreq.getRoller().getUserManager().getPageByLink(
                         website, mDayTemplate );
                 if (page != null)

Modified: incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java Fri Jul  1 14:33:40 2005
@@ -10,7 +10,7 @@
 import org.apache.struts.actions.DispatchAction;
 import org.roller.RollerException;
 import org.roller.model.UserManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerContext;
@@ -122,7 +122,7 @@
 					(String)request.getSession(true).getAttribute(LAST_THEME)); 
                                 
 			     // load the current default page
-                PageData page = getDefaultPage( rreq );
+                WeblogTemplate page = getDefaultPage( rreq );
 					teForm.setThemeTemplate( page.getTemplate() );
 					
 					
@@ -206,7 +206,7 @@
 
 				// put the template where PreviewServlet
 				// will be able to find it
-				PageData page = getDefaultPage( rreq );			
+				WeblogTemplate page = getDefaultPage( rreq );			
 				PreviewResourceLoader.setTemplate(page.getId(), 
 					teForm.getThemeTemplate(), rreq.getUser().getUserName() );
 				
@@ -284,7 +284,7 @@
 
 				// store the template in the page
 				UserManager mgr = rreq.getRoller().getUserManager();
-				PageData page = getDefaultPage( rreq );
+				WeblogTemplate page = getDefaultPage( rreq );
 
 				page.setTemplate( template );
 				mgr.storePage( page);
@@ -410,11 +410,11 @@
 	
 	/**
 	 * Get the Default Page for the website specified by request.
-     * 
+	 * 
 	 * @param rreq
-	 * @return PageData
+	 * @return WeblogTemplate
 	 */
-	private PageData getDefaultPage(RollerRequest rreq) throws RollerException
+	private WeblogTemplate getDefaultPage(RollerRequest rreq) throws RollerException
 	{
 		try
 		{
@@ -457,7 +457,7 @@
                 String pageName = (String) iter.next();
                 String sb = (String)pages.get( pageName );
     
-                PageData page = mgr.getPageByName( rreq.getWebsite(), pageName );
+                WeblogTemplate page = mgr.getPageByName( rreq.getWebsite(), pageName );
                 if (page != null)
                 {
                     PreviewResourceLoader.setTemplate(page.getId(),sb,username);
@@ -513,7 +513,7 @@
                 String pageName = children[i].substring(
                     0,children[i].length()-3);
     
-                PageData page = mgr.getPageByName(rreq.getWebsite(), pageName);
+                WeblogTemplate page = mgr.getPageByName(rreq.getWebsite(), pageName);
                 if (page != null)
                 {
                     PreviewResourceLoader.clearTemplate( page.getId() );
@@ -564,7 +564,7 @@
                 String pageName = (String) iter.next();
                 String pageContent = (String)pages.get( pageName );
     
-                PageData page = mgr.getPageByName( rreq.getWebsite(), pageName );
+                WeblogTemplate page = mgr.getPageByName( rreq.getWebsite(), pageName );
                 if (page != null)
                 {
                     // User already has page by that name, so overwrite it.
@@ -573,7 +573,7 @@
                 else
                 {
                     // User does not have page by that name, so create new page.
-                    page = new PageData( null,
+                    page = new WeblogTemplate( null,
                         website,         // website
                         pageName,        // name
                         pageName,        // description

Copied: incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java (from r208785, incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java)
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java?p2=incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java&p1=incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java&r1=208785&r2=208802&rev=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java Fri Jul  1 14:33:40 2005
@@ -21,11 +21,11 @@
 import org.roller.RollerException;
 import org.roller.RollerPermissionsException;
 import org.roller.model.UserManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerRequest;
-import org.roller.presentation.forms.PageForm;
+import org.roller.presentation.forms.WeblogTemplateForm;
 import org.roller.presentation.pagecache.PageCacheFilter;
 import org.roller.util.StringUtils;
 import org.roller.util.Utilities;
@@ -34,17 +34,17 @@
 /////////////////////////////////////////////////////////////////////////////
 /**
  * Page form action.
- * @struts.action name="pageForm" path="/editor/page"
+ * @struts.action name="weblogTemplateForm" path="/editor/page"
  *  	scope="session" parameter="method"
  * 
  * @struts.action-forward name="removePage.page" path="/website/remove-page.jsp"
  * @struts.action-forward name="editPage.page" path="/website/edit-page.jsp"
  * @struts.action-forward name="editPages.page" path="/website/edit-pages.jsp"
  */
-public final class PageFormAction extends DispatchAction
+public final class WeblogTemplateFormAction extends DispatchAction
 {
     private static Log mLogger = 
-        LogFactory.getFactory().getInstance(PageFormAction.class);
+        LogFactory.getFactory().getInstance(WeblogTemplateFormAction.class);
         
     public ActionForward add(
         ActionMapping       mapping,
@@ -59,8 +59,8 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if ( rreq.isUserAuthorizedToEdit() )
             {
-                PageForm form = (PageForm)actionForm;
-                PageData data = new PageData();
+                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+                WeblogTemplate data = new WeblogTemplate();
                 form.copyTo(data, request.getLocale());
                 WebsiteData hd = rreq.getWebsite();
 
@@ -115,8 +115,8 @@
             if ( rreq.isUserAuthorizedToEdit() )
             {
                 UserData ud = rreq.getUser();
-                PageData pd = rreq.getPage();
-                PageForm pf = (PageForm)actionForm;
+                WeblogTemplate pd = rreq.getPage();
+                WeblogTemplateForm pf = (WeblogTemplateForm)actionForm;
                 pf.copyFrom(pd, request.getLocale());
 
                 PageCacheFilter.removeFromCache( request,ud );
@@ -179,8 +179,8 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if ( rreq.isUserAuthorizedToEdit() )
             {
-                PageForm form = (PageForm)actionForm;
-                PageData data = new PageData();
+                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+                WeblogTemplate data = new WeblogTemplate();
                 form.copyTo(data, request.getLocale());
 
                 UserManager mgr = rreq.getRoller().getUserManager();
@@ -228,8 +228,8 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if ( rreq.isUserAuthorizedToEdit() )
             {
-                PageData cd = rreq.getPage();
-                PageForm pf = (PageForm)actionForm;
+                WeblogTemplate cd = rreq.getPage();
+                WeblogTemplateForm pf = (WeblogTemplateForm)actionForm;
                 pf.copyFrom(cd, request.getLocale());
 
                 UserData ud = rreq.getUser();
@@ -262,9 +262,9 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if ( rreq.isUserAuthorizedToEdit() )
             {
-                PageForm form = (PageForm)actionForm;
+                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
                 UserManager mgr = rreq.getRoller().getUserManager();
-                PageData data = mgr.retrievePage(form.getId());
+                WeblogTemplate data = mgr.retrievePage(form.getId());
                 data.save(); // should through exception if no save permission
                 form.copyTo(data, request.getLocale());
                 data.setUpdateTime( new java.util.Date() );
@@ -276,7 +276,7 @@
                 rreq.getRoller().commit();
 
                 // set the (possibly) new link back into the Form bean
-                ((PageForm)actionForm).setLink( data.getLink() );
+                ((WeblogTemplateForm)actionForm).setLink( data.getLink() );
 
                 ActionMessages uiMessages = new ActionMessages();
                 uiMessages.add(ActionMessages.GLOBAL_MESSAGE, 
@@ -319,7 +319,7 @@
      * characters that are web-safe), this is a much easier
      * test-and-correct.  Otherwise we would need a RegEx package.
      */
-    private void validateLink( PageData data )
+    private void validateLink( WeblogTemplate data )
     {
         // if data.getLink() is null or empty
         // use the title ( data.getName() )

Modified: incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java (original)
+++ incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java Fri Jul  1 14:33:40 2005
@@ -9,7 +9,7 @@
 import org.roller.model.Roller;
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
@@ -130,7 +130,7 @@
             Roller roller = RollerRequest.getRollerRequest().getRoller();
             UserManager userMgr = roller.getUserManager();
 
-            PageData page = userMgr.retrievePage(templateType);
+            WeblogTemplate page = userMgr.retrievePage(templateType);
             page.setTemplate(templateData);
             userMgr.storePage(page);
             flushPageCache(userid);
@@ -174,7 +174,7 @@
         {
             Roller roller = RollerRequest.getRollerRequest().getRoller();
             UserManager userMgr = roller.getUserManager();
-            PageData page = userMgr.retrievePage(templateType);
+            WeblogTemplate page = userMgr.retrievePage(templateType);
 
             if ( null == page )
             {

Modified: incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java (original)
+++ incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java Fri Jul  1 14:33:40 2005
@@ -16,7 +16,7 @@
 import org.roller.pojos.BookmarkData;
 import org.roller.pojos.CommentData;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WeblogEntryData;
@@ -152,7 +152,7 @@
         // gets hold of testuser0's entry
         WebsiteData website0 = getRoller().getUserManager().getWebsite("testuser0");
         assertNotNull(website0);
-        PageData page = (PageData)getRoller().getUserManager().getPages(website0).get(0);
+        WeblogTemplate page = (WeblogTemplate)getRoller().getUserManager().getPages(website0).get(0);
         assertNotNull(page);
         
         // and tries to save it

Modified: incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java (original)
+++ incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java Fri Jul  1 14:33:40 2005
@@ -17,7 +17,7 @@
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
+import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WebsiteData;

Modified: incubator/roller/trunk/web/website/edit-page.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-page.jsp?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/web/website/edit-page.jsp (original)
+++ incubator/roller/trunk/web/website/edit-page.jsp Fri Jul  1 14:33:40 2005
@@ -4,7 +4,7 @@
 
 <html:form action="/editor/page" method="post">
 
-	<h1><fmt:message key="pageForm.editPage" />:<bean:write name="pageForm" property="name" /></h1>
+	<h1><fmt:message key="pageForm.editPage" />:<bean:write name="weblogTemplateForm" property="name" /></h1>
 	
     <table>
         <tr>

Modified: incubator/roller/trunk/web/website/remove-page.jsp
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/remove-page.jsp?rev=208802&r1=208801&r2=208802&view=diff
==============================================================================
--- incubator/roller/trunk/web/website/remove-page.jsp (original)
+++ incubator/roller/trunk/web/website/remove-page.jsp Fri Jul  1 14:33:40 2005
@@ -2,15 +2,15 @@
 
 
 <h3>
-<jsp:useBean id="pageForm" scope="session" 
-	class="org.roller.presentation.forms.PageForm"/>
-Remove Page [<jsp:getProperty name="pageForm" property="name"/>]
+<jsp:useBean id="weblogTemplateForm" scope="session" 
+	class="org.roller.presentation.forms.WeblogTemplateForm"/>
+Remove Page [<jsp:getProperty name="weblogTemplateForm" property="name"/>]
 </h3>
 
 <p>Are you sure you want to remove this page?</p>
 <p>
-Page name = [<jsp:getProperty name="pageForm" property="name"/>]<br />
-Page id = [<jsp:getProperty name="pageForm" property="id"/>]
+Page name = [<jsp:getProperty name="weblogTemplateForm" property="name"/>]<br />
+Page id = [<jsp:getProperty name="weblogTemplateForm" property="id"/>]
 </p>
 
 <table>



Re: svn commit: r208802 - in /incubator/roller/trunk:

Posted by Allen Gilliland <Al...@Sun.COM>.
ahh ... so far i am really liking subversion and i like that we get commit notifications now :)

anyways, this is just the code to rename PageData to WeblogTemplate.  i did my own testing and didn't find any problems, but if anyone wants to give it a quick shot and help test out i thought it would be good to isolate this one change for a little bit before i checkin any of the new theme management classes.

-- Allen


On Fri, 2005-07-01 at 14:33, agilliland@apache.org wrote:
> Author: agilliland
> Date: Fri Jul  1 14:33:40 2005
> New Revision: 208802
> 
> URL: http://svn.apache.org/viewcvs?rev=208802&view=rev
> Log:
> refactored PageData class to now be WeblogTemplate 
> 
> 
> Added:
>     incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java
>       - copied, changed from r208785, incubator/roller/trunk/src/org/roller/pojos/PageData.java
>     incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java
>       - copied, changed from r208785, incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java
> Removed:
>     incubator/roller/trunk/src/org/roller/pojos/PageData.java
>     incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java
> Modified:
>     incubator/roller/trunk/build.xml
>     incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
>     incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
>     incubator/roller/trunk/personal/testing/hibernate.cfg.xml
>     incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java
>     incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
>     incubator/roller/trunk/src/org/roller/model/UserManager.java
>     incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java
>     incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java
>     incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java
>     incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java
>     incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
>     incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java
>     incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java
>     incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java
>     incubator/roller/trunk/web/website/edit-page.jsp
>     incubator/roller/trunk/web/website/remove-page.jsp
> 
> Modified: incubator/roller/trunk/build.xml
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/build.xml?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/build.xml (original)
> +++ incubator/roller/trunk/build.xml Fri Jul  1 14:33:40 2005
> @@ -74,6 +74,7 @@
>  
>      <!-- Use EJBDoclet to generate Struts forms -->
>      <ejbdoclet destdir="${build.generated}/src" excludedtags="@version,@author">
> +	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
>          <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
>          <fileset dir="./src" includes="org/roller/business/*Data.java" /> 
>          &custom-gen-web;
> @@ -129,6 +130,7 @@
>          excludedtags="@version,@author"
>          addedtags="@xdoclet-generated at ${TODAY}"
>          force="true">
> +	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
>          <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
>          <fileset dir="./src" includes="org/roller/pojos/*Assoc.java" />
>          <fileset dir="./src" includes="org/roller/business/*Data.java" />
> 
> Modified: incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java (original)
> +++ incubator/roller/trunk/contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/AcronymsPlugin.java Fri Jul  1 14:33:40 2005
> @@ -12,7 +12,7 @@
>  import org.roller.RollerException;
>  import org.roller.model.RollerFactory;
>  import org.roller.model.UserManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.WeblogEntryData;
>  import org.roller.pojos.WebsiteData;
>  import org.roller.presentation.RollerRequest;
> @@ -80,7 +80,7 @@
>          try
>          {
>              UserManager userMgr = RollerFactory.getRoller().getUserManager();
> -            PageData acronymsPage = userMgr.getPageByName(
> +            WeblogTemplate acronymsPage = userMgr.getPageByName(
>                                          website, "_acronyms");
>              if (acronymsPage != null) 
>              {
> @@ -193,13 +193,13 @@
>  	}
>  
>  	/**
> -	 * Parse the Template of the provided PageData and turns it
> +	 * Parse the Template of the provided WeblogTemplate and turns it
>  	 * into a <code>Properties</code> collection.
>  	 * 
>  	 * @param acronymPage
>  	 * @return acronym properties (key = acronym, value= full text), empty if Template is empty
>  	 */
> -	private Properties parseAcronymPage(PageData acronymPage, Properties acronyms)
> +	private Properties parseAcronymPage(WeblogTemplate acronymPage, Properties acronyms)
>  	{
>  		String rawAcronyms = acronymPage.getTemplate();
>  		
> 
> Modified: incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml (original)
> +++ incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml Fri Jul  1 14:33:40 2005
> @@ -43,7 +43,7 @@
>          <mapping resource="org/roller/pojos/EntryAttributeData.hbm.xml" />
>          <mapping resource="org/roller/pojos/FolderAssoc.hbm.xml" />
>          <mapping resource="org/roller/pojos/FolderData.hbm.xml" />
> -        <mapping resource="org/roller/pojos/PageData.hbm.xml" />
> +        <mapping resource="org/roller/pojos/WeblogTemplate.hbm.xml" />
>          <mapping resource="org/roller/pojos/PingCategoryRestrictionData.hbm.xml" />
>          <mapping resource="org/roller/pojos/AutoPingData.hbm.xml" />
>          <mapping resource="org/roller/pojos/PingQueueEntryData.hbm.xml" />
> 
> Modified: incubator/roller/trunk/personal/testing/hibernate.cfg.xml
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/personal/testing/hibernate.cfg.xml?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/personal/testing/hibernate.cfg.xml (original)
> +++ incubator/roller/trunk/personal/testing/hibernate.cfg.xml Fri Jul  1 14:33:40 2005
> @@ -32,7 +32,7 @@
>          <mapping resource="org/roller/pojos/EntryAttributeData.hbm.xml" />
>          <mapping resource="org/roller/pojos/FolderAssoc.hbm.xml" />
>          <mapping resource="org/roller/pojos/FolderData.hbm.xml" />
> -        <mapping resource="org/roller/pojos/PageData.hbm.xml" />
> +        <mapping resource="org/roller/pojos/WeblogTemplate.hbm.xml" />
>          <mapping resource="org/roller/pojos/RefererData.hbm.xml" />
>          <mapping resource="org/roller/pojos/RoleData.hbm.xml" />
>          <mapping resource="org/roller/pojos/RollerConfigData.hbm.xml" />
> 
> Modified: incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java (original)
> +++ incubator/roller/trunk/src/org/roller/business/UserManagerImpl.java Fri Jul  1 14:33:40 2005
> @@ -12,7 +12,7 @@
>  import org.roller.model.WeblogManager;
>  import org.roller.pojos.BookmarkData;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RoleData;
>  import org.roller.pojos.UserCookieData;
>  import org.roller.pojos.UserData;
> @@ -127,13 +127,13 @@
>      /** 
>       * @see org.roller.model.UserManager#retrievePage(java.lang.String)
>       */
> -    public PageData retrievePageReadOnly(String id) throws RollerException
> +    public WeblogTemplate retrievePageReadOnly(String id) throws RollerException
>      {
>          // Don't hit database for templates stored on disk
>          if (id != null && id.endsWith(".vm")) return null; 
>  
>          // Hibernate has a read-only flag: LockMode.READ
> -        return (PageData)mStrategy.load(id,PageData.class);
> +        return (WeblogTemplate)mStrategy.load(id,WeblogTemplate.class);
>      }
>  
>      //------------------------------------------------------------------- Role
> @@ -155,22 +155,22 @@
>  
>      //------------------------------------------------------------------- Page
>  
> -    public PageData retrievePage(String id) throws RollerException
> +    public WeblogTemplate retrievePage(String id) throws RollerException
>      {
>          // Don't hit database for templates stored on disk
>          if (id != null && id.endsWith(".vm")) return null; 
>  
> -        return (PageData)mStrategy.load(id,PageData.class);
> +        return (WeblogTemplate)mStrategy.load(id,WeblogTemplate.class);
>      }
>   
>      public void removePage(String id) throws RollerException
>      {
> -        mStrategy.remove(id,PageData.class);
> +        mStrategy.remove(id,WeblogTemplate.class);
>      }
>  
>      public void removePageSafely(String id) throws RollerException
>      {
> -        PageData pd = retrievePageReadOnly(id);
> +        WeblogTemplate pd = retrievePageReadOnly(id);
>          if (pd == null) return;
>  
>          WebsiteData wd = pd.getWebsite();
> @@ -182,14 +182,14 @@
>      }
>  
>      /**
> -     * @see org.roller.model.UserManager#storePage(org.roller.pojos.PageData)
> +     * @see org.roller.model.UserManager#storePage(org.roller.pojos.WeblogTemplate)
>       */
> -    public void storePage(PageData data) throws RollerException
> +    public void storePage(WeblogTemplate data) throws RollerException
>      {
>          mStrategy.store(data);
>      }
>      
> -    public String fixPageLink(PageData data) throws RollerException
> +    public String fixPageLink(WeblogTemplate data) throws RollerException
>      {
>          String link = Utilities.removeHTML(data.getName());
>          link = Utilities.removeNonAlphanumeric(link);
> @@ -355,7 +355,7 @@
>              String sb = (String)pages.get( pageName );
>                
>              // Store each Velocity template as a page
> -            PageData pd = new PageData( null,
> +            WeblogTemplate pd = new WeblogTemplate( null,
>                  website,         // website
>                  pageName,        // name
>                  pageName,        // description
> 
> Modified: incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java (original)
> +++ incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java Fri Jul  1 14:33:40 2005
> @@ -22,7 +22,7 @@
>  import org.roller.model.PingTargetManager;
>  import org.roller.model.PingQueueManager;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RefererData;
>  import org.roller.pojos.RoleData;
>  import org.roller.pojos.UserCookieData;
> @@ -61,7 +61,7 @@
>      /** 
>       * Use Hibernate directly because Roller's Query API does too much allocation.
>       */
> -    public PageData getPageByLink(WebsiteData website, String pagelink)
> +    public WeblogTemplate getPageByLink(WebsiteData website, String pagelink)
>                      throws RollerException
>      {
>          if (website == null)
> @@ -71,14 +71,14 @@
>              throw new RollerException("Pagelink is null");
>                                                                        
>          Session session = ((HibernateStrategy)mStrategy).getSession();
> -        Criteria criteria = session.createCriteria(PageData.class);
> +        Criteria criteria = session.createCriteria(WeblogTemplate.class);
>          criteria.add(Expression.eq("website",website));
>          criteria.add(Expression.eq("link",pagelink));        
>          criteria.setMaxResults(1);
>          try
>          {
>              List list = criteria.list();
> -            return list.size()!=0 ? (PageData)list.get(0) : null;
> +            return list.size()!=0 ? (WeblogTemplate)list.get(0) : null;
>          }
>          catch (HibernateException e)
>          {
> @@ -215,7 +215,7 @@
>              throw new RollerException("website is null");
>                                                                        
>          Session session = ((HibernateStrategy)mStrategy).getSession();
> -        Criteria criteria = session.createCriteria(PageData.class);
> +        Criteria criteria = session.createCriteria(WeblogTemplate.class);
>          criteria.add(Expression.eq("website",website)); 
>          criteria.addOrder(Order.asc("name"));
>          try
> @@ -231,7 +231,7 @@
>      /** 
>       * @see org.roller.model.UserManager#getPageByName(WebsiteData, java.lang.String)
>       */
> -    public PageData getPageByName(WebsiteData website, String pagename) 
> +    public WeblogTemplate getPageByName(WebsiteData website, String pagename) 
>          throws RollerException
>      {
>          if (website == null)
> @@ -241,14 +241,14 @@
>              throw new RollerException("Page name is null");
>                                     
>          Session session = ((HibernateStrategy)mStrategy).getSession();
> -        Criteria criteria = session.createCriteria(PageData.class);
> +        Criteria criteria = session.createCriteria(WeblogTemplate.class);
>          criteria.add(Expression.eq("website", website));
>          criteria.add(Expression.eq("name", pagename));
>          criteria.setMaxResults(1);
>          try
>          {
>              List list = criteria.list();
> -            return list.size()!=0 ? (PageData)list.get(0) : null;
> +            return list.size()!=0 ? (WeblogTemplate)list.get(0) : null;
>          }
>          catch (HibernateException e)
>          {
> @@ -377,12 +377,12 @@
>              }
>              
>              // remove associated pages
> -            Criteria pageQuery = session.createCriteria(PageData.class);
> +            Criteria pageQuery = session.createCriteria(WeblogTemplate.class);
>              pageQuery.add(Expression.eq("website", website));
>              List pages = pageQuery.list();
>              for (Iterator iter = pages.iterator(); iter.hasNext();) 
>              {
> -                PageData page = (PageData) iter.next();
> +                WeblogTemplate page = (WeblogTemplate) iter.next();
>                  page.remove();
>              }
>              
> 
> Modified: incubator/roller/trunk/src/org/roller/model/UserManager.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/UserManager.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/model/UserManager.java (original)
> +++ incubator/roller/trunk/src/org/roller/model/UserManager.java Fri Jul  1 14:33:40 2005
> @@ -2,7 +2,7 @@
>  package org.roller.model;
>  
>  import org.roller.RollerException;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RoleData;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WebsiteData;
> @@ -98,16 +98,16 @@
>       */
>      public void removeWebsite(String id) throws RollerException;
>  
> -    //--------------------------------------------------------------- PageData
> +    //--------------------------------------------------------------- WeblogTemplate
>      
>      /** Get user's page by name */
> -    public PageData getPageByName(WebsiteData w, String p) throws RollerException;
> +    public WeblogTemplate getPageByName(WebsiteData w, String p) throws RollerException;
>  
>      /** Get user's page by link */
> -    public PageData getPageByLink(WebsiteData w, String p) throws RollerException;
> +    public WeblogTemplate getPageByLink(WebsiteData w, String p) throws RollerException;
>  
>      /** Fix page link using page name */
> -    public String fixPageLink(PageData data) throws RollerException;
> +    public String fixPageLink(WeblogTemplate data) throws RollerException;
>  
>      /** Get users pages */
>      public List getPages(WebsiteData w) throws RollerException;
> @@ -115,11 +115,11 @@
>      /**
>       * Get page by ID
>       */
> -    public PageData retrievePage(String id) throws RollerException;
> +    public WeblogTemplate retrievePage(String id) throws RollerException;
>      /**
>       * Store page
>       */
> -    public void storePage(PageData data) throws RollerException;
> +    public void storePage(WeblogTemplate data) throws RollerException;
>      /**
>       * Remove page by ID
>       */
> @@ -138,7 +138,7 @@
>  	/**
>  	 * Retrieve the Page in read-only mode (does hibernate support this?).
>  	 */
> -	public PageData retrievePageReadOnly(String id) throws RollerException;
> +	public WeblogTemplate retrievePageReadOnly(String id) throws RollerException;
>      
>      /**
>       * Validates a user based on a cookie value.  If successful, it returns
> 
> Copied: incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java (from r208785, incubator/roller/trunk/src/org/roller/pojos/PageData.java)
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java?p2=incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java&p1=incubator/roller/trunk/src/org/roller/pojos/PageData.java&r1=208785&r2=208802&rev=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/pojos/PageData.java (original)
> +++ incubator/roller/trunk/src/org/roller/pojos/WeblogTemplate.java Fri Jul  1 14:33:40 2005
> @@ -7,15 +7,16 @@
>  import org.roller.model.RollerFactory;
>  
> 
> -/** Page bean.
> +/**
> + * Page bean.
>   * @author David M Johnson
> - *
> - * @ejb:bean name="PageData"
> + * 
> + * @ejb:bean name="WeblogTemplate"
>   * @struts.form include-all="true"
>   * @hibernate.class table="webpage" 
>   * hibernate.jcs-cache usage="read-write"
>   */
> -public class PageData
> +public class WeblogTemplate
>     extends org.roller.pojos.PersistentObject
>     implements java.io.Serializable
>  {
> @@ -30,11 +31,11 @@
>  
>     protected WebsiteData mWebsite = null;
>  
> -   public PageData()
> +   public WeblogTemplate()
>     {
>     }
>  
> -   public PageData( 
> +   public WeblogTemplate( 
>         java.lang.String id,
>         WebsiteData website,
>         java.lang.String name,
> @@ -52,7 +53,7 @@
>        this.updateTime = (Date)updateTime.clone();
>     }
>  
> -   public PageData( PageData otherData )
> +   public WeblogTemplate( WeblogTemplate otherData )
>     {
>        this.id = otherData.id;
>        this.mWebsite = otherData.mWebsite;
> @@ -185,9 +186,9 @@
>  
>     public boolean equals( Object pOther )
>     {
> -      if( pOther instanceof PageData )
> +      if( pOther instanceof WeblogTemplate )
>        {
> -         PageData lTest = (PageData) pOther;
> +         WeblogTemplate lTest = (WeblogTemplate) pOther;
>           boolean lEquals = true;
>  
>           if( this.id == null )
> @@ -274,19 +275,19 @@
>     public void setData( org.roller.pojos.PersistentObject otherData )
>     {
>  
> -      this.id = ((PageData)otherData).id;
> +      this.id = ((WeblogTemplate) otherData).id;
>  
> -      this.mWebsite = ((PageData)otherData).mWebsite;
> +      this.mWebsite = ((WeblogTemplate) otherData).mWebsite;
>  
> -      this.name = ((PageData)otherData).name;
> +      this.name = ((WeblogTemplate) otherData).name;
>  
> -      this.description = ((PageData)otherData).description;
> +      this.description = ((WeblogTemplate) otherData).description;
>  
> -      this.link = ((PageData)otherData).link;
> +      this.link = ((WeblogTemplate) otherData).link;
>  
> -      this.template = ((PageData)otherData).template;
> +      this.template = ((WeblogTemplate) otherData).template;
>  
> -      this.updateTime = ((PageData)otherData).updateTime;
> +      this.updateTime = ((WeblogTemplate) otherData).updateTime;
>     }
>  
>     public boolean canSave() throws RollerException
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java Fri Jul  1 14:33:40 2005
> @@ -22,7 +22,7 @@
>  import org.roller.model.WeblogManager;
>  import org.roller.pojos.BookmarkData;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogCategoryData;
>  import org.roller.pojos.WeblogEntryData;
> @@ -65,7 +65,7 @@
>      private String             mDateString = null;
>      private String             mPathInfo = null; 
>      private String             mPageLink = null;
> -    private PageData           mPage;
> +    private WeblogTemplate           mPage;
>      private PageContext        mPageContext = null;
>      private HttpServletRequest mRequest = null;
>      private WebsiteData        mWebsite;
> @@ -737,10 +737,10 @@
>  
>      //------------------------------------------------------------------------
>      /**
> -     * Gets the PageData specified by the request, or null.
> -     * @return PageData
> +     * Gets the WeblogTemplate specified by the request, or null.
> +     * @return WeblogTemplate
>       */
> -    public PageData getPage()
> +    public WeblogTemplate getPage()
>      {
>          if (mPage == null)
>          {
> @@ -763,7 +763,7 @@
>      /**
>       * Allow comment servlet to inject page that it has chosen.
>       */
> -    public void setPage(PageData page) 
> +    public void setPage(WeblogTemplate page) 
>      {
>          mPage = page;
>      }
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/BasePageServlet.java Fri Jul  1 14:33:40 2005
> @@ -1 +1 @@
> -package org.roller.presentation.velocity;import java.io.IOException;import java.io.StringWriter;import java.util.Map;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspFactory;import javax.servlet.jsp.PageContext;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.velocity.Template;import org.apache.velocity.VelocityContext;import org.apache.velocity.context.Context;import org.apache.velocity.exception.ParseErrorException;import org.apache.velocity.exception.ResourceNotFoundException;import org.apache.velocity.servlet.VelocityServlet;import org.roller.RollerException;import org.roller.model.UserManager;import org.roller.pojos.PageData;import org.roller.pojos.UserData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerRequest;/** * Base S!
>  ervlet for Servlets that render user page templates. Loads the * Velocity context using the ContextLoader and runs the page template * selected by the request. * * @author llavandowska * @author David M Johnson */public abstract class BasePageServlet extends VelocityServlet{    private static Log mLogger =        LogFactory.getFactory().getInstance(BasePageServlet.class);	/**	 *  <p>Sets servletContext for WebappResourceLoader.</p>	 *	 * @param config servlet configuation	 */	public void init( ServletConfig config )		throws ServletException	{		super.init( config );		WebappResourceLoader.setServletContext( getServletContext() );	}    public Template handleRequest( HttpServletRequest request,                                   HttpServletResponse response,                                   Context ctx ) throws Exception    {        String pid = null;        Template outty = null;        Exception pageException = null;                try        {!
>              PageContext pageContext =                JspFactory.getDe
> faultFactory().getPageContext(                    this, request, response,"", true, 8192, true);            // Needed to init request attributes, etc.            RollerRequest rreq = RollerRequest.getRollerRequest(pageContext);            UserManager userMgr = rreq.getRoller().getUserManager();                        WebsiteData wd = null;            if (request.getAttribute(RollerRequest.OWNING_USER) != null) {                UserData user = (UserData)                    request.getAttribute(RollerRequest.OWNING_USER);                wd = userMgr.getWebsite(user.getUserName());            }            else            {                wd = rreq.getWebsite();            }                        // If request specified the page, then go with that            PageData pd = null;            if (rreq.getPage() != null // RollerRequest does too much guess work                    && request.getAttribute(RollerRequest.OWNING_USER) == null)            {          !
>        pd = rreq.getPage();                pid = pd.getId();            }            // If page not available from request, then use website's default            else if (wd != null)            {                pd = userMgr.retrievePage(wd.getDefaultPageId());                pid = pd.getId();                rreq.setPage(pd);             }            // Still no page ID, then we have a problem            if ( pid == null )            {                throw new ResourceNotFoundException("Page not found");            }                        outty = prepareForPageExecution(ctx, rreq, response, pd);        }        catch( Exception e )        {	        pageException = e;            response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR);        }        if (pageException != null)        {            mLogger.error("EXCEPTION: in RollerServlet", pageException);            request.setAttribute("DisplayException", pageException);        }       !
>   return outty;    }    //------------------------------------------
> ------------------------------    /**     * Try to load user-specified Decorator (if specified).  Failing that     * see if user has a _decorator Page, if not check for a _decorator     * in the Preview resource loader.  Finally, if none of those can     * be found fall back to the no-op decorator.     * @param object     * @return     */    private Template findDecorator(String decoratorName, UserManager userMgr, WebsiteData wd)         throws ResourceNotFoundException, ParseErrorException, RollerException, Exception    {        Template decorator = null;        PageData decoratorPage = null;        String decoratorId = null;                // check for user-specified decorator        if (decoratorName != null)        {                decoratorPage = userMgr.getPageByName(wd, decoratorName);            if (decoratorPage != null)             {                decoratorId = decoratorPage.getId();            }        }                // if no user-spec!
>  ified decorator try default page-name        if (decoratorPage == null)        {            decoratorPage = userMgr.getPageByName(wd, "_decorator");            if (decoratorPage != null)             {                decoratorId = decoratorPage.getId();            }            else            {                // could be in PreviewResourceLoader                decoratorId = "_decorator";            }        }        // try loading Template        if (decoratorId != null)         {            try            {                decorator = getTemplate(decoratorId, "UTF-8");            }            catch (Exception e)            {                // it may not exist, so this is okay            }        }                // couldn't find Template, load default "no-op" decorator        if (decorator == null)         {            decorator = getTemplate("/themes/noop_decorator.vm", "UTF-8");        }        return decorator;    }    /**      * Prepa!
>  re for page execution be setting content type, populating context,   
>   * and processing the page decorator if needed.     */    protected Template prepareForPageExecution(Context ctx, RollerRequest rreq,         HttpServletResponse response, PageData pd) throws Exception    {                            Template outty = null;        UserManager userMgr = rreq.getRoller().getUserManager();        WebsiteData wd = pd.getWebsite();                // if page has an extension - use that to set the contentType        String pageLink = pd.getLink();        String mimeType = getServletConfig().getServletContext().getMimeType(pageLink);        if(mimeType != null) {            // we found a match ... set the content type            response.setContentType(mimeType);        }                /* old way ... not as flexible -- Allen G        int period = pd.getLink().indexOf('.');        if (period > -1)         {            String extension = pd.getLink().substring(period+1);            if ("js".equals(extension))             {    !
>              extension = "javascript";            }            response.setContentType("text/" + extension);        }        */            // Made it this far, populate the Context        ContextLoader.setupContext( ctx, rreq, response );        // Get the page        outty =  getTemplate( pd.getId(), "UTF-8" );        /**         * User can define a Decorator Template.         */        if (wd != null)        {            // parse/merge Page template            StringWriter sw = new StringWriter();            outty.merge(ctx, sw);            ctx.put("decorator_body", sw.toString());            // replace outty with decorator Template            outty = findDecorator((String)ctx.get("decorator"), userMgr, wd);                        }        return outty;    }        //------------------------------------------------------------------------    /**     * Handle error in Velocity processing.     */    protected void error( HttpServletRequest req!
>  , HttpServletResponse res,IOException    {n VelocityServlet",e);    
> }      /**      * Override to prevent Velocity from putting "req" and "res" into the context.     * Allowing users access to the underlying Servlet objects is a security risk.     * If need access to request parameters, use $requestParameters.     */    protected Context createContext(            HttpServletRequest req,            HttpServletResponse res) {                VelocityContext context = new VelocityContext();        context.put(REQUEST, new RequestWrapper(req.getParameterMap()));        return context;            }        /** Provide access to request params only, not actual request */    public static class RequestWrapper    {        Map params = null;        public RequestWrapper(Map params)         {            this.params = params;        }        public String getParameter(String key)        {            String ret = null;            String[] array = (String[])params.get(key);            if (array != null && array.length > 0)     !
>         {                ret = array[0];            }            return ret;        }    }}
> \ No newline at end of file
> +package org.roller.presentation.velocity;import java.io.IOException;import java.io.StringWriter;import java.util.Map;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspFactory;import javax.servlet.jsp.PageContext;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.velocity.Template;import org.apache.velocity.VelocityContext;import org.apache.velocity.context.Context;import org.apache.velocity.exception.ParseErrorException;import org.apache.velocity.exception.ResourceNotFoundException;import org.apache.velocity.servlet.VelocityServlet;import org.roller.RollerException;import org.roller.model.UserManager;import org.roller.pojos.WeblogTemplate;import org.roller.pojos.UserData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerRequest;/** * !
>  Base Servlet for Servlets that render user page templates. Loads the * Velocity context using the ContextLoader and runs the page template * selected by the request. * * @author llavandowska * @author David M Johnson */public abstract class BasePageServlet extends VelocityServlet{    private static Log mLogger =        LogFactory.getFactory().getInstance(BasePageServlet.class);	/**	 *  <p>Sets servletContext for WebappResourceLoader.</p>	 *	 * @param config servlet configuation	 */	public void init( ServletConfig config )		throws ServletException	{		super.init( config );		WebappResourceLoader.setServletContext( getServletContext() );	}    public Template handleRequest( HttpServletRequest request,                                   HttpServletResponse response,                                   Context ctx ) throws Exception    {        String pid = null;        Template outty = null;        Exception pageException = null;                try    !
>      {            PageContext pageContext =                JspFactory
> .getDefaultFactory().getPageContext(                    this, request, response,"", true, 8192, true);            // Needed to init request attributes, etc.            RollerRequest rreq = RollerRequest.getRollerRequest(pageContext);            UserManager userMgr = rreq.getRoller().getUserManager();                        WebsiteData wd = null;            if (request.getAttribute(RollerRequest.OWNING_USER) != null) {                UserData user = (UserData)                    request.getAttribute(RollerRequest.OWNING_USER);                wd = userMgr.getWebsite(user.getUserName());            }            else            {                wd = rreq.getWebsite();            }                        // If request specified the page, then go with that            WeblogTemplate pd = null;            if (rreq.getPage() != null // RollerRequest does too much guess work                    && request.getAttribute(RollerRequest.OWNING_USER) == null)            !
>  {                pd = rreq.getPage();                pid = pd.getId();            }            // If page not available from request, then use website's default            else if (wd != null)            {                pd = userMgr.retrievePage(wd.getDefaultPageId());                pid = pd.getId();                rreq.setPage(pd);             }            // Still no page ID, then we have a problem            if ( pid == null )            {                throw new ResourceNotFoundException("Page not found");            }                        outty = prepareForPageExecution(ctx, rreq, response, pd);        }        catch( Exception e )        {	        pageException = e;            response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR);        }        if (pageException != null)        {            mLogger.error("EXCEPTION: in RollerServlet", pageException);            request.setAttribute("DisplayException", pageException);     !
>     }        return outty;    }    //------------------------------
> ------------------------------------------    /**     * Try to load user-specified Decorator (if specified).  Failing that     * see if user has a _decorator Page, if not check for a _decorator     * in the Preview resource loader.  Finally, if none of those can     * be found fall back to the no-op decorator.     * @param object     * @return     */    private Template findDecorator(String decoratorName, UserManager userMgr, WebsiteData wd)         throws ResourceNotFoundException, ParseErrorException, RollerException, Exception    {        Template decorator = null;        WeblogTemplate decoratorPage = null;        String decoratorId = null;                // check for user-specified decorator        if (decoratorName != null)        {                decoratorPage = userMgr.getPageByName(wd, decoratorName);            if (decoratorPage != null)             {                decoratorId = decoratorPage.getId();            }        }                !
>  // if no user-specified decorator try default page-name        if (decoratorPage == null)        {            decoratorPage = userMgr.getPageByName(wd, "_decorator");            if (decoratorPage != null)             {                decoratorId = decoratorPage.getId();            }            else            {                // could be in PreviewResourceLoader                decoratorId = "_decorator";            }        }        // try loading Template        if (decoratorId != null)         {            try            {                decorator = getTemplate(decoratorId, "UTF-8");            }            catch (Exception e)            {                // it may not exist, so this is okay            }        }                // couldn't find Template, load default "no-op" decorator        if (decorator == null)         {            decorator = getTemplate("/themes/noop_decorator.vm", "UTF-8");        }        return decorator;    }   !
>   /**      * Prepare for page execution be setting content type, popul
> ating context,     * and processing the page decorator if needed.     */    protected Template prepareForPageExecution(Context ctx, RollerRequest rreq,         HttpServletResponse response, WeblogTemplate pd) throws Exception    {                            Template outty = null;        UserManager userMgr = rreq.getRoller().getUserManager();        WebsiteData wd = pd.getWebsite();                // if page has an extension - use that to set the contentType        String pageLink = pd.getLink();        String mimeType = getServletConfig().getServletContext().getMimeType(pageLink);        if(mimeType != null) {            // we found a match ... set the content type            response.setContentType(mimeType);        }                /* old way ... not as flexible -- Allen G        int period = pd.getLink().indexOf('.');        if (period > -1)         {            String extension = pd.getLink().substring(period+1);            if ("js".equals(extensi!
>  on))             {                extension = "javascript";            }            response.setContentType("text/" + extension);        }        */            // Made it this far, populate the Context        ContextLoader.setupContext( ctx, rreq, response );        // Get the page        outty =  getTemplate( pd.getId(), "UTF-8" );        /**         * User can define a Decorator Template.         */        if (wd != null)        {            // parse/merge Page template            StringWriter sw = new StringWriter();            outty.merge(ctx, sw);            ctx.put("decorator_body", sw.toString());            // replace outty with decorator Template            outty = findDecorator((String)ctx.get("decorator"), userMgr, wd);                        }        return outty;    }        //------------------------------------------------------------------------    /**     * Handle error in Velocity processing.     */ IOException    {      !
>    mLogger.warn("ERROR in VelocityServlet",e);    }       /** verrid
> e to prevent Velocity from putting "req" and "res" into the context.     * Allowing users access to the underlying Servlet objects is a security risk.     * If need access to request parameters, use $requestParameters.     */    protected Context createContext(            HttpServletRequest req,            HttpServletResponse res) {                VelocityContext context = new VelocityContext();        context.put(REQUEST, new RequestWrapper(req.getParameterMap()));        return context;            }        /** Provide access to request params only, not actual request */    public static class RequestWrapper    {        Map params = null;        public RequestWrapper(Map params)         {            this.params = params;        }        public String getParameter(String key)        {            String ret = null;            String[] array = (String[])params.get(key);            if (array != null && array.length > 0)            {                re!
>  t = array[0];            }            return ret;        }    }}
> \ No newline at end of file
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java Fri Jul  1 14:33:40 2005
> @@ -32,7 +32,7 @@
>  import org.roller.model.UserManager;
>  import org.roller.model.WeblogManager;
>  import org.roller.pojos.CommentData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogEntryData;
>  import org.roller.pojos.WebsiteData;
> @@ -110,7 +110,7 @@
>              WebsiteData website = rreq.getWebsite();
>                  
>              // Request specifies popup
> -            PageData page = null;
> +            WeblogTemplate page = null;
>              Exception pageException = null;
>              try 
>              {
> @@ -130,7 +130,7 @@
>              // User doesn't have one so return the default
>              if (page == null) 
>              {
> -                page = new PageData("/popupcomments.vm", website, "Comments", 
> +                page = new WeblogTemplate("/popupcomments.vm", website, "Comments", 
>                      "Comments", "dummy_link", "dummy_template", new Date());
>              }
>              rreq.setPage(page);
> @@ -444,7 +444,7 @@
>              commentURL.append("/comments/");
>              commentURL.append(rreq.getUser().getUserName());
>              
> -            PageData page = rreq.getPage();
> +            WeblogTemplate page = rreq.getPage();
>              if (page == null)
>              {
>                  commentURL.append("?entry=");
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/ContextLoader.java Fri Jul  1 14:33:40 2005
> @@ -28,7 +28,7 @@
>  import org.roller.model.Roller;
>  import org.roller.model.RollerFactory;
>  import org.roller.pojos.CommentData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RollerPropertyData;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogEntryData;
> @@ -165,12 +165,12 @@
>          if (website != null && pageModel != null) 
>          {
>              /* alternative display pages - customization */
> -            PageData entryPage = pageModel.getUsersPageByName(website, "_entry");
> +            WeblogTemplate entryPage = pageModel.getUsersPageByName(website, "_entry");
>              if (entryPage != null)
>              {
>                  ctx.put("entryPage", entryPage);
>              }
> -            PageData descPage = pageModel.getUsersPageByName(website, "_desc");
> +            WeblogTemplate descPage = pageModel.getUsersPageByName(website, "_desc");
>              if (descPage != null)
>              {
>                  ctx.put("descPage", descPage);
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/FoafServlet.java Fri Jul  1 14:33:40 2005
> @@ -1,2 +1,2 @@
> -package org.roller.presentation.velocity;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.velocity.Template;import org.apache.velocity.context.Context;import org.apache.velocity.servlet.VelocityServlet;import org.roller.RollerException;import org.roller.model.UserManager;import org.roller.pojos.PageData;import org.roller.pojos.UserData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerContext;import org.roller.presentation.RollerRequest;import org.roller.util.Utilities;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;///////////////////////////////////////////////////////////////////////////////**  * <p>Responsible for rendering FOAF feed.  This servlet requires  * that the RequestFilter is in place for it, and should also  * have the IfModifiedFilter configured.</p>!
>    *   * <p>Resources:<br />  * <a href="http://xmlns.com/foaf/0.1/"  *     >FOAF Vocabulary Specification</a><br />  * <a href="http://www.xml.com/lpt/a/2004/02/04/foaf.html"  *     >An Introduction to FOAF</a></p>  *   * <p>FOAF Autodiscovery: <br />  * <link rel="meta" type="application/rdf+xml" title="FOAF"   *     href="$absBaseURL/foaf/$userName" /> </p>  *  * @author Lance Lavandowska  *  * @web.servlet name="FoafServlet"  * @web.servlet-mapping url-pattern="/foaf/*"  */public class FoafServlet extends VelocityServlet{    static final long serialVersionUID = -1893244416537298619L;        private static Log mLogger = LogFactory.getFactory()                                           .getInstance(RollerRequest.class);    /**     * This Velocity servlet does not make use of ContextLoader and associated     * classes (as do FlavorServlet and PageServlet) because that is more     * work than is really necessary.  It implements its own setupContext(!
>  )     * to load necessary values into the Velocity Context.     *  
>     * @param ctx     * @param rreq     * @throws RollerException     */    public Template handleRequest(HttpServletRequest request,                                  HttpServletResponse response, Context ctx)    {        RollerRequest rreq = null;        try        {            rreq = RollerRequest.getRollerRequest(request, getServletContext());        }        catch (RollerException e)        {            // An error initializing the request is considered to be a 404            if (mLogger.isDebugEnabled())            {                mLogger.debug("RollerRequest threw Exception", e);            }            try            {                response.sendError(HttpServletResponse.SC_NOT_FOUND);            }            catch (IOException e1)            {                if (mLogger.isDebugEnabled())                {                    mLogger.debug("IOException sending error", e);                }            }            return null;        }   !
>               try        {            setupContext(ctx, rreq);            response.setContentType("application/rdf+xml");            return getTemplate("/flavors/foaf.vm");        }        catch (Exception e)        {            mLogger.error("ERROR in FoafServlet", e);        }        return null;    }    /**	 * @param ctx	 */	private void setupContext(Context ctx, RollerRequest rreq) throws RollerException	{        HttpServletRequest request = rreq.getRequest();        RollerContext rollerCtx = RollerContext.getRollerContext( request );                UserData user = rreq.getUser();
> -        ctx.put("fullName", user.getFullName()); // name for FlavorServlet compatibility                // foaf:homepage to equal base URL for user        String homepage = Utilities.escapeHTML(                 rollerCtx.getAbsoluteContextUrl(request) +                     "/page/" + rreq.getUser().getUserName() );        ctx.put("websiteURL", homepage); // name for FlavorServlet compatibility        // see if foaf:weblog is different Page        WebsiteData website = rreq.getWebsite();        UserManager usrMgr = RollerContext.getRoller(request).getUserManager();        PageData weblog = usrMgr.getPageByName(website, "Weblog");        // if weblog != homepage, add to context        if (weblog != null && !website.getDefaultPageId().equals(weblog.getId()))        {            String weblogUrl = Utilities.escapeHTML(                     rollerCtx.getAbsoluteContextUrl(request) +                         "/page/" + rreq.getUser().getUserName() +               !
>                "/" + weblog.getLink() );        	ctx.put("weblog", weblogUrl);        }                // use SHA1 encrypted email address, including mailto: prefix        String shaEmail = Utilities.encodePassword(                "mailto:" + user.getEmailAddress(), "SHA");        ctx.put("shaEmail", shaEmail);	}	//------------------------------------------------------------------------    /**     * Handle error in Velocity processing.     */    protected void error( HttpServletRequest req, HttpServletResponse res,        Exception e) throws ServletException, IOException    {        mLogger.warn("ERROR in FoafServlet",e);    }}
> \ No newline at end of file
> +package org.roller.presentation.velocity;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.velocity.Template;import org.apache.velocity.context.Context;import org.apache.velocity.servlet.VelocityServlet;import org.roller.RollerException;import org.roller.model.UserManager;import org.roller.pojos.WeblogTemplate;import org.roller.pojos.UserData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerContext;import org.roller.presentation.RollerRequest;import org.roller.util.Utilities;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;///////////////////////////////////////////////////////////////////////////////**  * <p>Responsible for rendering FOAF feed.  This servlet requires  * that the RequestFilter is in place for it, and should also  * have the IfModifiedFilter configured!
>  .</p>  *   * <p>Resources:<br />  * <a href="http://xmlns.com/foaf/0.1/"  *     >FOAF Vocabulary Specification</a><br />  * <a href="http://www.xml.com/lpt/a/2004/02/04/foaf.html"  *     >An Introduction to FOAF</a></p>  *   * <p>FOAF Autodiscovery: <br />  * <link rel="meta" type="application/rdf+xml" title="FOAF"   *     href="$absBaseURL/foaf/$userName" /> </p>  *  * @author Lance Lavandowska  *  * @web.servlet name="FoafServlet"  * @web.servlet-mapping url-pattern="/foaf/*"  */public class FoafServlet extends VelocityServlet{    static final long serialVersionUID = -1893244416537298619L;        private static Log mLogger = LogFactory.getFactory()                                           .getInstance(RollerRequest.class);    /**     * This Velocity servlet does not make use of ContextLoader and associated     * classes (as do FlavorServlet and PageServlet) because that is more     * work than is really necessary.  It implements its own setupCo!
>  ntext()     * to load necessary values into the Velocity Context.   
>   *      * @param ctx     * @param rreq     * @throws RollerException     */    public Template handleRequest(HttpServletRequest request,                                  HttpServletResponse response, Context ctx)    {        RollerRequest rreq = null;        try        {            rreq = RollerRequest.getRollerRequest(request, getServletContext());        }        catch (RollerException e)        {            // An error initializing the request is considered to be a 404            if (mLogger.isDebugEnabled())            {                mLogger.debug("RollerRequest threw Exception", e);            }            try            {                response.sendError(HttpServletResponse.SC_NOT_FOUND);            }            catch (IOException e1)            {                if (mLogger.isDebugEnabled())                {                    mLogger.debug("IOException sending error", e);                }            }            return null;       !
>   }                try        {            setupContext(ctx, rreq);            response.setContentType("application/rdf+xml");            return getTemplate("/flavors/foaf.vm");        }        catch (Exception e)        {            mLogger.error("ERROR in FoafServlet", e);        }        return null;    }    /**	 * @param ctx	 */	private void setupContext(Context ctx, RollerRequest rreq) throws RollerException	{        HttpServletRequest request = rreq.getRequest();        RollerContext rollerCtx = RollerContext.getRollerContext( request );                UserData user = rreq.getUser();
> +        ctx.put("fullName", user.getFullName()); // name for FlavorServlet compatibility                // foaf:homepage to equal base URL for user        String homepage = Utilities.escapeHTML(                 rollerCtx.getAbsoluteContextUrl(request) +                     "/page/" + rreq.getUser().getUserName() );        ctx.put("websiteURL", homepage); // name for FlavorServlet compatibility        // see if foaf:weblog is different Page        WebsiteData website = rreq.getWebsite();        UserManager usrMgr = RollerContext.getRoller(request).getUserManager();        WeblogTemplate weblog = usrMgr.getPageByName(website, "Weblog");        // if weblog != homepage, add to context        if (weblog != null && !website.getDefaultPageId().equals(weblog.getId()))        {            String weblogUrl = Utilities.escapeHTML(                     rollerCtx.getAbsoluteContextUrl(request) +                         "/page/" + rreq.getUser().getUserName() +         !
>                      "/" + weblog.getLink() );        	ctx.put("weblog", weblogUrl);        }                // use SHA1 encrypted email address, including mailto: prefix        String shaEmail = Utilities.encodePassword(                "mailto:" + user.getEmailAddress(), "SHA");        ctx.put("shaEmail", shaEmail);	}	//------------------------------------------------------------------------    /**     * Handle error in Velocity processing.     */    protected void error( HttpServletRequest req, HttpServletResponse res,        Exception e) throws ServletException, IOException    {        mLogger.warn("ERROR in FoafServlet",e);    }}
> \ No newline at end of file
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/Macros.java Fri Jul  1 14:33:40 2005
> @@ -8,7 +8,7 @@
>  import org.apache.velocity.runtime.RuntimeSingleton;
>  import org.roller.model.RefererManager;
>  import org.roller.model.UserManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RefererData;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogCategoryData;
> @@ -604,7 +604,7 @@
>                  (HttpServletRequest)mPageContext.getRequest());                
>              UserManager userMgr = rreq.getRoller().getUserManager();
>              
> -            PageData pd = userMgr.getPageByName( 
> +            WeblogTemplate pd = userMgr.getPageByName( 
>                  rreq.getWebsite(), pageName );
>              Template vtemplate = null;
>              if (pd != null)
> @@ -932,7 +932,7 @@
>       */
>      public String showPageName()
>      {
> -        PageData pd = null;
> +        WeblogTemplate pd = null;
>          RollerRequest rreq = getRollerRequest();
>          try
>          {
> @@ -951,7 +951,7 @@
>       */
>      public String showPageDescription()
>      {
> -        PageData pd = null;
> +        WeblogTemplate pd = null;
>          RollerRequest rreq = getRollerRequest();
>          try
>          {
> @@ -971,7 +971,7 @@
>       */
>      public String showPageUpdateTime()
>      {
> -        PageData pd = null;
> +        WeblogTemplate pd = null;
>          RollerRequest rreq = getRollerRequest();
>          try
>          {
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/PageModel.java Fri Jul  1 14:33:40 2005
> @@ -19,7 +19,7 @@
>  import org.roller.model.WeblogManager;
>  import org.roller.pojos.BookmarkComparator;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.RefererData;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogCategoryData;
> @@ -105,7 +105,7 @@
>                  Iterator pageIter = pages.iterator();
>                  while (pageIter.hasNext())
>                  {
> -                    PageData page = (PageData) pageIter.next();
> +                    WeblogTemplate page = (WeblogTemplate) pageIter.next();
>                      mPageMap.put(page.getName(), page);
>                  }
>              }
> @@ -214,9 +214,9 @@
>      //------------------------------------------------------------------------
>      
>      /** Encapsulates UserManager.getPageByName() */
> -    public PageData getUsersPageByName(WebsiteData website, String pageName)
> +    public WeblogTemplate getUsersPageByName(WebsiteData website, String pageName)
>      {
> -        PageData page = null;
> +        WeblogTemplate page = null;
>          try
>          {
>              if (website == null) 
> @@ -241,9 +241,9 @@
>      //------------------------------------------------------------------------
>      
>      /** Encapsulates UserManager.getPageByName() */
> -    public PageData getPageByName(String pageName)
> +    public WeblogTemplate getPageByName(String pageName)
>      {
> -        return (PageData)mPageMap.get(pageName);
> +        return (WeblogTemplate)mPageMap.get(pageName);
>      }
>      
>      //------------------------------------------------------------------------
> @@ -251,7 +251,7 @@
>      /** Encapsulates UserManager.getPageByName() */
>      public String getPageIdByName(String pageName)
>      {
> -        PageData pd = (PageData)mPageMap.get(pageName);
> +        WeblogTemplate pd = (WeblogTemplate)mPageMap.get(pageName);
>          if ( pd != null ) 
>          {
>              return pd.getId();
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/RollerResourceLoader.java Fri Jul  1 14:33:40 2005
> @@ -8,7 +8,7 @@
>  import org.apache.velocity.runtime.resource.loader.ResourceLoader;
>  import org.roller.RollerException;
>  import org.roller.model.Roller;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.presentation.RollerContext;
>  
>  import java.io.ByteArrayInputStream;
> @@ -77,7 +77,7 @@
>  
>          try
>          {
> -            PageData page = getPage( name );
> +            WeblogTemplate page = getPage( name );
>              if (page == null)
>              {
>              	throw new ResourceNotFoundException(
> @@ -118,7 +118,7 @@
>          String name = resource.getName();
>          try
>          {
> -            PageData page = getPage( name );
> +            WeblogTemplate page = getPage( name );
>              
>              if (mLogger.isDebugEnabled())
>              {
> @@ -134,7 +134,7 @@
>          return 0;
>      }
>  
> -    public PageData getPage(String id) throws RollerException
> +    public WeblogTemplate getPage(String id) throws RollerException
>      {
>      	if (getRoller() == null) throw new RollerException(
>  			"RollerResourceLoader.getRoller() returned NULL");
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/velocity/VelocityPageInsert.java Fri Jul  1 14:33:40 2005
> @@ -3,7 +3,7 @@
>  import javax.servlet.http.HttpServletRequest;
>  import javax.servlet.http.HttpServletResponse;
>  import org.apache.velocity.VelocityContext;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  
>  /**
>   * A web page insert is a big of HTML that is inserted into a page into 
> @@ -14,7 +14,7 @@
>  public interface VelocityPageInsert 
>  {
>      public void display(
> -        PageData page,
> +        WeblogTemplate page,
>          VelocityContext context,
>          HttpServletRequest request, 
>          HttpServletResponse response);
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java Fri Jul  1 14:33:40 2005
> @@ -16,7 +16,7 @@
>  import org.roller.RollerException;
>  import org.roller.model.UserManager;
>  import org.roller.model.WeblogManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.WebsiteData;
>  import org.roller.presentation.RollerContext;
>  import org.roller.presentation.RollerRequest;
> @@ -239,7 +239,7 @@
>      private String getDefaultPageId(RollerRequest rreq) throws RollerException {
>          UserManager userMgr = rreq.getRoller().getUserManager();
>          WebsiteData wd = rreq.getWebsite();
> -        PageData pd = userMgr.retrievePage(wd.getDefaultPageId());
> +        WeblogTemplate pd = userMgr.retrievePage(wd.getDefaultPageId());
>          return pd.getId();
>      }
>      
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/weblog/tags/ViewWeblogEntriesTag.java Fri Jul  1 14:33:40 2005
> @@ -6,7 +6,7 @@
>  import org.apache.velocity.VelocityContext;
>  import org.apache.velocity.runtime.RuntimeSingleton;
>  import org.roller.model.WeblogManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.WebsiteData;
>  import org.roller.presentation.RollerRequest;
>  
> @@ -111,7 +111,7 @@
>              String pid = null; 
>              if ( mDayTemplate != null )
>              {
> -                PageData page =
> +                WeblogTemplate page =
>                      rreq.getRoller().getUserManager().getPageByLink(
>                          website, mDayTemplate );
>                  if (page != null)
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/website/actions/ThemeEditorAction.java Fri Jul  1 14:33:40 2005
> @@ -10,7 +10,7 @@
>  import org.apache.struts.actions.DispatchAction;
>  import org.roller.RollerException;
>  import org.roller.model.UserManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WebsiteData;
>  import org.roller.presentation.RollerContext;
> @@ -122,7 +122,7 @@
>  					(String)request.getSession(true).getAttribute(LAST_THEME)); 
>                                  
>  			     // load the current default page
> -                PageData page = getDefaultPage( rreq );
> +                WeblogTemplate page = getDefaultPage( rreq );
>  					teForm.setThemeTemplate( page.getTemplate() );
>  					
>  					
> @@ -206,7 +206,7 @@
>  
>  				// put the template where PreviewServlet
>  				// will be able to find it
> -				PageData page = getDefaultPage( rreq );			
> +				WeblogTemplate page = getDefaultPage( rreq );			
>  				PreviewResourceLoader.setTemplate(page.getId(), 
>  					teForm.getThemeTemplate(), rreq.getUser().getUserName() );
>  				
> @@ -284,7 +284,7 @@
>  
>  				// store the template in the page
>  				UserManager mgr = rreq.getRoller().getUserManager();
> -				PageData page = getDefaultPage( rreq );
> +				WeblogTemplate page = getDefaultPage( rreq );
>  
>  				page.setTemplate( template );
>  				mgr.storePage( page);
> @@ -410,11 +410,11 @@
>  	
>  	/**
>  	 * Get the Default Page for the website specified by request.
> -     * 
> +	 * 
>  	 * @param rreq
> -	 * @return PageData
> +	 * @return WeblogTemplate
>  	 */
> -	private PageData getDefaultPage(RollerRequest rreq) throws RollerException
> +	private WeblogTemplate getDefaultPage(RollerRequest rreq) throws RollerException
>  	{
>  		try
>  		{
> @@ -457,7 +457,7 @@
>                  String pageName = (String) iter.next();
>                  String sb = (String)pages.get( pageName );
>      
> -                PageData page = mgr.getPageByName( rreq.getWebsite(), pageName );
> +                WeblogTemplate page = mgr.getPageByName( rreq.getWebsite(), pageName );
>                  if (page != null)
>                  {
>                      PreviewResourceLoader.setTemplate(page.getId(),sb,username);
> @@ -513,7 +513,7 @@
>                  String pageName = children[i].substring(
>                      0,children[i].length()-3);
>      
> -                PageData page = mgr.getPageByName(rreq.getWebsite(), pageName);
> +                WeblogTemplate page = mgr.getPageByName(rreq.getWebsite(), pageName);
>                  if (page != null)
>                  {
>                      PreviewResourceLoader.clearTemplate( page.getId() );
> @@ -564,7 +564,7 @@
>                  String pageName = (String) iter.next();
>                  String pageContent = (String)pages.get( pageName );
>      
> -                PageData page = mgr.getPageByName( rreq.getWebsite(), pageName );
> +                WeblogTemplate page = mgr.getPageByName( rreq.getWebsite(), pageName );
>                  if (page != null)
>                  {
>                      // User already has page by that name, so overwrite it.
> @@ -573,7 +573,7 @@
>                  else
>                  {
>                      // User does not have page by that name, so create new page.
> -                    page = new PageData( null,
> +                    page = new WeblogTemplate( null,
>                          website,         // website
>                          pageName,        // name
>                          pageName,        // description
> 
> Copied: incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java (from r208785, incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java)
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java?p2=incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java&p1=incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java&r1=208785&r2=208802&rev=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/website/actions/PageFormAction.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/website/actions/WeblogTemplateFormAction.java Fri Jul  1 14:33:40 2005
> @@ -21,11 +21,11 @@
>  import org.roller.RollerException;
>  import org.roller.RollerPermissionsException;
>  import org.roller.model.UserManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WebsiteData;
>  import org.roller.presentation.RollerRequest;
> -import org.roller.presentation.forms.PageForm;
> +import org.roller.presentation.forms.WeblogTemplateForm;
>  import org.roller.presentation.pagecache.PageCacheFilter;
>  import org.roller.util.StringUtils;
>  import org.roller.util.Utilities;
> @@ -34,17 +34,17 @@
>  /////////////////////////////////////////////////////////////////////////////
>  /**
>   * Page form action.
> - * @struts.action name="pageForm" path="/editor/page"
> + * @struts.action name="weblogTemplateForm" path="/editor/page"
>   *  	scope="session" parameter="method"
>   * 
>   * @struts.action-forward name="removePage.page" path="/website/remove-page.jsp"
>   * @struts.action-forward name="editPage.page" path="/website/edit-page.jsp"
>   * @struts.action-forward name="editPages.page" path="/website/edit-pages.jsp"
>   */
> -public final class PageFormAction extends DispatchAction
> +public final class WeblogTemplateFormAction extends DispatchAction
>  {
>      private static Log mLogger = 
> -        LogFactory.getFactory().getInstance(PageFormAction.class);
> +        LogFactory.getFactory().getInstance(WeblogTemplateFormAction.class);
>          
>      public ActionForward add(
>          ActionMapping       mapping,
> @@ -59,8 +59,8 @@
>              RollerRequest rreq = RollerRequest.getRollerRequest(request);
>              if ( rreq.isUserAuthorizedToEdit() )
>              {
> -                PageForm form = (PageForm)actionForm;
> -                PageData data = new PageData();
> +                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
> +                WeblogTemplate data = new WeblogTemplate();
>                  form.copyTo(data, request.getLocale());
>                  WebsiteData hd = rreq.getWebsite();
>  
> @@ -115,8 +115,8 @@
>              if ( rreq.isUserAuthorizedToEdit() )
>              {
>                  UserData ud = rreq.getUser();
> -                PageData pd = rreq.getPage();
> -                PageForm pf = (PageForm)actionForm;
> +                WeblogTemplate pd = rreq.getPage();
> +                WeblogTemplateForm pf = (WeblogTemplateForm)actionForm;
>                  pf.copyFrom(pd, request.getLocale());
>  
>                  PageCacheFilter.removeFromCache( request,ud );
> @@ -179,8 +179,8 @@
>              RollerRequest rreq = RollerRequest.getRollerRequest(request);
>              if ( rreq.isUserAuthorizedToEdit() )
>              {
> -                PageForm form = (PageForm)actionForm;
> -                PageData data = new PageData();
> +                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
> +                WeblogTemplate data = new WeblogTemplate();
>                  form.copyTo(data, request.getLocale());
>  
>                  UserManager mgr = rreq.getRoller().getUserManager();
> @@ -228,8 +228,8 @@
>              RollerRequest rreq = RollerRequest.getRollerRequest(request);
>              if ( rreq.isUserAuthorizedToEdit() )
>              {
> -                PageData cd = rreq.getPage();
> -                PageForm pf = (PageForm)actionForm;
> +                WeblogTemplate cd = rreq.getPage();
> +                WeblogTemplateForm pf = (WeblogTemplateForm)actionForm;
>                  pf.copyFrom(cd, request.getLocale());
>  
>                  UserData ud = rreq.getUser();
> @@ -262,9 +262,9 @@
>              RollerRequest rreq = RollerRequest.getRollerRequest(request);
>              if ( rreq.isUserAuthorizedToEdit() )
>              {
> -                PageForm form = (PageForm)actionForm;
> +                WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
>                  UserManager mgr = rreq.getRoller().getUserManager();
> -                PageData data = mgr.retrievePage(form.getId());
> +                WeblogTemplate data = mgr.retrievePage(form.getId());
>                  data.save(); // should through exception if no save permission
>                  form.copyTo(data, request.getLocale());
>                  data.setUpdateTime( new java.util.Date() );
> @@ -276,7 +276,7 @@
>                  rreq.getRoller().commit();
>  
>                  // set the (possibly) new link back into the Form bean
> -                ((PageForm)actionForm).setLink( data.getLink() );
> +                ((WeblogTemplateForm)actionForm).setLink( data.getLink() );
>  
>                  ActionMessages uiMessages = new ActionMessages();
>                  uiMessages.add(ActionMessages.GLOBAL_MESSAGE, 
> @@ -319,7 +319,7 @@
>       * characters that are web-safe), this is a much easier
>       * test-and-correct.  Otherwise we would need a RegEx package.
>       */
> -    private void validateLink( PageData data )
> +    private void validateLink( WeblogTemplate data )
>      {
>          // if data.getLink() is null or empty
>          // use the title ( data.getName() )
> 
> Modified: incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/xmlrpc/BloggerAPIHandler.java Fri Jul  1 14:33:40 2005
> @@ -9,7 +9,7 @@
>  import org.roller.model.Roller;
>  import org.roller.model.UserManager;
>  import org.roller.model.WeblogManager;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogEntryData;
>  import org.roller.pojos.WebsiteData;
> @@ -130,7 +130,7 @@
>              Roller roller = RollerRequest.getRollerRequest().getRoller();
>              UserManager userMgr = roller.getUserManager();
>  
> -            PageData page = userMgr.retrievePage(templateType);
> +            WeblogTemplate page = userMgr.retrievePage(templateType);
>              page.setTemplate(templateData);
>              userMgr.storePage(page);
>              flushPageCache(userid);
> @@ -174,7 +174,7 @@
>          {
>              Roller roller = RollerRequest.getRollerRequest().getRoller();
>              UserManager userMgr = roller.getUserManager();
> -            PageData page = userMgr.retrievePage(templateType);
> +            WeblogTemplate page = userMgr.retrievePage(templateType);
>  
>              if ( null == page )
>              {
> 
> Modified: incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java (original)
> +++ incubator/roller/trunk/tests/org/roller/business/PermissionsTest.java Fri Jul  1 14:33:40 2005
> @@ -16,7 +16,7 @@
>  import org.roller.pojos.BookmarkData;
>  import org.roller.pojos.CommentData;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogCategoryData;
>  import org.roller.pojos.WeblogEntryData;
> @@ -152,7 +152,7 @@
>          // gets hold of testuser0's entry
>          WebsiteData website0 = getRoller().getUserManager().getWebsite("testuser0");
>          assertNotNull(website0);
> -        PageData page = (PageData)getRoller().getUserManager().getPages(website0).get(0);
> +        WeblogTemplate page = (WeblogTemplate)getRoller().getUserManager().getPages(website0).get(0);
>          assertNotNull(page);
>          
>          // and tries to save it
> 
> Modified: incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java (original)
> +++ incubator/roller/trunk/tests/org/roller/business/UserManagerTest.java Fri Jul  1 14:33:40 2005
> @@ -17,7 +17,7 @@
>  import org.roller.model.UserManager;
>  import org.roller.model.WeblogManager;
>  import org.roller.pojos.FolderData;
> -import org.roller.pojos.PageData;
> +import org.roller.pojos.WeblogTemplate;
>  import org.roller.pojos.UserData;
>  import org.roller.pojos.WeblogCategoryData;
>  import org.roller.pojos.WebsiteData;
> 
> Modified: incubator/roller/trunk/web/website/edit-page.jsp
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/edit-page.jsp?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/web/website/edit-page.jsp (original)
> +++ incubator/roller/trunk/web/website/edit-page.jsp Fri Jul  1 14:33:40 2005
> @@ -4,7 +4,7 @@
>  
>  <html:form action="/editor/page" method="post">
>  
> -	<h1><fmt:message key="pageForm.editPage" />:<bean:write name="pageForm" property="name" /></h1>
> +	<h1><fmt:message key="pageForm.editPage" />:<bean:write name="weblogTemplateForm" property="name" /></h1>
>  	
>      <table>
>          <tr>
> 
> Modified: incubator/roller/trunk/web/website/remove-page.jsp
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/website/remove-page.jsp?rev=208802&r1=208801&r2=208802&view=diff
> ==============================================================================
> --- incubator/roller/trunk/web/website/remove-page.jsp (original)
> +++ incubator/roller/trunk/web/website/remove-page.jsp Fri Jul  1 14:33:40 2005
> @@ -2,15 +2,15 @@
>  
> 
>  <h3>
> -<jsp:useBean id="pageForm" scope="session" 
> -	class="org.roller.presentation.forms.PageForm"/>
> -Remove Page [<jsp:getProperty name="pageForm" property="name"/>]
> +<jsp:useBean id="weblogTemplateForm" scope="session" 
> +	class="org.roller.presentation.forms.WeblogTemplateForm"/>
> +Remove Page [<jsp:getProperty name="weblogTemplateForm" property="name"/>]
>  </h3>
>  
>  <p>Are you sure you want to remove this page?</p>
>  <p>
> -Page name = [<jsp:getProperty name="pageForm" property="name"/>]<br />
> -Page id = [<jsp:getProperty name="pageForm" property="id"/>]
> +Page name = [<jsp:getProperty name="weblogTemplateForm" property="name"/>]<br />
> +Page id = [<jsp:getProperty name="weblogTemplateForm" property="id"/>]
>  </p>
>  
>  <table>
> 
>