Return-Path: Delivered-To: apmail-incubator-roller-commits-archive@www.apache.org Received: (qmail 7039 invoked from network); 28 Jun 2006 01:42:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Jun 2006 01:42:02 -0000 Received: (qmail 59200 invoked by uid 500); 28 Jun 2006 01:42:02 -0000 Delivered-To: apmail-incubator-roller-commits-archive@incubator.apache.org Received: (qmail 59171 invoked by uid 500); 28 Jun 2006 01:42:01 -0000 Mailing-List: contact roller-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: roller-dev@incubator.apache.org Delivered-To: mailing list roller-commits@incubator.apache.org Received: (qmail 59155 invoked by uid 99); 28 Jun 2006 01:42:01 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Jun 2006 18:42:01 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Jun 2006 18:42:01 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id BFACF1A983A; Tue, 27 Jun 2006 18:41:40 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r417632 - /incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java Date: Wed, 28 Jun 2006 01:41:40 -0000 To: roller-commits@incubator.apache.org From: agilliland@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060628014140.BFACF1A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: agilliland Date: Tue Jun 27 18:41:40 2006 New Revision: 417632 URL: http://svn.apache.org/viewvc?rev=417632&view=rev Log: remove RollerRequest from old context loading. finally :) Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java?rev=417632&r1=417631&r2=417632&view=diff ============================================================================== --- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java (original) +++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/deprecated/ContextLoader.java Tue Jun 27 18:41:40 2006 @@ -37,6 +37,8 @@ import org.apache.roller.config.RollerRuntimeConfig; import org.apache.roller.model.Roller; import org.apache.roller.model.RollerFactory; +import org.apache.roller.model.UserManager; +import org.apache.roller.model.WeblogManager; import org.apache.roller.pojos.CommentData; import org.apache.roller.pojos.FolderData; import org.apache.roller.pojos.RollerPropertyData; @@ -54,7 +56,10 @@ import org.apache.roller.ui.core.RollerRequest; import org.apache.roller.ui.core.RollerSession; import org.apache.roller.ui.rendering.newsfeeds.NewsfeedCache; +import org.apache.roller.ui.rendering.util.InvalidRequestException; import org.apache.roller.ui.rendering.util.WeblogPageRequest; +import org.apache.roller.ui.rendering.util.WeblogSearchRequest; +import org.apache.roller.util.DateUtil; import org.apache.roller.util.RegexUtil; import org.apache.struts.util.RequestUtils; import org.apache.velocity.VelocityContext; @@ -93,26 +98,107 @@ mLogger.debug("setupContext( ctx = "+ctx+")"); + RollerContext rollerCtx = RollerContext.getRollerContext( ); + + WebsiteData weblog = null; + WeblogEntryData entry = null; + WeblogCategoryData category = null; + Template page = null; + FolderData folder = null; // don't even know how this is involved :/ + Date date = null; + boolean isDay = false; + boolean isMonth = false; + // if this is a weblog page request then parse it out WeblogPageRequest pageRequest = null; try { pageRequest = new WeblogPageRequest(request); + + UserManager uMgr = RollerFactory.getRoller().getUserManager(); + WeblogManager wMgr = RollerFactory.getRoller().getWeblogManager(); + + // lookup weblog + weblog = uMgr.getWebsiteByHandle(pageRequest.getWeblogHandle()); + + // lookup entry if specified + if(pageRequest.getWeblogAnchor() != null) { + entry = wMgr.getWeblogEntryByAnchor(weblog, pageRequest.getWeblogAnchor()); + } + + // lookup category if specified + if(pageRequest.getWeblogCategory() != null) { + category = wMgr.getWeblogCategoryByPath(weblog, pageRequest.getWeblogCategory()); + } + + // lookup page if specified, otherwise lookup default + if(pageRequest.getWeblogPage() != null) { + page = weblog.getPageByLink(pageRequest.getWeblogPage()); + } else { + page = weblog.getDefaultPage(); + } + + // setup date, isDay, and isMonth + if(pageRequest.getWeblogDate() != null) { + + Date now = new Date(); + if(pageRequest.getWeblogDate().length() == 8) { + isDay = true; + try { + date = DateUtil.get8charDateFormat().parse(pageRequest.getWeblogDate()); + if(date.after(now)) { + date = now; + } + } catch(Exception e) { + // bleh + } + } else if(pageRequest.getWeblogDate().length() == 6) { + isMonth = true; + try { + date = DateUtil.get6charDateFormat().parse(pageRequest.getWeblogDate()); + if(date.after(now)) { + date = now; + } + } catch(Exception e) { + // bleh + } + } else { + isMonth = true; + } + } + } catch(InvalidRequestException ire) { + // ignore, must not be a page request + } catch(RollerException re) { + throw re; } catch(Exception e) { - // ignored, just assume it's not a page request + throw new RollerException(e); } - RollerContext rollerCtx = RollerContext.getRollerContext( ); - - // grab data from the request that we'll need to use - RollerRequest rreq = RollerRequest.getRollerRequest(request); - WebsiteData weblog = rreq.getWebsite(); - WeblogEntryData entry = rreq.getWeblogEntry(); - WeblogCategoryData category = rreq.getWeblogCategory(); - Template page = rreq.getPage(); - FolderData folder = rreq.getFolder(); - Date date = rreq.getDate(); - boolean isDay = rreq.isDaySpecified(); - boolean isMonth = rreq.isMonthSpecified(); + // if not a page request then try search request + WeblogSearchRequest searchRequest = null; + if(pageRequest == null) try { + searchRequest = new WeblogSearchRequest(request); + + UserManager uMgr = RollerFactory.getRoller().getUserManager(); + WeblogManager wMgr = RollerFactory.getRoller().getWeblogManager(); + + // lookup weblog + weblog = uMgr.getWebsiteByHandle(searchRequest.getWeblogHandle()); + + // lookup category if specified + if(searchRequest.getWeblogCategory() != null) { + category = wMgr.getWeblogCategoryByPath(weblog, searchRequest.getWeblogCategory()); + } + + // lookup page if specified, otherwise lookup default + page = weblog.getDefaultPage(); + + } catch(InvalidRequestException ire) { + // ignore, must not be a search request + } catch(RollerException re) { + throw re; + } catch(Exception e) { + throw new RollerException(e); + } try { // Add default page model object to context