//# 7 errors, 620 messages
//#
/*
    //#WeblogPageRequest.java:1:1: class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.rendering.util;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.config.WebloggerConfig;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.pojos.ThemeTemplate;
import org.apache.roller.weblogger.pojos.WeblogCategory;
import org.apache.roller.weblogger.pojos.WeblogEntry;
import org.apache.roller.weblogger.pojos.WeblogTemplate;
import org.apache.roller.weblogger.util.URLUtilities;
import org.apache.roller.weblogger.util.Utilities;


/**
 * Represents a request for a Roller weblog page.
 *
 * any url from ... /roller-ui/rendering/page/*
 *
 * We use this class as a helper to parse an incoming url and sort out the
 * information embedded in the url for later use.
 */
public class WeblogPageRequest extends WeblogRequest {
    
    private static Log log = LogFactory.getLog(WeblogPageRequest.class);
    //#WeblogPageRequest.java:51: method: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init
    //#WeblogPageRequest.java:51: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getAuthenticUser()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getContext()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getCustomParams()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getLocale()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getLocaleInstance()Ljava/util/Locale;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getPageNum()I
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getTags()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogAnchor()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogCategory()Lorg/apache/roller/weblogger/pojos/WeblogCategory;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogCategoryName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogDate()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogEntry()Lorg/apache/roller/weblogger/pojos/WeblogEntry;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogHandle()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogPage()Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogPageName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isLoggedIn()Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isValidDateString(Ljava/lang/String;)Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isValidDestination(Ljava/lang/String;)Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setAuthenticUser(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setContext(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setCustomParams(Ljava/util/Map;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setLocale(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setLocaleInstance(Ljava/util/Locale;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setPageNum(I)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setPathInfo(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setTags(Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblog(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogAnchor(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogCategory(Lorg/apache/roller/weblogger/pojos/WeblogCategory;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogCategoryName(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogDate(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogEntry(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogHandle(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogPage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogPageName(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): log
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getAuthenticUser()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.getAuthenticUser
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getContext()Ljava/lang/String; == &getContext
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getCustomParams()Ljava/util/Map; == &getCustomParams
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getLocale()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getLocale
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getLocaleInstance()Ljava/util/Locale; == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getLocaleInstance
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getPageNum()I == &getPageNum
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getPathInfo()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getPathInfo
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getTags()Ljava/util/List; == &getTags
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User; == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.getUser
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog; == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getWeblog
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogAnchor()Ljava/lang/String; == &getWeblogAnchor
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogCategory()Lorg/apache/roller/weblogger/pojos/WeblogCategory; == &getWeblogCategory
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogCategoryName()Ljava/lang/String; == &getWeblogCategoryName
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogDate()Ljava/lang/String; == &getWeblogDate
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogEntry()Lorg/apache/roller/weblogger/pojos/WeblogEntry; == &getWeblogEntry
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogHandle()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getWeblogHandle
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogPage()Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getWeblogPage
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.getWeblogPageName()Ljava/lang/String; == &getWeblogPageName
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isLocale(Ljava/lang/String;)Z == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.isLocale
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isLoggedIn()Z == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.isLoggedIn
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isValidDateString(Ljava/lang/String;)Z == &isValidDateString
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.isValidDestination(Ljava/lang/String;)Z == &isValidDestination
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setAuthenticUser(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.setAuthenticUser
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setContext(Ljava/lang/String;)V == &setContext
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setCustomParams(Ljava/util/Map;)V == &setCustomParams
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setLocale(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.setLocale
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setLocaleInstance(Ljava/util/Locale;)V == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.setLocaleInstance
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setPageNum(I)V == &setPageNum
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setPathInfo(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.setPathInfo
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setTags(Ljava/util/List;)V == &setTags
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.setUser
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblog(Lorg/apache/roller/weblogger/pojos/Weblog;)V == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.setWeblog
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogAnchor(Ljava/lang/String;)V == &setWeblogAnchor
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogCategory(Lorg/apache/roller/weblogger/pojos/WeblogCategory;)V == &setWeblogCategory
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogCategoryName(Ljava/lang/String;)V == &setWeblogCategoryName
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogDate(Ljava/lang/String;)V == &setWeblogDate
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogEntry(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)V == &setWeblogEntry
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogHandle(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.setWeblogHandle
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogPage(Lorg/apache/roller/weblogger/pojos/WeblogTemplate;)V == &setWeblogPage
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): __Dispatch_Table.setWeblogPageName(Ljava/lang/String;)V == &setWeblogPageName
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init): init'ed(log)
    //#WeblogPageRequest.java:51: end of method: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest__static_init
    
    private static final String PAGE_SERVLET = "/roller-ui/rendering/page";
    
    // lightweight attributes
    private String context = null;
    private String weblogAnchor = null;
    private String weblogPageName = null;
    private String weblogCategoryName = null;
    private String weblogDate = null;
    private List tags = null;
    private int pageNum = 0;
    private Map customParams = new HashMap();
    
    // heavyweight attributes
    private WeblogEntry weblogEntry = null;
    private ThemeTemplate weblogPage = null;
    private WeblogCategory weblogCategory = null;
    
    
    public WeblogPageRequest() {}
    //#WeblogPageRequest.java:71: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): new HashMap(WeblogPageRequest#1) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.authenticUser
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.context
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.customParams
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.localeInstance
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.pageNum
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.pathInfo
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.request
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.tags
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.user
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblog
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogAnchor
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogCategory
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogCategoryName
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogDate
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogEntry
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogHandle
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogPage
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogPageName
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): new HashMap(WeblogPageRequest#1)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.authenticUser == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.context == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.locale == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.localeInstance == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.pathInfo == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.request == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.tags == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.user == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblog == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogAnchor == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogCategory == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogCategoryName == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogDate == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogEntry == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogHandle == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogPage == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.weblogPageName == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.customParams == &new HashMap(WeblogPageRequest#1)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): this.pageNum == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): new HashMap(WeblogPageRequest#1) num objects == 1
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.ParsedRequest
    //#WeblogPageRequest.java:71: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest()
    
    
    /**
     * Construct the WeblogPageRequest by parsing the incoming url
     */
    public WeblogPageRequest(HttpServletRequest request) 
            throws InvalidRequestException {
        
        // let our parent take care of their business first
        // parent determines weblog handle and locale if specified
        super(request);
    //#WeblogPageRequest.java:82: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#WeblogPageRequest.java:82: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    suspicious precondition index: [2]
    //#    Attribs:  Soft
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): ", "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "."._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "context "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "context = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "handle = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "invalid date, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "invalid destination for request, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "invalid index page, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "locale = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "max number of tags allowed is "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "not a weblog request, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "not supported, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "pageNum = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "parsing path "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "pathInfo = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "tags = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "weblogAnchor = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "weblogCategory = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "weblogDate = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): "weblogPage = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): __Dispatch_Table.isValidDestination(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): log
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogCommentRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.isValidDestination(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogCommentRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogTrackbackRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogTrackbackRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): request
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:substring(...)._tainted
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.StringBuilder:toString(...)._tainted
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#1) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#17) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.authenticUser
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.context
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.customParams
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.localeInstance
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.pageNum
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.pathInfo
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.request
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.tags
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.user
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblog
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogAnchor
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogCategory
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogCategoryName
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogDate
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogEntry
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogHandle
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogPage
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogPageName
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:substring(...)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.StringBuilder:toString(...)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#1)
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#17)
    //#pre[1] (void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): log != null
    //#pre[3] (void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log != null
    //#pre[4] (void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): request != null
    //#pre[2] (void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest}
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@201 == null | org.apache.commons.lang.StringUtils:isNumeric(...)@262 == 0 | java.lang.String:length(...)@262 == 6 | java.lang.String:length(...)@262 == 8
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): (!(javax.servlet.http.HttpServletRequest:getParameter(...)@201 == null) & org.apache.commons.lang.StringUtils:isNumeric(...)@262 != 0 & java.lang.String:length(...)@262 == 6) | (!(javax.servlet.http.HttpServletRequest:getParameter(...)@201 == null) & org.a...
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:equals(...)@159 == 1
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:equals(...)@256 == 1
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:equals(...)@74 == 1
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@201 != null
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getServletPath(...)@84 != null
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org.apache.commons.lang.StringUtils:isNumeric(...)@262 == 1
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org.apache.roller.weblogger.util.URLUtilities:decode(...)@211 != null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:substring(...)._tainted == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.StringBuilder:toString(...)._tainted == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(java.lang.StringBuilder:toString(...)._tainted)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.__Tag == old this.__Tag
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest}
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.authenticUser)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): possibly_updated(this.context)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.customParams == &new HashMap(WeblogPageRequest#17)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.locale)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.localeInstance)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.pageNum)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.pathInfo)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.request == request
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.request != null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.tags)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.user)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblog)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogAnchor)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogCategory)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogCategoryName)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogDate)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogEntry)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogHandle == One-of{null, undefined}
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): this.weblogHandle == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogPage)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): init'ed(this.weblogPageName)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): new HashMap(WeblogPageRequest#17) num objects == 1
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:org.apache.commons.lang.StringUtils:isNumeric
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:split
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.ParsedRequest
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getPathInfo
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:org.apache.commons.logging.Log:debug
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:endsWith
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:org.apache.commons.logging.Log:isDebugEnabled
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getRequestURL
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:org.apache.roller.weblogger.WebloggerException
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getUserPrincipal
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): Effects-of-calling:java.security.Principal:getName
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:length(...)@112: {0}, {1..4_294_967_295}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): java.lang.String:startsWith(...)@215: {1}, {0}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@186: Addr_Set{null}, Inverse{null}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@191: Addr_Set{null}, Inverse{null}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@200: Addr_Set{null}, Inverse{null}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@210: Addr_Set{null}, Inverse{null}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): javax.servlet.http.HttpServletRequest:getParameter(...)@223: Addr_Set{null}, Inverse{null}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org.apache.commons.lang.StringUtils:isNotEmpty(...)@188: {0}, {1}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org.apache.commons.lang.StringUtils:isNotEmpty(...)@193: {0}, {1}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)): org.apache.commons.logging.Log:isDebugEnabled(...)@243: {0}, {1}
        
        String servlet = request.getServletPath();
        
        // we only want the path info left over from after our parents parsing
        String pathInfo = this.getPathInfo();
        
        // parse the request object and figure out what we've got
        log.debug("parsing path "+pathInfo);
    //#WeblogPageRequest.java:90: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
        
        // was this request bound for the right servlet?
        if(!isValidDestination(servlet)) {
            throw new InvalidRequestException("invalid destination for request, "+
                    request.getRequestURL());
        }
        
        
        /*
         * parse path info
         *
         * we expect one of the following forms of url ...
         *
         * /entry/<anchor> - permalink
         * /date/<YYYYMMDD> - date collection view
         * /category/<category> - category collection view
         * /tags/<tag>+<tag> - tags
         * /page/<pagelink> - custom page
         *
         * path info may be null, which indicates the weblog homepage
         */
        if(pathInfo != null && pathInfo.trim().length() > 0) {
            
            // all views use 2 path elements, except category
            String[] pathElements = pathInfo.split("/", 2);
            
            // the first part of the path always represents the context
            this.context = pathElements[0];
    //#WeblogPageRequest.java:118: ?use of default init
    //#    init'ed(pathElements.length)
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    basic block: bb_5
    //#    assertion: init'ed(pathElements.length)
    //#    VN: undefined
    //#    Expected: {-Inf..+Inf}
    //#    Bad: {Invalid}
    //#    Attribs:  Int  Bad only invalid
    //#WeblogPageRequest.java:118: ?use of default init
    //#    init'ed(pathElements[0])
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    basic block: bb_5
    //#    assertion: init'ed(pathElements[0])
    //#    VN: undefined
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
            
            // now check the rest of the path and extract other details
            if(pathElements.length == 2) {
    //#WeblogPageRequest.java:121: ?use of default init
    //#    init'ed(pathElements.length)
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    basic block: bb_5
    //#    assertion: init'ed(pathElements.length)
    //#    VN: undefined
    //#    Expected: {-Inf..+Inf}
    //#    Bad: {Invalid}
    //#    Attribs:  Int  Bad only invalid
    //#WeblogPageRequest.java:121: Warning: test always goes same way
    //#    test predetermined because pathElements.length == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    from bb: bb_5
    //#    live edge: bb_5-->bb_22
    //#    tested vn: undefined - 2
    //#    tested vn values: {-2}
                
                if("entry".equals(this.context)) {
    //#WeblogPageRequest.java:123: Warning: dead code
    //#    dead code here because pathElements.length == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_6
                    this.weblogAnchor = URLUtilities.decode(pathElements[1]);
    //#WeblogPageRequest.java:124: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_7
                    
                } else if("date".equals(this.context)) {
    //#WeblogPageRequest.java:126: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_8
                    if(this.isValidDateString(pathElements[1])) {
    //#WeblogPageRequest.java:127: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_9
                        this.weblogDate = pathElements[1];
    //#WeblogPageRequest.java:128: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_10
                    } else {
                        throw new InvalidRequestException("invalid date, "+
                            request.getRequestURL());
                    }
                    
                } else if("category".equals(this.context)) {
    //#WeblogPageRequest.java:134: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_12
                    this.weblogCategoryName = URLUtilities.decode(pathElements[1]);
    //#WeblogPageRequest.java:135: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_13
                    
                    // all categories must start with a /
                    if(!this.weblogCategoryName.startsWith("/")) {
                        this.weblogCategoryName = "/"+this.weblogCategoryName;
    //#WeblogPageRequest.java:139: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_14
                    }
                    
                } else if("page".equals(this.context)) {
    //#WeblogPageRequest.java:142: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_15
                    this.weblogPageName = pathElements[1];
    //#WeblogPageRequest.java:143: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_16

                } else if("tags".equals(this.context)) {
    //#WeblogPageRequest.java:145: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_17
                    String tagsString = pathElements[1].replace('+', ' ');
    //#WeblogPageRequest.java:146: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_18
                    this.tags = Utilities.splitStringAsTags(URLUtilities.decode(tagsString));                  
                    int maxSize = WebloggerConfig.getIntProperty("tags.queries.maxIntersectionSize", 3);                  
                    if(this.tags.size() > maxSize)
                        throw new InvalidRequestException("max number of tags allowed is " + maxSize + ", " + request.getRequestURL());
                                      
                } else {
    //#WeblogPageRequest.java:152: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    dead bb: bb_20
                    throw new InvalidRequestException("context "+this.context+
                            "not supported, "+request.getRequestURL());
                }
                
            } else {
                // empty data is only allowed for the tags section
                if(!"tags".equals(this.context)) {
    //#WeblogPageRequest.java:159: ?use of default init
    //#    init'ed(this.context)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    basic block: bb_22
    //#    assertion: init'ed(this.context)
    //#    VN: undefined
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                    throw new InvalidRequestException("invalid index page, "+
                            request.getRequestURL());
                }
            }
            
        } else {
            // default view, weblog homepage
        }
        
        
        /*
         * parse request parameters
         *
         * the only params we currently allow are:
         *   date - specifies a weblog date string
         *   cat - specifies a weblog category
         *   anchor - specifies a weblog entry (old way)
         *   entry - specifies a weblog entry
         *
         * we only allow request params if the path info is null or on user
         * defined pages (for backwards compatability).  this way
         * we prevent mixing of path based and query param style urls.
         */
        if(pathInfo == null || this.weblogPageName != null) {
            
            // check for entry/anchor params which indicate permalink
            if(request.getParameter("entry") != null) {
                String anchor = request.getParameter("entry");
                if(StringUtils.isNotEmpty(anchor)) {
    //#WeblogPageRequest.java:188: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isNotEmpty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isNotEmpty(String)
                    this.weblogAnchor = anchor;
                }
            } else if(request.getParameter("anchor") != null) {
                String anchor = request.getParameter("anchor");
                if(StringUtils.isNotEmpty(anchor)) {
    //#WeblogPageRequest.java:193: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isNotEmpty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isNotEmpty(String)
                    this.weblogAnchor = anchor;
                }
            }
            
            // only check for other params if we didn't find an anchor above or tags
            if(this.weblogAnchor == null && this.tags == null) {
                if(request.getParameter("date") != null) {
                    String date = request.getParameter("date");
                    if(this.isValidDateString(date)) {
                        this.weblogDate = date;
                    } else {
                        throw new InvalidRequestException("invalid date, "+
                                request.getRequestURL());
                    }
                }
                
                if(request.getParameter("cat") != null) {
                    this.weblogCategoryName =
    //#WeblogPageRequest.java:211: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.util.URLUtilities:decode(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.util.URLUtilities:decode(String)
                            URLUtilities.decode(request.getParameter("cat"));
                    
                    // all categories must start with a /
                    if(!this.weblogCategoryName.startsWith("/")) {
                        this.weblogCategoryName = "/"+this.weblogCategoryName;
                    }
                }
            }
        }
        
        // page request param is supported in all views
        if(request.getParameter("page") != null) {
            String pageInt = request.getParameter("page");
            try {
                this.pageNum = Integer.parseInt(pageInt);
            } catch(NumberFormatException e) {
                // ignored, bad input
            }
        }
        
        // build customParams Map, we remove built-in params because we only
        // want this map to represent params defined by the template author
        customParams = new HashMap(request.getParameterMap());
        customParams.remove("entry");
        customParams.remove("anchor");
        customParams.remove("date");
        customParams.remove("cat");
        customParams.remove("page");
        customParams.remove("tags");
            
            
        if(log.isDebugEnabled()) {
    //#WeblogPageRequest.java:243: Warning: method not available
    //#    -- call on bool org.apache.commons.logging.Log:isDebugEnabled()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: bool org.apache.commons.logging.Log:isDebugEnabled()
            log.debug("context = "+this.context);
    //#WeblogPageRequest.java:244: ?use of default init
    //#    init'ed(this.context)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    basic block: bb_47
    //#    assertion: init'ed(this.context)
    //#    VN: this.context
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid  Uncertain
    //#WeblogPageRequest.java:244: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("weblogAnchor = "+this.weblogAnchor);
    //#WeblogPageRequest.java:245: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("weblogDate = "+this.weblogDate);
    //#WeblogPageRequest.java:246: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("weblogCategory = "+this.weblogCategoryName);
    //#WeblogPageRequest.java:247: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("tags = "+this.tags);
    //#WeblogPageRequest.java:248: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("weblogPage = "+this.weblogPageName);
    //#WeblogPageRequest.java:249: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
            log.debug("pageNum = "+this.pageNum);
    //#WeblogPageRequest.java:250: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
        }
    }
    //#WeblogPageRequest.java:252: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest(HttpServletRequest)
    
    
    boolean isValidDestination(String servlet) {
        return (servlet != null && PAGE_SERVLET.equals(servlet));
    //#WeblogPageRequest.java:256: method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.isValidDestination(String)
    //#input(bool isValidDestination(String)): servlet
    //#output(bool isValidDestination(String)): return_value
    //#post(bool isValidDestination(String)): init'ed(return_value)
    //#WeblogPageRequest.java:256: end of method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.isValidDestination(String)
    }
    
    
    private boolean isValidDateString(String dateString) {
        // string must be all numeric and 6 or 8 characters
        return (dateString != null && StringUtils.isNumeric(dateString) &&
    //#WeblogPageRequest.java:262: method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.isValidDateString(String)
    //#WeblogPageRequest.java:262: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isNumeric(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: bool isValidDateString(String)
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isNumeric(String)
    //#input(bool isValidDateString(String)): dateString
    //#output(bool isValidDateString(String)): return_value
    //#post(bool isValidDateString(String)): init'ed(return_value)
    //#WeblogPageRequest.java:262: end of method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.isValidDateString(String)
                (dateString.length() == 6 || dateString.length() == 8));
    }

    public String getContext() {
        return context;
    //#WeblogPageRequest.java:267: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getContext()
    //#input(String getContext()): this
    //#input(String getContext()): this.context
    //#output(String getContext()): return_value
    //#pre[2] (String getContext()): init'ed(this.context)
    //#post(String getContext()): return_value == this.context
    //#post(String getContext()): init'ed(return_value)
    //#WeblogPageRequest.java:267: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getContext()
    }

    public void setContext(String context) {
        this.context = context;
    //#WeblogPageRequest.java:271: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setContext(String)
    //#input(void setContext(String)): context
    //#input(void setContext(String)): this
    //#output(void setContext(String)): this.context
    //#post(void setContext(String)): this.context == context
    //#post(void setContext(String)): init'ed(this.context)
    }
    //#WeblogPageRequest.java:272: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setContext(String)

    public String getWeblogAnchor() {
        return weblogAnchor;
    //#WeblogPageRequest.java:275: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogAnchor()
    //#input(String getWeblogAnchor()): this
    //#input(String getWeblogAnchor()): this.weblogAnchor
    //#output(String getWeblogAnchor()): return_value
    //#pre[2] (String getWeblogAnchor()): init'ed(this.weblogAnchor)
    //#post(String getWeblogAnchor()): return_value == this.weblogAnchor
    //#post(String getWeblogAnchor()): init'ed(return_value)
    //#WeblogPageRequest.java:275: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogAnchor()
    }

    public void setWeblogAnchor(String weblogAnchor) {
        this.weblogAnchor = weblogAnchor;
    //#WeblogPageRequest.java:279: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogAnchor(String)
    //#input(void setWeblogAnchor(String)): this
    //#input(void setWeblogAnchor(String)): weblogAnchor
    //#output(void setWeblogAnchor(String)): this.weblogAnchor
    //#post(void setWeblogAnchor(String)): this.weblogAnchor == weblogAnchor
    //#post(void setWeblogAnchor(String)): init'ed(this.weblogAnchor)
    }
    //#WeblogPageRequest.java:280: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogAnchor(String)

    public String getWeblogPageName() {
        return weblogPageName;
    //#WeblogPageRequest.java:283: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogPageName()
    //#input(String getWeblogPageName()): this
    //#input(String getWeblogPageName()): this.weblogPageName
    //#output(String getWeblogPageName()): return_value
    //#pre[2] (String getWeblogPageName()): init'ed(this.weblogPageName)
    //#post(String getWeblogPageName()): return_value == this.weblogPageName
    //#post(String getWeblogPageName()): init'ed(return_value)
    //#WeblogPageRequest.java:283: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogPageName()
    }

    public void setWeblogPageName(String weblogPage) {
        this.weblogPageName = weblogPage;
    //#WeblogPageRequest.java:287: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogPageName(String)
    //#input(void setWeblogPageName(String)): this
    //#input(void setWeblogPageName(String)): weblogPage
    //#output(void setWeblogPageName(String)): this.weblogPageName
    //#post(void setWeblogPageName(String)): this.weblogPageName == weblogPage
    //#post(void setWeblogPageName(String)): init'ed(this.weblogPageName)
    }
    //#WeblogPageRequest.java:288: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogPageName(String)

    public String getWeblogCategoryName() {
        return weblogCategoryName;
    //#WeblogPageRequest.java:291: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogCategoryName()
    //#input(String getWeblogCategoryName()): this
    //#input(String getWeblogCategoryName()): this.weblogCategoryName
    //#output(String getWeblogCategoryName()): return_value
    //#pre[2] (String getWeblogCategoryName()): init'ed(this.weblogCategoryName)
    //#post(String getWeblogCategoryName()): return_value == this.weblogCategoryName
    //#post(String getWeblogCategoryName()): init'ed(return_value)
    //#WeblogPageRequest.java:291: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogCategoryName()
    }

    public void setWeblogCategoryName(String weblogCategory) {
        this.weblogCategoryName = weblogCategory;
    //#WeblogPageRequest.java:295: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogCategoryName(String)
    //#input(void setWeblogCategoryName(String)): this
    //#input(void setWeblogCategoryName(String)): weblogCategory
    //#output(void setWeblogCategoryName(String)): this.weblogCategoryName
    //#post(void setWeblogCategoryName(String)): this.weblogCategoryName == weblogCategory
    //#post(void setWeblogCategoryName(String)): init'ed(this.weblogCategoryName)
    }
    //#WeblogPageRequest.java:296: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogCategoryName(String)

    public String getWeblogDate() {
        return weblogDate;
    //#WeblogPageRequest.java:299: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogDate()
    //#input(String getWeblogDate()): this
    //#input(String getWeblogDate()): this.weblogDate
    //#output(String getWeblogDate()): return_value
    //#pre[2] (String getWeblogDate()): init'ed(this.weblogDate)
    //#post(String getWeblogDate()): return_value == this.weblogDate
    //#post(String getWeblogDate()): init'ed(return_value)
    //#WeblogPageRequest.java:299: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogDate()
    }

    public void setWeblogDate(String weblogDate) {
        this.weblogDate = weblogDate;
    //#WeblogPageRequest.java:303: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogDate(String)
    //#input(void setWeblogDate(String)): this
    //#input(void setWeblogDate(String)): weblogDate
    //#output(void setWeblogDate(String)): this.weblogDate
    //#post(void setWeblogDate(String)): this.weblogDate == weblogDate
    //#post(void setWeblogDate(String)): init'ed(this.weblogDate)
    }
    //#WeblogPageRequest.java:304: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogDate(String)

    public int getPageNum() {
        return pageNum;
    //#WeblogPageRequest.java:307: method: int org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getPageNum()
    //#input(int getPageNum()): this
    //#input(int getPageNum()): this.pageNum
    //#output(int getPageNum()): return_value
    //#pre[2] (int getPageNum()): init'ed(this.pageNum)
    //#post(int getPageNum()): return_value == this.pageNum
    //#post(int getPageNum()): init'ed(return_value)
    //#WeblogPageRequest.java:307: end of method: int org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getPageNum()
    }

    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    //#WeblogPageRequest.java:311: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setPageNum(int)
    //#input(void setPageNum(int)): pageNum
    //#input(void setPageNum(int)): this
    //#output(void setPageNum(int)): this.pageNum
    //#post(void setPageNum(int)): this.pageNum == pageNum
    //#post(void setPageNum(int)): init'ed(this.pageNum)
    }
    //#WeblogPageRequest.java:312: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setPageNum(int)

    public Map getCustomParams() {
        return customParams;
    //#WeblogPageRequest.java:315: method: Map org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getCustomParams()
    //#input(Map getCustomParams()): this
    //#input(Map getCustomParams()): this.customParams
    //#output(Map getCustomParams()): return_value
    //#pre[2] (Map getCustomParams()): init'ed(this.customParams)
    //#post(Map getCustomParams()): return_value == this.customParams
    //#post(Map getCustomParams()): init'ed(return_value)
    //#WeblogPageRequest.java:315: end of method: Map org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getCustomParams()
    }

    public void setCustomParams(Map customParams) {
        this.customParams = customParams;
    //#WeblogPageRequest.java:319: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setCustomParams(Map)
    //#input(void setCustomParams(Map)): customParams
    //#input(void setCustomParams(Map)): this
    //#output(void setCustomParams(Map)): this.customParams
    //#post(void setCustomParams(Map)): this.customParams == customParams
    //#post(void setCustomParams(Map)): init'ed(this.customParams)
    }
    //#WeblogPageRequest.java:320: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setCustomParams(Map)
    
    public List getTags() {
      return tags;
    //#WeblogPageRequest.java:323: method: List org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getTags()
    //#input(List getTags()): this
    //#input(List getTags()): this.tags
    //#output(List getTags()): return_value
    //#pre[2] (List getTags()): init'ed(this.tags)
    //#post(List getTags()): return_value == this.tags
    //#post(List getTags()): init'ed(return_value)
    //#WeblogPageRequest.java:323: end of method: List org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getTags()
    }
    
    public void setTags(List tags) {
      this.tags = tags;
    //#WeblogPageRequest.java:327: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setTags(List)
    //#input(void setTags(List)): tags
    //#input(void setTags(List)): this
    //#output(void setTags(List)): this.tags
    //#post(void setTags(List)): this.tags == tags
    //#post(void setTags(List)): init'ed(this.tags)
    }
    //#WeblogPageRequest.java:328: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setTags(List)
    
    public WeblogEntry getWeblogEntry() {
        
        if(weblogEntry == null && weblogAnchor != null) {
    //#WeblogPageRequest.java:332: method: WeblogEntry org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogEntry()
    //#WeblogPageRequest.java:332: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogEntry getWeblogEntry()
    //#    suspicious precondition index: [10]
    //#    Attribs:  Soft
    //#input(WeblogEntry getWeblogEntry()): "Error getting weblog entry "._tainted
    //#input(WeblogEntry getWeblogEntry()): "Error looking up weblog "._tainted
    //#input(WeblogEntry getWeblogEntry()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#input(WeblogEntry getWeblogEntry()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest]
    //#input(WeblogEntry getWeblogEntry()): __Descendant_Table[others]
    //#input(WeblogEntry getWeblogEntry()): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(WeblogEntry getWeblogEntry()): log
    //#input(WeblogEntry getWeblogEntry()): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(WeblogEntry getWeblogEntry()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.java.lang.Boolean.TRUE
    //#input(WeblogEntry getWeblogEntry()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log
    //#input(WeblogEntry getWeblogEntry()): this
    //#input(WeblogEntry getWeblogEntry()): this.__Tag
    //#input(WeblogEntry getWeblogEntry()): this.weblog
    //#input(WeblogEntry getWeblogEntry()): this.weblogAnchor
    //#input(WeblogEntry getWeblogEntry()): this.weblogAnchor._tainted
    //#input(WeblogEntry getWeblogEntry()): this.weblogEntry
    //#input(WeblogEntry getWeblogEntry()): this.weblogHandle
    //#input(WeblogEntry getWeblogEntry()): this.weblogHandle._tainted
    //#output(WeblogEntry getWeblogEntry()): return_value
    //#output(WeblogEntry getWeblogEntry()): this.weblog
    //#output(WeblogEntry getWeblogEntry()): this.weblogEntry
    //#pre[6] (WeblogEntry getWeblogEntry()): init'ed(this.weblogEntry)
    //#pre[4] (WeblogEntry getWeblogEntry()): (soft) log != null
    //#pre[5] (WeblogEntry getWeblogEntry()): (soft) init'ed(this.weblog)
    //#pre[8] (WeblogEntry getWeblogEntry()): (soft) org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log != null
    //#pre[10] (WeblogEntry getWeblogEntry()): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest}
    //#pre[11] (WeblogEntry getWeblogEntry()): (soft) init'ed(this.weblogAnchor)
    //#pre[13] (WeblogEntry getWeblogEntry()): (soft) init'ed(this.weblogHandle)
    //#presumption(WeblogEntry getWeblogEntry()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@334 != null
    //#presumption(WeblogEntry getWeblogEntry()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@334 != null
    //#post(WeblogEntry getWeblogEntry()): init'ed(return_value)
    //#post(WeblogEntry getWeblogEntry()): this.weblogEntry == return_value
    //#post(WeblogEntry getWeblogEntry()): init'ed(this.weblog)
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getUserManager
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:org.apache.roller.weblogger.business.UserManager:getWebsiteByHandle
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(WeblogEntry getWeblogEntry()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#test_vector(WeblogEntry getWeblogEntry()): this.weblogEntry: Inverse{null}, Addr_Set{null}
    //#test_vector(WeblogEntry getWeblogEntry()): this.weblogAnchor: Addr_Set{null}, Inverse{null}
            try {
                WeblogManager wmgr = WebloggerFactory.getWeblogger().getWeblogManager();
    //#WeblogPageRequest.java:334: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogEntry getWeblogEntry()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogPageRequest.java:334: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogEntry getWeblogEntry()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
                weblogEntry = wmgr.getWeblogEntryByAnchor(getWeblog(), weblogAnchor);
    //#WeblogPageRequest.java:335: Warning: method not available
    //#    -- call on WeblogEntry org.apache.roller.weblogger.business.WeblogManager:getWeblogEntryByAnchor(Weblog, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogEntry getWeblogEntry()
    //#    unanalyzed callee: WeblogEntry org.apache.roller.weblogger.business.WeblogManager:getWeblogEntryByAnchor(Weblog, String)
            } catch (WebloggerException ex) {
                log.error("Error getting weblog entry "+weblogAnchor, ex);
    //#WeblogPageRequest.java:337: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogEntry getWeblogEntry()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            }
        }
        
        return weblogEntry;
    //#WeblogPageRequest.java:341: end of method: WeblogEntry org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogEntry()
    }

    public void setWeblogEntry(WeblogEntry weblogEntry) {
        this.weblogEntry = weblogEntry;
    //#WeblogPageRequest.java:345: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogEntry(WeblogEntry)
    //#input(void setWeblogEntry(WeblogEntry)): this
    //#input(void setWeblogEntry(WeblogEntry)): weblogEntry
    //#output(void setWeblogEntry(WeblogEntry)): this.weblogEntry
    //#post(void setWeblogEntry(WeblogEntry)): this.weblogEntry == weblogEntry
    //#post(void setWeblogEntry(WeblogEntry)): init'ed(this.weblogEntry)
    }
    //#WeblogPageRequest.java:346: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogEntry(WeblogEntry)

    public ThemeTemplate getWeblogPage() {
        
        if(weblogPage == null && weblogPageName != null) {
    //#WeblogPageRequest.java:350: method: ThemeTemplate org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogPage()
    //#WeblogPageRequest.java:350: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    suspicious precondition index: [10]
    //#    Attribs:  Soft
    //#input(ThemeTemplate getWeblogPage()): "Error getting weblog page "._tainted
    //#input(ThemeTemplate getWeblogPage()): "Error looking up weblog "._tainted
    //#input(ThemeTemplate getWeblogPage()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#input(ThemeTemplate getWeblogPage()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest]
    //#input(ThemeTemplate getWeblogPage()): __Descendant_Table[others]
    //#input(ThemeTemplate getWeblogPage()): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(ThemeTemplate getWeblogPage()): log
    //#input(ThemeTemplate getWeblogPage()): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(ThemeTemplate getWeblogPage()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.java.lang.Boolean.TRUE
    //#input(ThemeTemplate getWeblogPage()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log
    //#input(ThemeTemplate getWeblogPage()): this
    //#input(ThemeTemplate getWeblogPage()): this.__Tag
    //#input(ThemeTemplate getWeblogPage()): this.weblogHandle
    //#input(ThemeTemplate getWeblogPage()): this.weblogHandle._tainted
    //#input(ThemeTemplate getWeblogPage()): this.weblogPage
    //#input(ThemeTemplate getWeblogPage()): this.weblogPageName
    //#input(ThemeTemplate getWeblogPage()): this.weblogPageName._tainted
    //#output(ThemeTemplate getWeblogPage()): return_value
    //#output(ThemeTemplate getWeblogPage()): this.weblog
    //#output(ThemeTemplate getWeblogPage()): this.weblogPage
    //#pre[6] (ThemeTemplate getWeblogPage()): init'ed(this.weblogPage)
    //#pre[4] (ThemeTemplate getWeblogPage()): (soft) log != null
    //#pre[8] (ThemeTemplate getWeblogPage()): (soft) org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log != null
    //#pre[10] (ThemeTemplate getWeblogPage()): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest}
    //#pre[11] (ThemeTemplate getWeblogPage()): (soft) init'ed(this.weblogHandle)
    //#pre[13] (ThemeTemplate getWeblogPage()): (soft) init'ed(this.weblogPageName)
    //#presumption(ThemeTemplate getWeblogPage()): org.apache.roller.weblogger.pojos.Weblog:getTheme(...)@352 != null
    //#post(ThemeTemplate getWeblogPage()): init'ed(return_value)
    //#post(ThemeTemplate getWeblogPage()): this.weblogPage == return_value
    //#post(ThemeTemplate getWeblogPage()): possibly_updated(this.weblog)
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getUserManager
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:org.apache.roller.weblogger.business.UserManager:getWebsiteByHandle
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(ThemeTemplate getWeblogPage()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#test_vector(ThemeTemplate getWeblogPage()): this.weblogPage: Inverse{null}, Addr_Set{null}
    //#test_vector(ThemeTemplate getWeblogPage()): this.weblogPageName: Addr_Set{null}, Inverse{null}
            try {
                weblogPage = getWeblog().getTheme().getTemplateByLink(weblogPageName);                
    //#WeblogPageRequest.java:352: ?precondition failure
    //#    org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getWeblog: init'ed(this.weblog)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    basic block: bb_4
    //#    assertion: init'ed(this.weblog)
    //#    callee: Weblog org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.getWeblog()
    //#    callee assertion: init'ed(this.weblog)
    //#    callee file: WeblogRequest.java
    //#    callee precondition index: [5]
    //#    callee srcpos: 187
    //#    VN: this.weblog
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
    //#WeblogPageRequest.java:352: ?null dereference
    //#    getWeblog(...) != null
    //#    severity: MEDIUM
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    basic block: bb_4
    //#    assertion: getWeblog(...) != null
    //#    VN: getWeblog(...)
    //#    Expected: Inverse{null} or Invalid
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
    //#WeblogPageRequest.java:352: Warning: method not available
    //#    -- call on WeblogTheme org.apache.roller.weblogger.pojos.Weblog:getTheme()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    unanalyzed callee: WeblogTheme org.apache.roller.weblogger.pojos.Weblog:getTheme()
    //#WeblogPageRequest.java:352: Warning: method not available
    //#    -- call on ThemeTemplate org.apache.roller.weblogger.pojos.WeblogTheme:getTemplateByLink(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    unanalyzed callee: ThemeTemplate org.apache.roller.weblogger.pojos.WeblogTheme:getTemplateByLink(String)
            } catch (WebloggerException ex) {
                log.error("Error getting weblog page "+weblogPageName, ex);
    //#WeblogPageRequest.java:354: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: ThemeTemplate getWeblogPage()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            }
        }
        
        return weblogPage;
    //#WeblogPageRequest.java:358: end of method: ThemeTemplate org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogPage()
    }

    public void setWeblogPage(WeblogTemplate weblogPage) {
        this.weblogPage = weblogPage;
    //#WeblogPageRequest.java:362: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogPage(WeblogTemplate)
    //#input(void setWeblogPage(WeblogTemplate)): this
    //#input(void setWeblogPage(WeblogTemplate)): weblogPage
    //#output(void setWeblogPage(WeblogTemplate)): this.weblogPage
    //#post(void setWeblogPage(WeblogTemplate)): this.weblogPage == weblogPage
    //#post(void setWeblogPage(WeblogTemplate)): init'ed(this.weblogPage)
    }
    //#WeblogPageRequest.java:363: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogPage(WeblogTemplate)

    public WeblogCategory getWeblogCategory() {
        
        if(weblogCategory == null && weblogCategoryName != null) {
    //#WeblogPageRequest.java:367: method: WeblogCategory org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogCategory()
    //#WeblogPageRequest.java:367: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogCategory getWeblogCategory()
    //#    suspicious precondition index: [10]
    //#    Attribs:  Soft
    //#input(WeblogCategory getWeblogCategory()): "Error getting weblog category "._tainted
    //#input(WeblogCategory getWeblogCategory()): "Error looking up weblog "._tainted
    //#input(WeblogCategory getWeblogCategory()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest]
    //#input(WeblogCategory getWeblogCategory()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest]
    //#input(WeblogCategory getWeblogCategory()): __Descendant_Table[others]
    //#input(WeblogCategory getWeblogCategory()): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(WeblogCategory getWeblogCategory()): log
    //#input(WeblogCategory getWeblogCategory()): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest.__Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(WeblogCategory getWeblogCategory()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.java.lang.Boolean.TRUE
    //#input(WeblogCategory getWeblogCategory()): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log
    //#input(WeblogCategory getWeblogCategory()): this
    //#input(WeblogCategory getWeblogCategory()): this.__Tag
    //#input(WeblogCategory getWeblogCategory()): this.weblog
    //#input(WeblogCategory getWeblogCategory()): this.weblogCategory
    //#input(WeblogCategory getWeblogCategory()): this.weblogCategoryName
    //#input(WeblogCategory getWeblogCategory()): this.weblogCategoryName._tainted
    //#input(WeblogCategory getWeblogCategory()): this.weblogHandle
    //#input(WeblogCategory getWeblogCategory()): this.weblogHandle._tainted
    //#output(WeblogCategory getWeblogCategory()): return_value
    //#output(WeblogCategory getWeblogCategory()): this.weblog
    //#output(WeblogCategory getWeblogCategory()): this.weblogCategory
    //#pre[6] (WeblogCategory getWeblogCategory()): init'ed(this.weblogCategory)
    //#pre[4] (WeblogCategory getWeblogCategory()): (soft) log != null
    //#pre[5] (WeblogCategory getWeblogCategory()): (soft) init'ed(this.weblog)
    //#pre[8] (WeblogCategory getWeblogCategory()): (soft) org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log != null
    //#pre[10] (WeblogCategory getWeblogCategory()): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewRequest}
    //#pre[11] (WeblogCategory getWeblogCategory()): (soft) init'ed(this.weblogCategoryName)
    //#pre[13] (WeblogCategory getWeblogCategory()): (soft) init'ed(this.weblogHandle)
    //#presumption(WeblogCategory getWeblogCategory()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@369 != null
    //#presumption(WeblogCategory getWeblogCategory()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@369 != null
    //#post(WeblogCategory getWeblogCategory()): init'ed(return_value)
    //#post(WeblogCategory getWeblogCategory()): this.weblogCategory == return_value
    //#post(WeblogCategory getWeblogCategory()): init'ed(this.weblog)
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getUserManager
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:org.apache.roller.weblogger.business.UserManager:getWebsiteByHandle
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(WeblogCategory getWeblogCategory()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#test_vector(WeblogCategory getWeblogCategory()): this.weblogCategory: Inverse{null}, Addr_Set{null}
    //#test_vector(WeblogCategory getWeblogCategory()): this.weblogCategoryName: Addr_Set{null}, Inverse{null}
            try {
                WeblogManager wmgr = WebloggerFactory.getWeblogger().getWeblogManager();
    //#WeblogPageRequest.java:369: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogCategory getWeblogCategory()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogPageRequest.java:369: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogCategory getWeblogCategory()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
                weblogCategory = wmgr.getWeblogCategoryByPath(getWeblog(), weblogCategoryName);
    //#WeblogPageRequest.java:370: Warning: method not available
    //#    -- call on WeblogCategory org.apache.roller.weblogger.business.WeblogManager:getWeblogCategoryByPath(Weblog, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogCategory getWeblogCategory()
    //#    unanalyzed callee: WeblogCategory org.apache.roller.weblogger.business.WeblogManager:getWeblogCategoryByPath(Weblog, String)
            } catch (WebloggerException ex) {
                log.error("Error getting weblog category "+weblogCategoryName, ex);
    //#WeblogPageRequest.java:372: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
    //#    method: WeblogCategory getWeblogCategory()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            }
        }
        
        return weblogCategory;
    //#WeblogPageRequest.java:376: end of method: WeblogCategory org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.getWeblogCategory()
    }

    public void setWeblogCategory(WeblogCategory weblogCategory) {
        this.weblogCategory = weblogCategory;
    //#WeblogPageRequest.java:380: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogCategory(WeblogCategory)
    //#input(void setWeblogCategory(WeblogCategory)): this
    //#input(void setWeblogCategory(WeblogCategory)): weblogCategory
    //#output(void setWeblogCategory(WeblogCategory)): this.weblogCategory
    //#post(void setWeblogCategory(WeblogCategory)): this.weblogCategory == weblogCategory
    //#post(void setWeblogCategory(WeblogCategory)): init'ed(this.weblogCategory)
    }
    //#WeblogPageRequest.java:381: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest.setWeblogCategory(WeblogCategory)
    
}
    //#WeblogPageRequest.java:: end of class: org.apache.roller.weblogger.ui.rendering.util.WeblogPageRequest
