You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/08/08 16:43:03 UTC

svn commit: r230810 [4/6] - in /incubator/roller/branches/roller_2.0: ./ contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/ contrib/plugins/src/org/roller/presentation/velocity/plugins/convertbreaks/ contrib/plugins/src/org/roller/p...

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ContextLoader.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ContextLoader.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ContextLoader.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ContextLoader.java Mon Aug  8 07:41:04 2005
@@ -27,11 +27,15 @@
 import org.roller.config.RollerRuntimeConfig;
 import org.roller.model.Roller;
 import org.roller.model.RollerFactory;
+import org.roller.pojos.Template;
 import org.roller.pojos.CommentData;
-import org.roller.pojos.PageData;
 import org.roller.pojos.RollerPropertyData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
+import org.roller.pojos.wrapper.CommentDataWrapper;
+import org.roller.pojos.wrapper.TemplateWrapper;
+import org.roller.pojos.wrapper.WeblogEntryDataWrapper;
+import org.roller.pojos.wrapper.WebsiteDataWrapper;
 import org.roller.presentation.LanguageUtil;
 import org.roller.presentation.RollerContext;
 import org.roller.presentation.RollerRequest;
@@ -123,6 +127,8 @@
      */
     private static void loadStatusMessage(Context ctx, RollerRequest rreq)
     {
+        mLogger.debug("Loading status message");
+        
         HttpSession session = rreq.getRequest().getSession(false);
         String msg = null;
         if (session != null)
@@ -154,47 +160,29 @@
        Context ctx, RollerRequest rreq, RollerContext rollerCtx, String handle)
        throws RollerException
     {
+        mLogger.debug("Loading weblog values");
+        
         // if there is an "_entry" page, only load it once
         WebsiteData website = 
             RollerFactory.getRoller().getUserManager().getWebsiteByHandle(handle);
-        PageModel pageModel = (PageModel)ctx.get("pageModel");
-        if (website != null && pageModel != null) 
+        if (website != null) 
         {
             /* alternative display pages - customization */
-            PageData entryPage = pageModel.getUsersPageByName(website, "_entry");
+            Template entryPage = website.getPageByName("_entry");
             if (entryPage != null)
             {
-                ctx.put("entryPage", entryPage);
+                ctx.put("entryPage", TemplateWrapper.wrap(entryPage));
             }
-            PageData descPage = pageModel.getUsersPageByName(website, "_desc");
+            Template descPage = website.getPageByName("_desc");
             if (descPage != null)
             {
-                ctx.put("descPage", descPage);
+                ctx.put("descPage", TemplateWrapper.wrap(descPage));
             }
         }
     }
 
     private static String figureResourcePath( RollerRequest rreq )
-    {
-        /*  old way -- Allen G
-        HttpServletRequest request = rreq.getRequest();
-        RollerContext rCtx = RollerContext.getRollerContext( request );
-        RollerConfigData  rollerConfig = rCtx.getRollerConfig();
-    
-        StringBuffer sb = new StringBuffer();
-        String uploadPath = rollerConfig.getUploadPath();
-        if ( uploadPath != null && uploadPath.trim().length() > 0 )
-        {
-            sb.append( uploadPath );
-        }
-        else
-        {
-            sb.append( request.getContextPath() );
-            sb.append( RollerContext.USER_RESOURCES );
-        }
-        return sb.toString();
-        */
-        
+    {   
         String uploadurl = null;
         try {
             uploadurl = RollerFactory.getRoller().getFileManager().getUploadUrl();
@@ -209,6 +197,8 @@
        Context ctx, RollerRequest rreq, RollerContext rollerCtx ) 
        throws RollerException
     {
+        mLogger.debug("Loading comment values");
+        
         HttpServletRequest request = rreq.getRequest();
         
         String escapeHtml = RollerRuntimeConfig.getProperty("users.comments.escapehtml");
@@ -221,7 +211,7 @@
         
         // Make sure comment form object is available in context
         CommentFormEx commentForm = 
-            (CommentFormEx)request.getAttribute("commentForm");
+                (CommentFormEx) request.getAttribute("commentForm");
         if ( commentForm == null )
         {
             commentForm = new CommentFormEx();
@@ -240,11 +230,11 @@
             ArrayList list = new ArrayList();
             CommentData cd = new CommentData();
             commentForm.copyTo(cd, request.getLocale());
-            list.add(cd);
+            list.add(CommentDataWrapper.wrap(cd));
             ctx.put("previewComments",list);            
         }
         WeblogEntryData entry = rreq.getWeblogEntry();
-        ctx.put("entry",entry);            
+        ctx.put("entry", WeblogEntryDataWrapper.wrap(entry));            
     }   
 
     //------------------------------------------------------------------------
@@ -253,6 +243,8 @@
         Context ctx, RollerRequest rreq, RollerContext rollerCtx, String userName) 
         throws RollerException
     {
+        mLogger.debug("Loading path values");
+        
         HttpServletRequest request = rreq.getRequest();
         String url = null;
         if ( userName != null && !userName.equals("zzz_none_zzz"))
@@ -285,6 +277,8 @@
     
     protected static void loadRequestParamKeys(Context ctx)
     {
+        mLogger.debug("Loading request param keys");
+        
         // Since Velocity *requires* accessor methods, these values from
         // RollerRequest are not available to it, put them into the context
         ctx.put("USERNAME_KEY",           RollerRequest.USERNAME_KEY);
@@ -310,6 +304,8 @@
     protected static void loadRssValues(
        Context ctx, RollerRequest rreq, String handle) throws RollerException
     {
+        mLogger.debug("Loading rss values");
+        
         HttpServletRequest request = rreq.getRequest();
         
         int entryLength = -1;
@@ -356,7 +352,8 @@
         Context ctx, RollerRequest rreq, RollerContext rollerCtx, String handle)
         throws RollerException
     {
-
+        mLogger.debug("Loading utility objects");
+        
         // date formatter for macro's
         // set this up with the Locale to make sure we can reuse it with other patterns
         // in the macro's
@@ -375,7 +372,7 @@
         // the Entry Day link.
         ctx.put("plainFormat", "yyyyMMdd");
 
-        ctx.put("page",            rreq.getPage() );
+        ctx.put("page",            TemplateWrapper.wrap(rreq.getPage()));
         ctx.put("utilities",       new Utilities() );
         ctx.put("stringUtils",     new StringUtils() );        
         ctx.put("rollerVersion",   rollerCtx.getRollerVersion() );
@@ -414,7 +411,6 @@
             ctx.put("userName",      handle);
             ctx.put("fullName",      website.getName() );
             ctx.put("emailAddress",  website.getEmailAddress() );
-
             ctx.put("encodedEmail",  RegexUtil.encode(website.getEmailAddress()));
             ctx.put("obfuscatedEmail",  RegexUtil.obfuscateEmail(website.getEmailAddress()));
             
@@ -440,7 +436,7 @@
             ctx.put("timezone", TimeZone.getDefault());
             ctx.put("timeZone", TimeZone.getDefault());
         }
-        ctx.put("website", website );
+        ctx.put("website", WebsiteDataWrapper.wrap(website) );
 
         String siteName = ((RollerPropertyData)props.get("site.name")).getValue();
         if ("Roller-based Site".equals(siteName)) siteName = "Main";
@@ -467,6 +463,8 @@
      */
     public static void initializePagePlugins(ServletContext mContext)
     {
+        mLogger.debug("Initializing page plugins");
+        
         String pluginStr = RollerConfig.getProperty("plugins.page");
         if (mLogger.isDebugEnabled()) mLogger.debug(pluginStr);
         if (pluginStr != null)
@@ -539,6 +537,8 @@
     private static ToolboxContext loadToolboxContext(
                     HttpServletRequest request, HttpServletResponse response, Context ctx) 
     {
+        mLogger.debug("Loading toolbox context");
+        
         ServletContext servletContext = RollerContext.getServletContext();
 
         // get the toolbox manager

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ExportRss.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ExportRss.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ExportRss.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/ExportRss.java Mon Aug  8 07:41:04 2005
@@ -1,17 +1,5 @@
 package org.roller.presentation.velocity;
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.text.SimpleDateFormat;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.TimeZone;
-
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -26,6 +14,18 @@
 import org.roller.util.StringUtils;
 import org.roller.util.Utilities;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.TimeZone;
+
 /**
  * Does a lot of the same work as ContextLoader in preparing
  * a VelocityContext for parsing.  However, it is ignorant of
@@ -197,12 +197,12 @@
         ctx.put("locale", locale);
         
         // setup Timezone for future rendering
-        ctx.put("timeZone", website.getTimeZoneInstance());
+        ctx.put("timezone", website.getTimeZoneInstance());
 
         // date formats need to be run through the Localized
         // SimpleDateFormat and pulled back out as localized patterns.
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", locale);  
-        sdf.setTimeZone( (TimeZone)ctx.get("timeZone") );    
+        sdf.setTimeZone( (TimeZone)ctx.get("timezone") );    
         ctx.put("plainFormat",     sdf.toLocalizedPattern());
         
         sdf.applyPattern("EEEE MMMM dd, yyyy");

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FlavorServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FlavorServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FlavorServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FlavorServlet.java Mon Aug  8 07:41:04 2005
@@ -1,11 +1,4 @@
 package org.roller.presentation.velocity;
-import java.io.IOException;
-
-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.lang.StringUtils;
 import org.apache.commons.logging.Log;
@@ -15,6 +8,13 @@
 import org.apache.velocity.servlet.VelocityServlet;
 import org.roller.RollerException;
 import org.roller.presentation.RollerRequest;
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspFactory;
+import javax.servlet.jsp.PageContext;
+
 /////////////////////////////////////////////////////////////////////////////
 /**
   * <p>Responsible for rendering RSS feeds and other "flavors" of output for a

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FoafServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FoafServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FoafServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/FoafServlet.java Mon Aug  8 07:41:04 2005
@@ -1,11 +1,5 @@
 package org.roller.presentation.velocity;
 
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.velocity.Template;
@@ -13,17 +7,27 @@
 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;
+import org.roller.model.Roller;
+import org.roller.model.RollerFactory;
+import org.roller.presentation.RollerSession;
+
 
 //////////////////////////////////////////////////////////////////////////////
 
 /**
-  * <p>Responsible for rendering FOAF feed.  This servlet requires
+  * <p>ROLLER_2.0: FOAF is broken in Roller 2.0.
+  * Responsible for rendering FOAF feed.  This servlet requires
   * that the RequestFilter is in place for it, and should also
   * have the IfModifiedFilter configured.</p>
   * 
@@ -110,33 +114,38 @@
 	{
         HttpServletRequest request = rreq.getRequest();
         RollerContext rollerCtx = RollerContext.getRollerContext( request );
-        
-        WebsiteData website = rreq.getWebsite();
-        ctx.put("fullName", website.getName()); // name for FlavorServlet compatibility
+        RollerSession rses = RollerSession.getRollerSession(request);
+        Roller roller = RollerFactory.getRoller();
+        // ROLLER_2.0 : figure out how to fix FOAF servlet (does anybody use it?)
+        // UserData user = 
+        //   roller.getUserManager().getUser(userName, Boolean.TRUE);
+        // 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/" + website.getHandle() );
-        ctx.put("websiteURL", homepage); // name for FlavorServlet compatibility
+        //String homepage = Utilities.escapeHTML( 
+                //rollerCtx.getAbsoluteContextUrl(request) + 
+                    //"/page/" + user.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");
+        org.roller.pojos.Template weblog = website.getPageByName("Weblog");
+        
         // if weblog != homepage, add to context
         if (weblog != null && !website.getDefaultPageId().equals(weblog.getId()))
         {
-            String weblogUrl = Utilities.escapeHTML( 
-                    rollerCtx.getAbsoluteContextUrl(request) + 
-                        "/page/" + website.getHandle() + 
-                            "/" + weblog.getLink() );
-        	ctx.put("weblog", weblogUrl);
+            //String weblogUrl = Utilities.escapeHTML( 
+                    //rollerCtx.getAbsoluteContextUrl(request) + 
+                        //"/page/" + user.getUserName() + 
+                            //"/" + weblog.getLink() );
+        	//ctx.put("weblog", weblogUrl);
         }
         
         // use SHA1 encrypted email address, including mailto: prefix
-        String shaEmail = Utilities.encodePassword(
-                "mailto:" + website.getEmailAddress(), "SHA");
-        ctx.put("shaEmail", shaEmail);
+        //String shaEmail = Utilities.encodePassword(
+                //"mailto:" + user.getEmailAddress(), "SHA");
+        //ctx.put("shaEmail", shaEmail);
 	}
 
 	//------------------------------------------------------------------------

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageHelper.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageHelper.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageHelper.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageHelper.java Mon Aug  8 07:41:04 2005
@@ -1,6 +1,4 @@
 package org.roller.presentation.velocity;
-
-import java.io.StringWriter;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -19,12 +17,12 @@
 import org.apache.struts.Globals;
 import org.apache.struts.util.RequestUtils;
 import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
 import org.apache.velocity.context.Context;
 import org.roller.RollerException;
-import org.roller.pojos.RefererData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
+import org.roller.pojos.wrapper.RefererDataWrapper;
+import org.roller.pojos.wrapper.WeblogEntryDataWrapper;
 import org.roller.presentation.LanguageUtil;
 import org.roller.presentation.RollerContext;
 import org.roller.presentation.RollerRequest;
@@ -165,29 +163,20 @@
     
     /**
      * Evaluates the String as a Velocimacro, returning the results.
+     *
+     * @deprecated shouldn't be used anymore because it's dangerous
      * 
      * @param str String
      * @return String
      */
     public String evaluateString(String str)
     {
-        if (mVelocityContext == null) return str;
-        
-        StringWriter sw = new StringWriter();
-        try
-        {
-            Velocity.evaluate( mVelocityContext, sw, "evalStr", str );
-            return sw.toString();
-        }
-        catch (Exception e)
-        {
-            mLogger.warn("VelocityHelper.evaluateString()", e);
-        }
-        return "";
+        // we no longer allow users to do this because it is dangerous
+        return str;
     }
    
     /** Build the URL for editing an WeblogEntry **/
-    public String getEntryEditUrl(WeblogEntryData entry)
+    public String getEntryEditUrl(WeblogEntryDataWrapper entry)
     {
         Hashtable params = new Hashtable();
         params.put( RollerRequest.WEBLOGENTRYID_KEY, entry.getId());
@@ -210,7 +199,7 @@
     }
     
     //-------------------------------------------------------------------------
-    public String getToggleLinkbackDisplayHTML(RefererData referer)
+    public String getToggleLinkbackDisplayHTML(RefererDataWrapper referer)
     {
         String ret = "";
         String link = null;
@@ -483,14 +472,21 @@
      */
     public String renderPlugins(String str)
     {
+        mLogger.debug("Rendering page plugins on String");
+        
         if (mPagePlugins != null)
         {
             Iterator iter = mPagePlugins.iterator();
+            PagePlugin plugin = null;
             while (iter.hasNext())
             {
-                str = ((PagePlugin)iter.next()).render(str);
+                plugin = (PagePlugin) iter.next();
+                
+                mLogger.debug("applying plugin - ");
+                str = plugin.render(str);
             }
         }
+        
         return str;
     }
     
@@ -501,12 +497,14 @@
      * @param str
      * @return
      */
-    public String renderPlugins(WeblogEntryData entry)
+    public String renderPlugins(WeblogEntryDataWrapper entry)
     {
+        mLogger.debug("Rendering page plugins on WeblogEntryData");
+        
         // we have to make a copy to temporarily store the
         // changes wrought by Plugins (otherwise they might
         // end up persisted!).
-        WeblogEntryData copy = new WeblogEntryData(entry);
+        WeblogEntryData copy = new WeblogEntryData(entry.getPojo());
         
         if (mPagePlugins != null)
         {
@@ -536,6 +534,7 @@
                 }
             }
         }
+        
         return copy.getText();
     }
     

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageModel.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageModel.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageModel.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageModel.java Mon Aug  8 07:41:04 2005
@@ -15,16 +15,23 @@
 import org.roller.config.RollerRuntimeConfig;
 import org.roller.model.BookmarkManager;
 import org.roller.model.RefererManager;
+import org.roller.model.Roller;
 import org.roller.model.RollerFactory;
+import org.roller.pojos.Template;
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
-import org.roller.pojos.BookmarkComparator;
+import org.roller.pojos.CommentData;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.PageData;
 import org.roller.pojos.RefererData;
 import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
+import org.roller.pojos.wrapper.CommentDataWrapper;
+import org.roller.pojos.wrapper.FolderDataWrapper;
+import org.roller.pojos.wrapper.RefererDataWrapper;
+import org.roller.pojos.wrapper.TemplateWrapper;
+import org.roller.pojos.wrapper.WeblogCategoryDataWrapper;
+import org.roller.pojos.wrapper.WeblogEntryDataWrapper;
 import org.roller.presentation.RollerRequest;
 import org.roller.presentation.RollerSession;
 import org.roller.util.StringUtils;
@@ -51,14 +58,11 @@
     private HashMap              mPageMap = new HashMap();
     private RollerRequest        mRollerReq = null;
     private String               mHandle = null;
-    private WebsiteData          mWebsite = null;
-    
-    private WeblogEntryData      mNextEntry = null;
-    private WeblogEntryData      mPreviousEntry = null;
-
-    private WeblogEntryData      mLastEntry = null;
-
-    private WeblogEntryData      mFirstEntry;
+    private WebsiteData          mWebsite = null;    
+    private WeblogEntryDataWrapper      mNextEntry = null;
+    private WeblogEntryDataWrapper      mPreviousEntry = null;
+    private WeblogEntryDataWrapper      mLastEntry = null;
+    private WeblogEntryDataWrapper      mFirstEntry = null;
         
     //------------------------------------------------------------------------
     
@@ -98,12 +102,16 @@
             // Get the pages, put into context & load map
             if (mWebsite != null)
             {
-                List pages = mUserMgr.getPages(mWebsite);
+                // if we have website from RollerRequest, use it
+                mWebsite = rreq.getWebsite();
+                
+                // Get the pages, put into context & load map
+                List pages = mWebsite.getPages();
                 Iterator pageIter = pages.iterator();
                 while (pageIter.hasNext())
                 {
-                    PageData page = (PageData) pageIter.next();
-                    mPageMap.put(page.getName(), page); 
+                    Template page = (Template) pageIter.next();
+                    mPageMap.put(page.getName(), TemplateWrapper.wrap(page));
                 }
             }
         }
@@ -116,12 +124,19 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates folder.getBookmarks() & sorting */
-    public Collection getBookmarks(FolderData folder)
+    public Collection getBookmarks(FolderDataWrapper folder)
     {
+        mLogger.debug("Getting bookmarks for folder : "+folder.getName());
+        
+        // since we already have a wrapped pojo we know the output
+        // will be wrapped as well :)
         Collection bookmarks = folder.getBookmarks();
-        List list = new ArrayList(bookmarks);
-        Collections.sort( list, new BookmarkComparator() );
-        return list;
+        
+        // TODO: need to setup new BookmarkWrapperComparator
+        //List mBookmarks = new ArrayList(bookmarks);
+        //Collections.sort( mBookmarks, new BookmarkComparator() );
+        
+        return bookmarks;
     }
     
     //------------------------------------------------------------------------
@@ -129,11 +144,20 @@
     /** Get top level bookmark folders. */
     public Collection getTopLevelFolders()
     {
-        Collection tops = null;
+        List tops = null;
         try
         {
-            tops = mBookmarkMgr.getRootFolder(
-                    mUserMgr.getWebsiteByHandle(mHandle)).getFolders();
+            Collection mTops = mBookmarkMgr.getRootFolder(
+                mUserMgr.getWebsiteByHandle(mHandle)).getFolders();
+            
+            // wrap pojos
+            tops = new ArrayList(mTops.size());
+            Iterator it = mTops.iterator();
+            int i=0;
+            while(it.hasNext()) {
+                tops.add(i, FolderDataWrapper.wrap((FolderData) it.next()));
+                i++;
+            }
         }
         catch (RollerException e)
         {
@@ -163,15 +187,25 @@
     /** Get comments for weblog entry specified by request */
     public List getComments( WeblogEntryData entry )
     {
+        List comments = new ArrayList();
         try
         {
-            return mWeblogMgr.getComments( entry.getId() );
+            Collection mComments = mWeblogMgr.getComments( entry.getId() );
+            
+            // wrap pojos
+            comments = new ArrayList(mComments.size());
+            Iterator it = mComments.iterator();
+            int i=0;
+            while(it.hasNext()) {
+                comments.add(i, CommentDataWrapper.wrap((CommentData) it.next()));
+                i++;
+            }
         }
         catch (RollerException e)
         {
             mLogger.error("PageModel getComments()", e);
         }
-        return new ArrayList();
+        return comments;
     }
     
     //------------------------------------------------------------------------
@@ -193,12 +227,13 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates BookmarkManager.getFolder() */
-    public FolderData getFolder(String folderPath)
+    public FolderDataWrapper getFolder(String folderPath)
     {
         try
         {
-            return mBookmarkMgr.getFolder(
-                mUserMgr.getWebsiteByHandle(mHandle), folderPath);
+            return FolderDataWrapper.wrap(
+                    mBookmarkMgr.getFolder( 
+                        mUserMgr.getWebsiteByHandle(mHandle), folderPath));
         }
         catch (RollerException e)
         {
@@ -210,9 +245,9 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates UserManager.getPageByName() */
-    public PageData getUsersPageByName(WebsiteData website, String pageName)
+    public TemplateWrapper getUsersPageByName(WebsiteData website, String pageName)
     {
-        PageData page = null;
+        TemplateWrapper page = null;
         try
         {
             if (website == null) 
@@ -221,7 +256,7 @@
             if (pageName == null) 
                 throw new NullPointerException("pageName is null");
                 
-            page = mUserMgr.getPageByName(website, pageName);
+            page = TemplateWrapper.wrap(website.getPageByName(pageName));
         }
         catch (NullPointerException npe)
         {
@@ -237,9 +272,9 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates UserManager.getPageByName() */
-    public PageData getPageByName(String pageName)
+    public TemplateWrapper getPageByName(String pageName)
     {
-        return (PageData)mPageMap.get(pageName);
+        return (TemplateWrapper) mPageMap.get(pageName);
     }
     
     //------------------------------------------------------------------------
@@ -247,15 +282,20 @@
     /** Encapsulates UserManager.getPageByName() */
     public String getPageIdByName(String pageName)
     {
-        PageData pd = (PageData)mPageMap.get(pageName);
-        if ( pd != null ) 
-        {
-            return pd.getId();
-        }
-        else
-        {
-            return null;
+        mLogger.debug("looking up page ["+pageName+"]");
+        
+        String template_id = null;
+        
+        try {
+            Template pd = mWebsite.getPageByName(pageName);
+            template_id = pd.getId();
+        } catch(Exception e) {
+            mLogger.error(e);
         }
+        
+        mLogger.debug("returning template id ["+template_id+"]");
+        
+        return template_id;
     }
     
     //------------------------------------------------------------------------
@@ -321,7 +361,7 @@
                 }
             }
             
-            ret = RollerFactory.getRoller().getWeblogManager().getWeblogEntryObjectMap(
+            Map mRet = RollerFactory.getRoller().getWeblogManager().getWeblogEntryObjectMap(
                             mRollerReq.getWebsite(),  
                             null,                     // startDate
                             day,                 // endDate
@@ -329,6 +369,24 @@
                             WeblogEntryData.PUBLISHED,   // status
                             new Integer(maxEntries)); // maxEntries
             
+            // need to wrap pojos
+            java.util.Date key = null;
+            Iterator days = mRet.keySet().iterator();
+            while(days.hasNext()) {
+                key = (java.util.Date)days.next();
+                
+                // now we need to go through each entry in a day and wrap
+                List wrappedEntries = new ArrayList();
+                List entries = (List) mRet.get(key);
+                for(int i=0; i < entries.size(); i++) {
+                    wrappedEntries.add(i, 
+                            WeblogEntryDataWrapper.wrap((WeblogEntryData)entries.get(i)));
+                }
+                mRet.put(key, wrappedEntries);
+            }
+
+	    ret = mRet;
+            
             setFirstAndLastEntries( ret );
         }
         catch (Exception e)
@@ -355,7 +413,7 @@
             int valSize = vals.size();
             if (valSize > 0) 
             {
-                mFirstEntry = (WeblogEntryData)vals.get(0);
+                mFirstEntry = (WeblogEntryDataWrapper)vals.get(0);
             }
             
             // get last entry in map
@@ -363,7 +421,7 @@
             valSize = vals.size();
             if (valSize > 0)
             {
-                mLastEntry = (WeblogEntryData)vals.get(--valSize);
+                mLastEntry = (WeblogEntryDataWrapper)vals.get(--valSize);
             }
         }
     }
@@ -416,13 +474,22 @@
             //ret = mgr.getRecentWeblogEntriesArray( 
                 //name, day, catParam, maxEntries, true );
             
-            ret = mgr.getWeblogEntries(
+            List mEntries = mgr.getWeblogEntries(
                             mRollerReq.getWebsite(), 
                             null,                    // startDate
                             day,                      // endDate
                             catParam,                 // catName
                             WeblogEntryData.PUBLISHED,   // status
                             new Integer(maxEntries)); // maxEntries
+            
+            // wrap pojos
+            ret = new ArrayList(mEntries.size());
+            Iterator it = mEntries.iterator();
+            int i=0;
+            while(it.hasNext()) {
+                ret.add(i, WeblogEntryDataWrapper.wrap((WeblogEntryData) it.next()));
+                i++;
+            }
         }
         catch (Exception e)
         {
@@ -455,7 +522,7 @@
                     if (   referer.getVisible().booleanValue() 
                         || rollerSession.isUserAuthorizedToAdmin() )
                     { 
-                        referers.add(referer);
+                        referers.add(RefererDataWrapper.wrap(referer));
                     }
                 }
             }
@@ -477,7 +544,16 @@
         List referers = null;
         try
         {
-            referers = mRefererMgr.getTodaysReferers(mRollerReq.getWebsite());
+            List mReferers = mRefererMgr.getTodaysReferers(mRollerReq.getWebsite());
+            
+            // wrap pojos
+            referers = new ArrayList(mReferers.size());
+            Iterator it = mReferers.iterator();
+            int i=0;
+            while(it.hasNext()) {
+                referers.add(i, RefererDataWrapper.wrap((RefererData) it.next()));
+                i++;
+            }
          
         }
         catch (RollerException e)
@@ -515,6 +591,7 @@
         Iterator iter = weblogEntries.iterator();
         while (iter.hasNext())
         {
+            // NOTE: this will need to be WeblogEntryDataWrapper
             WeblogEntryData wd = (WeblogEntryData)iter.next();
             if ( updateTime == null )
             {
@@ -557,7 +634,18 @@
                 {
                     category = mRollerReq.getWebsite().getDefaultCategory();
                 }
-                ret = category.getWeblogCategories();
+                
+                List mRet = category.getWeblogCategories();
+                
+                // wrap pojos
+                ret = new ArrayList(mRet.size());
+                Iterator it = mRet.iterator();
+                int i=0;
+                while(it.hasNext()) {
+                    ret.add(i, WeblogCategoryDataWrapper.wrap((WeblogCategoryData) it.next()));
+                    i++;
+                }
+        
                 mCategories.put(categoryName, ret);
             }
             catch (RollerException e) 
@@ -571,9 +659,14 @@
     //------------------------------------------------------------------------
     
     /** Encapsulates RollerRequest.getWeblogEntry() */
-    public WeblogEntryData getWeblogEntry()
+    public WeblogEntryDataWrapper getWeblogEntry()
     {
-        return mRollerReq.getWeblogEntry();
+        WeblogEntryData entry = mRollerReq.getWeblogEntry();
+        
+        if(entry != null)
+            return WeblogEntryDataWrapper.wrap(entry);
+        else
+            return null;
     }
     
     //------------------------------------------------------------------------
@@ -581,9 +674,9 @@
     /**
      * Get the next occurring Entry.
      */
-    public WeblogEntryData getNextEntry()
+    public WeblogEntryDataWrapper getNextEntry()
     {
-        WeblogEntryData currentEntry = getWeblogEntry();
+        WeblogEntryDataWrapper currentEntry = getWeblogEntry();
         if (mFirstEntry != null) currentEntry = mFirstEntry;
         if (mNextEntry == null && currentEntry != null) 
         {
@@ -594,7 +687,11 @@
             }
             try
             {
-                mNextEntry = mWeblogMgr.getNextEntry(currentEntry, catName);
+                WeblogEntryData nextEntry = 
+                        mWeblogMgr.getNextEntry(currentEntry.getPojo(), catName);
+                
+                if(nextEntry != null)
+                    mNextEntry = WeblogEntryDataWrapper.wrap(nextEntry);
                 
                 // make sure that mNextEntry is not published to future
                 if (mNextEntry != null && 
@@ -616,12 +713,12 @@
     /**
      * Get the previous occurring Entry.
      */
-    public WeblogEntryData getPreviousEntry()
+    public WeblogEntryDataWrapper getPreviousEntry()
     {
-        WeblogEntryData currentEntry = getWeblogEntry();
+        WeblogEntryDataWrapper currentEntry = getWeblogEntry();
         if (mLastEntry != null) currentEntry = mLastEntry;
         if (mPreviousEntry == null && currentEntry != null )
-        {
+        {   
             String catName = null;
             if (mRollerReq.getWeblogCategory() != null)
             {
@@ -629,7 +726,11 @@
             }
             try
             {
-                mPreviousEntry = mWeblogMgr.getPreviousEntry(currentEntry, catName);
+                WeblogEntryData prevEntry = 
+                        mWeblogMgr.getPreviousEntry(currentEntry.getPojo(), catName);
+                
+                if(prevEntry != null)
+                    mPreviousEntry = WeblogEntryDataWrapper.wrap(prevEntry);
             }
             catch (RollerException e)
             {
@@ -672,17 +773,22 @@
     
     //------------------------------------------------------------------------
     
-    public FolderData getFolderByPath(String path)
+    public FolderDataWrapper getFolderByPath(String path)
     {
         try
         {
-            return mBookmarkMgr.getFolderByPath(mWebsite, null, path);
+            FolderData folder = mBookmarkMgr.getFolderByPath(
+                mWebsite, null, path);
+            
+            if(folder != null)
+                return FolderDataWrapper.wrap(folder);
         }
         catch (RollerException e)
         {
             mLogger.error(e);
-            return null;
         }
+        
+        return null;
     }
 
     /**
@@ -693,15 +799,25 @@
      */
     public List getRecentComments(int maxCount)
     {
+        List recentComments = new ArrayList();
         try
         {
-            return mWeblogMgr.getRecentComments(mRollerReq.getWebsite(), maxCount);
+            List recent = mWeblogMgr.getRecentComments(mRollerReq.getWebsite(), maxCount);
+            
+            // wrap pojos
+            recentComments = new ArrayList(recent.size());
+            Iterator it = recent.iterator();
+            int i=0;
+            while(it.hasNext()) {
+                recentComments.add(i, CommentDataWrapper.wrap((CommentData) it.next()));
+                i++;
+            }
         }
         catch (RollerException e)
         {
             mLogger.error(e);
-            return new ArrayList();
         }
+        return recentComments;
     }
  
     public boolean getEmailComments() 

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PageServlet.java Mon Aug  8 07:41:04 2005
@@ -1,4 +1,3 @@
-
 package org.roller.presentation.velocity;
 
 import java.util.Properties;
@@ -16,9 +15,12 @@
 import org.apache.velocity.exception.ParseErrorException;
 import org.apache.velocity.exception.ResourceNotFoundException;
 
-
 /**
- * Extend RollerServlet to load proper resource loader for page execution.
+ * The PageServlet handles all requests for weblog pages at /page/*
+ *
+ * All the real work is handled by the BasePageServlet though.
+ *
+ * @see org.roller.presentation.velocity.BasePageServlet
  * 
  * @web.servlet name="PageServlet" load-on-startup="0"
  * @web.servlet-init-param name="org.apache.velocity.properties" 
@@ -26,114 +28,12 @@
  *  
  * @web.servlet-mapping url-pattern="/page/*"
  */ 
-public class PageServlet extends BasePageServlet
-{
-    static final long serialVersionUID = 5083624357559616805L;
+public class PageServlet extends BasePageServlet {
     
-    private static Log mLogger = 
-        LogFactory.getFactory().getInstance(PageServlet.class);
-
-	/** We are overriding the default Runtime Velocity
-	 * singleton to gain control over the initialization
-	 * and so that the PreviewResourceLoader is not set
-	 * for the PageServlet.
-	 */
-	transient VelocityEngine ve = null;
-	
-    public Template handleRequest( HttpServletRequest request,
-                                    HttpServletResponse response, 
-                                    Context ctx ) throws Exception
-    {
-		return super.handleRequest(request, response, ctx);
-    }
-	
-	/**
-	 * Override initVelocity() so we can man-handle the list of
-	 * resource loaders and remove "preview" if it is present.
-	 * @see org.apache.velocity.servlet.VelocityServlet#initVelocity(ServletConfig)
-	 */
-	protected void initVelocity( ServletConfig config )
-		 throws ServletException
-	{
-		try
-		{
-			/*
-			 *  call the overridable method to allow the 
-			 *  derived classes a shot at altering the configuration
-			 *  before initializing Runtime
-			 */
-			Properties props = loadConfiguration( config );
-			
-			// remove "preview," from the beginning of the 
-			// resource.loader list
-			String resourceLoaders = (String)props.get("resource.loader");
-			if (resourceLoaders != null &&
-				resourceLoaders.indexOf("preview") > -1)
-			{
-				int begin = resourceLoaders.indexOf("preview");
-				int length = "preview".length() + 1;
-				String tempStr = "";
-				if (begin > 0)
-				{
-					tempStr = resourceLoaders.substring(0,begin);
-				}
-				resourceLoaders = tempStr + resourceLoaders.substring(begin+length);
-
-				//System.out.println("PageServlet RESOURCELOADERS: " + resourceLoaders);
-				props.put("resource.loader", resourceLoaders);
-			}
-			
-			// remove all trace of the PreviewResourceLoader
-			props.remove("preview.resource.loader.public.name");
-			props.remove("preview.resource.loader.description");
-			props.remove("preview.resource.loader.class");
-			props.remove("preview.resource.loader.cache");
-			props.remove("preview.resource.loader.modificationCheckInterval");
-			
-			/** set custom logging file */
-			props.setProperty( "runtime.log", "page_servlet.log" );
-			
-			// make user WebappResourceLoader has what it needs
-			WebappResourceLoader.setServletContext( getServletContext() );
-			
-            if (mLogger.isDebugEnabled())
-            {
-                mLogger.debug("VelocityEngine props: " + props.toString());
-            }
-            
-			ve = new VelocityEngine();
-			ve.info("*******************************************");
-			ve.info("Initializing VelocityEngine for PageServlet");
-			ve.init( props );
-			ve.info("Done initializing VelocityEngine for PageServlet");
-			ve.info("************************************************");
-		}
-		catch( Exception e )
-		{
-			String msg = "Error initializing Velocity: " + e.toString();
-            mLogger.error(msg, e);
-			throw new ServletException(msg, e);
-		}   
-	}
-
-	/**
-	 * Override the parent getTemplate( String name ) method.
-	 * @see org.apache.velocity.servlet.VelocityServlet#getTemplate(String, String)
-	 */
-	public Template getTemplate( String name )
-		throws ResourceNotFoundException, ParseErrorException, Exception
-	{
-		return ve.getTemplate( name );
-	}
-
-	/**
-	 * Override the parent getTemplate(String name, String encoding) method.
-	 * @see org.apache.velocity.servlet.VelocityServlet#getTemplate(String, String)
-	 */
-	public Template getTemplate( String name, String encoding )
-		throws ResourceNotFoundException, ParseErrorException, Exception
-	{
-		return ve.getTemplate( name, encoding );
-	}
+    /**
+     * This class used to have some special velocity init code that was
+     * related to how previewing worked, but it became obsolete when we
+     * redid the theme management stuff, so now this class does nothing.
+     */
 }
 

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PlanetFeedServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PlanetFeedServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PlanetFeedServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PlanetFeedServlet.java Mon Aug  8 07:41:04 2005
@@ -1,11 +1,10 @@
 package org.roller.presentation.velocity;
+
 import java.io.IOException;
 import java.util.Date;
-
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.velocity.Template;
@@ -64,7 +63,8 @@
                 RollerFactory.getRoller().getPlanetManager();
             if (request.getParameter("group") != null) 
             {
-                context.put("groupName", request.getParameter("group"));
+                context.put("group", 
+                        planet.getGroup(request.getParameter("group")));
             }
             context.put("planet", planet);
             context.put("date", new Date());

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PreviewServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PreviewServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PreviewServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/PreviewServlet.java Mon Aug  8 07:41:04 2005
@@ -1,26 +1,145 @@
-
 package org.roller.presentation.velocity;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
+import java.io.StringWriter;
 import org.apache.velocity.Template;
 import org.apache.velocity.context.Context;
+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.roller.ThemeNotFoundException;
+import org.roller.model.Roller;
+import org.roller.model.RollerFactory;
+import org.roller.model.ThemeManager;
+import org.roller.model.UserManager;
+import org.roller.pojos.Theme;
+import org.roller.pojos.UserData;
+import org.roller.pojos.WeblogTemplate;
+import org.roller.pojos.WebsiteData;
+import org.roller.presentation.RollerRequest;
 
 /**
- * Extend RollerServlet to load proper resource loader for page execution.
- * 
+ * Allow users to preview what their blog would look like in a given theme.
+ *
  * @web.servlet name="PreviewServlet" load-on-startup="1"
- * @web.servlet-init-param name="properties" value="/WEB-INF/velocity.properties" 
+ * @web.servlet-init-param name="properties" value="/WEB-INF/velocity.properties"
  * @web.servlet-mapping url-pattern="/preview/*"
- */ 
-public class PreviewServlet extends BasePageServlet
-{
+ */
+public class PreviewServlet extends BasePageServlet {
+    
+    private static Log mLogger =
+            LogFactory.getFactory().getInstance(PreviewServlet.class);
+    
+    
+    /**
+     * We function exactly like the PageServlet except that we temporarily
+     * modify the users theme for this request.
+     */
     public Template handleRequest( HttpServletRequest request,
-                                    HttpServletResponse response, 
-                                    Context ctx ) throws Exception
-    {
-        return super.handleRequest(request, response, ctx);
+            HttpServletResponse response,
+            Context ctx ) throws Exception {
+        
+        Theme previewTheme = null;
+        
+        // try getting the preview theme
+        String themeName = request.getParameter("theme");
+        if (themeName != null) {
+            try {
+                Roller roller = RollerFactory.getRoller();
+                ThemeManager themeMgr = roller.getThemeManager();
+                previewTheme = themeMgr.getTheme(themeName);
+                
+            } catch(ThemeNotFoundException tnfe) {
+                // bogus theme specified ... don't worry about it
+                // possibly "custom", but we'll handle that below
+            }
+        }
+        
+        if((previewTheme == null || !previewTheme.isEnabled()) &&
+                !themeName.equals(Theme.CUSTOM)) {
+            
+            // if we don't have a valid preview theme then
+            // leave it up to our parent
+            return super.handleRequest(request, response, ctx);
+            
+        }
+        
+        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 = RollerFactory.getRoller().getUserManager();
+            
+            WebsiteData website = null;
+            if (request.getAttribute(RollerRequest.OWNING_WEBSITE) != null) 
+            {
+                UserData user = (UserData)
+                    request.getAttribute(RollerRequest.OWNING_WEBSITE);
+            } 
+            else 
+            {
+                website = rreq.getWebsite();
+            }
+            
+            // construct a temporary Website object for this request
+            // and set the EditorTheme to our previewTheme
+            WebsiteData tmpWebsite = new WebsiteData();
+            tmpWebsite.setData(website);
+            if(previewTheme != null)
+                tmpWebsite.setEditorTheme(previewTheme.getName());
+            else
+                tmpWebsite.setEditorTheme(Theme.CUSTOM);
+            
+            org.roller.pojos.Template page = null;
+            
+            page = tmpWebsite.getDefaultPage();
+            
+            // Still no page ID ... probably someone with no templates
+            // trying to preview a "custom" theme
+            if ( page == null ) {
+                // lets just call it a 404 and return
+                response.sendError(404);
+                return null;
+            }
+            
+            // update our roller request object
+            rreq.setPage(page);
+            rreq.setWebsite(tmpWebsite);
+
+            // this sets up the page we want to render
+            outty = prepareForPageExecution(ctx, rreq, response, page);
+            
+            // if there is a decorator template then apply it
+            if (website != 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(tmpWebsite, (String) ctx.get("decorator"));
+            }
+            
+        } 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;
     }
 }
 

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/RollerResourceLoader.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/RollerResourceLoader.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/RollerResourceLoader.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/RollerResourceLoader.java Mon Aug  8 07:41:04 2005
@@ -12,7 +12,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;
 
 /**
@@ -77,14 +77,14 @@
 
         try
         {
-            PageData page = getPage( name );
+            WeblogTemplate page = getPage( name );
             if (page == null)
             {
             	throw new ResourceNotFoundException(
 					"RollerResourceLoader: page \"" + 
 					name + "\" not found");
             }
-            return new ByteArrayInputStream( page.getTemplate().getBytes("UTF-8") );
+            return new ByteArrayInputStream( page.getContents().getBytes("UTF-8") );
         }
         catch (UnsupportedEncodingException uex)
         {
@@ -118,14 +118,14 @@
         String name = resource.getName();
         try
         {
-            PageData page = getPage( name );
+            WeblogTemplate page = getPage( name );
             
             if (mLogger.isDebugEnabled())
             {
                 mLogger.debug(name + ": resource=" + resource.getLastModified() + 
-							    " vs. page=" + page.getUpdateTime().getTime());
+							    " vs. page=" + page.getLastModified().getTime());
             }
-            return page.getUpdateTime().getTime();
+            return page.getLastModified().getTime();
         }
         catch (RollerException re)
         {
@@ -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/branches/roller_2.0/src/org/roller/presentation/velocity/SearchServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/SearchServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/SearchServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/SearchServlet.java Mon Aug  8 07:41:04 2005
@@ -1,14 +1,11 @@
 package org.roller.presentation.velocity;
 
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
-
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspFactory;
@@ -24,6 +21,7 @@
 import org.roller.RollerException;
 import org.roller.business.search.FieldConstants;
 import org.roller.business.search.operations.SearchOperation;
+import org.roller.config.RollerConfig;
 import org.roller.model.IndexManager;
 import org.roller.model.Roller;
 import org.roller.model.RollerFactory;
@@ -39,6 +37,7 @@
 import org.roller.util.StringUtils;
 
 
+
 /**
  * This servlet retrieves (and displays) search results.
  *
@@ -59,25 +58,42 @@
     
     /* Where to start fetching results */
     private static int OFFSET = 0;
+    
+    /* is searching enabled? */
+    private boolean searchEnabled = true;
+    
 
     //~ Methods ================================================================
 
     public Template handleRequest(HttpServletRequest request,
                         HttpServletResponse response, Context ctx) throws Exception
     {
-         // set request Charcter Encoding here, because the SearchServlet
-         // is not preceeded by the RequestFilter
-         mLogger.debug("handleRequest()");
-		try
-		{
-			// insure that incoming data is parsed as UTF-8
-			request.setCharacterEncoding("UTF-8");
-		}
-		catch (UnsupportedEncodingException e)
-		{
-			throw new ServletException("Can't set incoming encoding to UTF-8");
-		}
-    	        
+        // Note: Removed request character encoding here; was too late; it is now set uniformly in CharEncodingFilter.
+        // See ROL-760.
+
+        String enabled = RollerConfig.getProperty("search.enabled");
+        if("false".equalsIgnoreCase(enabled))
+            this.searchEnabled = false;
+        
+        if(! this.searchEnabled) {
+            Template outty = null;
+            Exception pageException = null;
+            try {
+                ContextLoader.setupContext(
+                        ctx, RollerRequest.getRollerRequest(request), response );
+                outty = getTemplate( "searchdisabled.vm", "UTF-8" );
+            } 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;
+        }
+
         ctx.put("term", "");
         ctx.put("hits", new Integer(0));
         ctx.put("searchResults", new TreeMap());          

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/VelocityPageInsert.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/VelocityPageInsert.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/VelocityPageInsert.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/VelocityPageInsert.java Mon Aug  8 07:41:04 2005
@@ -4,7 +4,7 @@
 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 
@@ -15,7 +15,7 @@
 public interface VelocityPageInsert 
 {
     public void display(
-        PageData page,
+        WeblogTemplate page,
         VelocityContext context,
         HttpServletRequest request, 
         HttpServletResponse response);

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/package.html?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/package.html (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/package.html Mon Aug  8 07:41:04 2005
@@ -4,6 +4,7 @@
   <title></title>
 </head>
 <body>
-Velocity integration, Page Servlet and Macros object.<br>
+Velocity based page-engine: servlets and supporting model classes.
+
 </body>
 </html>

Propchange: incubator/roller/branches/roller_2.0/src/org/roller/presentation/velocity/roller-velocity.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/TrackbackServlet.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/TrackbackServlet.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/TrackbackServlet.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/TrackbackServlet.java Mon Aug  8 07:41:04 2005
@@ -11,6 +11,11 @@
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.sql.Timestamp;
+import java.util.Date;
+import org.roller.model.RollerFactory;
+import org.roller.pojos.CommentData;
+import org.roller.util.CommentSpamChecker;
 
 import org.roller.model.RollerFactory;
 import org.roller.pojos.WeblogEntryData;
@@ -131,14 +136,38 @@
                 
                 if (entry!=null && entry.getCommentsStillAllowed())
                 {
-                    entry.addTrackback(url,title,excerpt,blogName);
-                    RollerFactory.getRoller().commit();
-            
-                    pw.println("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
-                    pw.println("<response>");
-                    pw.println("<error>0</error>");
-                    pw.println("</response>");
-                    pw.flush();
+                    String modTitle = blogName + ": "  + title;
+                    if (modTitle.length() >= 250) {
+                        modTitle = modTitle.substring(0, 257);
+                        modTitle += "...";
+                    }
+                    
+                    // Track trackbacks as comments
+                    CommentData comment = new CommentData();
+                    comment.setContent("[Trackback] "+excerpt);
+                    comment.setName(blogName);
+                    comment.setUrl(url);
+                    comment.setWeblogEntry(entry);
+                    comment.setNotify(Boolean.FALSE);
+                    comment.setPostTime(new Timestamp(new Date().getTime()));
+                    
+                    // check if this is spam
+                    CommentSpamChecker checker = new CommentSpamChecker();
+                    checker.testComment(comment);
+                    if (comment.getSpam().booleanValue()) {
+                        error = "Trackback spam!";
+                        
+                    } else {
+                        // save, commit, send response
+                        comment.save();
+                        RollerFactory.getRoller().commit();
+                        
+                        pw.println("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
+                        pw.println("<response>");
+                        pw.println("<error>0</error>");
+                        pw.println("</response>");
+                        pw.flush();
+                    }
                 }
                 else if (entry!=null)
                 {

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java Mon Aug  8 07:41:04 2005
@@ -54,6 +54,7 @@
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
+import org.roller.pojos.wrapper.WeblogEntryDataWrapper;
 import org.roller.presentation.MainPageAction;
 import org.roller.presentation.RollerContext;
 import org.roller.presentation.RollerRequest;
@@ -65,6 +66,7 @@
 import org.roller.util.Utilities;
 
 import com.swabunga.spell.event.SpellCheckEvent;
+import org.roller.model.RollerFactory;
 
 
 /////////////////////////////////////////////////////////////////////////////
@@ -598,18 +600,21 @@
             if (     rollerSession.isUserAuthorizedToAuthor() 
                  || (rollerSession.isUserAuthorized() && wd.isDraft()) )
             {
-                
                 // Flush the page cache
                 PageCacheFilter.removeFromCache(request, 
                    RollerSession.getRollerSession(request).getCurrentWebsite());
-
 				// remove the index for it
                 wd.setStatus(WeblogEntryData.DRAFT);
-		       reindexEntry(RollerFactory.getRoller(), wd);
+		        reindexEntry(RollerFactory.getRoller(), wd);
 
+                // remove entry itself
                 wd.remove();
                 RollerFactory.getRoller().commit();
 
+				// flush caches
+                PageCacheFilter.removeFromCache(request, wd.getWebsite());
+                MainPageAction.flushMainPageCache();
+                
                 ActionMessages uiMessages = new ActionMessages();
                 uiMessages.add(null, 
                     new ActionMessage("weblogEdit.entryRemoved"));
@@ -861,7 +866,9 @@
                PageHelper pageHelper = 
                    PageHelper.createPageHelper(request, response);
                pageHelper.setSkipFlag(true); // don't process ReadMorePlugin
-               String excerpt = pageHelper.renderPlugins(entry);
+               // we have to wrap the entry for rendering because the
+               // page helper requires wrapped objects
+               String excerpt = pageHelper.renderPlugins(WeblogEntryDataWrapper.wrap(entry));
                excerpt = StringUtils.left( Utilities.removeHTML(excerpt),255 );
 
                String url = rctx.createEntryPermalink(entry, request, true);

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java Mon Aug  8 07:41:04 2005
@@ -236,12 +236,14 @@
         return this.form;
     }
 
+    /** returns a dummied-up weblog entry object */
     public WeblogEntryData getWeblogEntry() throws RollerException
     {
         if (weblogEntry == null) 
         {
             RollerSession rollerSession = RollerSession.getRollerSession(getRequest());
             weblogEntry = new WeblogEntryData();
+            weblogEntry.setWebsite(rollerSession.getCurrentWebsite());
             form.copyTo(weblogEntry, 
                     getRequest().getLocale(), getRequest().getParameterMap());
             weblogEntry.setWebsite(rollerSession.getCurrentWebsite());

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/package.html?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/package.html (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/package.html Mon Aug  8 07:41:04 2005
@@ -4,6 +4,7 @@
   <title></title>
 </head>
 <body>
-Actions for weblog forms.<br>
+Struts actions for weblog entries, categories and pings.
+
 </body>
 </html>

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/WeblogEntryFormEx.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/WeblogEntryFormEx.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/WeblogEntryFormEx.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/WeblogEntryFormEx.java Mon Aug  8 07:41:04 2005
@@ -19,6 +19,7 @@
 import org.roller.pojos.CommentData;
 import org.roller.pojos.EntryAttributeData;
 import org.roller.pojos.WeblogEntryData;
+import org.roller.pojos.WebsiteData;
 import org.roller.presentation.RollerRequest;
 import org.roller.presentation.RollerSession;
 import org.roller.presentation.forms.WeblogEntryForm;
@@ -63,16 +64,17 @@
     public void initNew(HttpServletRequest request, HttpServletResponse response) 
     {
         RollerRequest rreq = RollerRequest.getRollerRequest(request);
-        if (RollerSession.getRollerSession(request).getCurrentWebsite().getDefaultPlugins() != null)
+        RollerSession rses = RollerSession.getRollerSession(request); 
+        if (rses.getCurrentWebsite().getDefaultPlugins() != null)
         {
             setPluginsArray(StringUtils.split(
-                    RollerSession.getRollerSession(request).getCurrentWebsite().getDefaultPlugins(), ",") );
+                    rses.getCurrentWebsite().getDefaultPlugins(), ",") );
         }
         status = WeblogEntryData.DRAFT;
         allowComments = Boolean.TRUE;
         updateTime = new Timestamp(new Date().getTime());
         pubTime = updateTime;
-        initPubTimeDateString(request.getLocale());        
+        initPubTimeDateStrings(rses.getCurrentWebsite(), request.getLocale());        
     }
     
     /**
@@ -82,6 +84,8 @@
         throws RollerException
     {
         super.copyTo(entry, locale);
+        
+        // First parts the date string from the calendar 
         final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
         final Date newDate;
         try
@@ -92,8 +96,11 @@
         {
             throw new RollerException("ERROR parsing date.");
         }
+        
+        // Now handle the time from the hour, minute and second combos
         final Calendar cal = Calendar.getInstance(locale);
         cal.setTime(newDate);
+        cal.setTimeZone(entry.getWebsite().getTimeZoneInstance());
         cal.set(Calendar.HOUR_OF_DAY, getHours().intValue());
         cal.set(Calendar.MINUTE, getMinutes().intValue());
         cal.set(Calendar.SECOND, getSeconds().intValue());
@@ -151,7 +158,7 @@
         mCategoryId = entry.getCategory().getId();
         mCreatorId = entry.getCreator().getId();
         
-        initPubTimeDateString(locale);
+        initPubTimeDateStrings(entry.getWebsite(), locale);
         
         if (entry.getPlugins() != null)
         {
@@ -196,14 +203,17 @@
      * Localize the PubTime date string.
      * @param locale
      */
-    private void initPubTimeDateString(Locale locale)
+    private void initPubTimeDateStrings(WebsiteData website, Locale locale)
     {
-        Calendar cal = Calendar.getInstance(locale);
-        cal.setTime(getPubTime());        
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(getPubTime()); 
+        cal.setTimeZone(website.getTimeZoneInstance());
         mHours = new Integer(cal.get(Calendar.HOUR_OF_DAY));
         mMinutes = new Integer(cal.get(Calendar.MINUTE));
-        mSeconds = new Integer(cal.get(Calendar.SECOND));        
-        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
+        mSeconds = new Integer(cal.get(Calendar.SECOND));
+        
+        DateFormat df = DateFormat.getDateInstance(
+           DateFormat.SHORT, locale);
         mDateString = df.format(getPubTime());
     }
 

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/package.html?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/package.html (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/formbeans/package.html Mon Aug  8 07:41:04 2005
@@ -4,6 +4,7 @@
   <title></title>
 </head>
 <body>
-Form beans for weblog forms.<br>
+Form beans needed for weblog entries, categories and pings.
+
 </body>
 </html>

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/package.html?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/package.html (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/package.html Mon Aug  8 07:41:04 2005
@@ -4,11 +4,7 @@
   <title></title>
 </head>
 <body>
-
-<p>
-Struts Actions, Form beans, and JSP tags for Weblog Entry related things
-such as the Weblog Entry Editor, Weblog Comments, Weblog Categories, and such.
-</p>
+Home of TrackbackServlet.
 
 </body>
 </html>

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/ApplyPluginsTag.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/ApplyPluginsTag.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/ApplyPluginsTag.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/ApplyPluginsTag.java Mon Aug  8 07:41:04 2005
@@ -16,6 +16,13 @@
 import org.roller.pojos.WeblogEntryData;
 import org.roller.presentation.velocity.PageHelper;
 import org.roller.util.Utilities;
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+import org.roller.pojos.wrapper.WeblogEntryDataWrapper;
 
 /**
  * Apply configured PagePlugins to WeblogEntryData and display the result.
@@ -58,7 +65,7 @@
             }
             helper.setSkipFlag(skipFlag);
     
-            xformed = helper.renderPlugins(entry);
+            xformed = helper.renderPlugins(WeblogEntryDataWrapper.wrap(entry));
         }
         else
         {

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/package.html?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/package.html (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/tags/package.html Mon Aug  8 07:41:04 2005
@@ -4,6 +4,7 @@
   <title></title>
 </head>
 <body>
-JSP tags for displaying and editing weblog entries.<br>
+JSP tags used in weblog editor interface (plus calendar tag implementations).
+
 </body>
 </html>

Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/CreateWebsiteAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/CreateWebsiteAction.java?rev=230810&r1=230809&r2=230810&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/CreateWebsiteAction.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/CreateWebsiteAction.java Mon Aug  8 07:41:04 2005
@@ -103,7 +103,7 @@
             
             // Need system user to add new user
             RollerFactory.getRoller().setUser(UserData.SYSTEM_USER);
-            HashMap pages = rollerContext.readThemeMacros(form.getTheme());
+            HashMap pages = null; //rollerContext.readThemeMacros(form.getTheme());
             WebsiteData website = mgr.createWebsite(
                user, 
                pages, 
@@ -149,7 +149,7 @@
         {
             super(request, response, mapping);
             RollerContext rollerContext = RollerContext.getRollerContext(request);
-            themes = Arrays.asList(rollerContext.getThemeNames());
+            // ROLLER_2.0: fix this: themes = Arrays.asList(rollerContext.getThemeNames());
             if (wd != null) 
             {
                 contextURL = rollerContext.getAbsoluteContextUrl(request);