//# 1 errors, 183 messages
//#
/*
    //#WeblogResourceRequest.java:1:1: class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
 * 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 javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.util.URLUtilities;


/**
 * Represents a request for a weblog resource file.
 *
 * /roller-ui/rendering/resources/*
 */
public class WeblogResourceRequest extends WeblogRequest {
    
    private static Log log = LogFactory.getLog(WeblogResourceRequest.class);
    //#WeblogResourceRequest.java:34: method: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init
    //#WeblogResourceRequest.java:34: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
    //#    method: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest]
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getAuthenticUser()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getLocale()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getLocaleInstance()Ljava/util/Locale;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getResourcePath()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.getWeblogHandle()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.isLoggedIn()Z
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setAuthenticUser(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setLocale(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setLocaleInstance(Ljava/util/Locale;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setPathInfo(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setResourcePath(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setWeblog(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.setWeblogHandle(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): log
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest]
    //#output(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest]
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__static_init): __Dispatch_Table.getResourcePath()Ljava/lang/String; == &getResourcePath
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__static_init): __Dispatch_Table.isLocale(Ljava/lang/String;)Z == &isLocale
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init): __Dispatch_Table.isLoggedIn()Z == &org/apache/roller/weblogger/ui/rendering/util/ParsedRequest.isLoggedIn
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__static_init): __Dispatch_Table.setResourcePath(Ljava/lang/String;)V == &setResourcePath
    //#post(org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__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.WeblogResourceRequest__static_init): init'ed(log)
    //#WeblogResourceRequest.java:34: end of method: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest__static_init
        
    // lightweight attributes
    private String resourcePath = null;
    
    
    public WeblogResourceRequest() {}
    //#WeblogResourceRequest.java:40: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.authenticUser
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.localeInstance
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.pathInfo
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.request
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.resourcePath
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.user
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.weblog
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.weblogHandle
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.authenticUser == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.locale == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.localeInstance == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.pathInfo == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.request == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.resourcePath == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.user == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.weblog == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): this.weblogHandle == null
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.ParsedRequest
    //#WeblogResourceRequest.java:40: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest()
    
    
    /**
     * Construct the WeblogResourceRequest by parsing the incoming url
     */
    public WeblogResourceRequest(HttpServletRequest request) 
            throws InvalidRequestException {
        
        // let our parent take care of their business first
        // parent determines weblog handle and locale if specified
        super(request);
    //#WeblogResourceRequest.java:51: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#WeblogResourceRequest.java:51: 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.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    suspicious precondition index: [2]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "handle = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "invalid resource path info, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "locale = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "not a weblog request, "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "parsing path "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "pathInfo = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): "resourcePath = "._tainted
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): __Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): __Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): __Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): log
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.__Dispatch_Table.isLocale(Ljava/lang/String;)Z
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(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.WeblogResourceRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest.__Dispatch_Table.getPathInfo()Ljava/lang/String;
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.__Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(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.WeblogResourceRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(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.WeblogResourceRequest(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.WeblogResourceRequest(HttpServletRequest)): request
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this
    //#input(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): java.lang.String:substring(...)._tainted
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.authenticUser
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.localeInstance
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.pathInfo
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.request
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.resourcePath
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.user
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.weblog
    //#output(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.weblogHandle
    //#new obj(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): java.lang.String:substring(...)
    //#pre[1] (void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): log != null
    //#pre[2] (void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest}
    //#pre[3] (void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): org/apache/roller/weblogger/ui/rendering/util/WeblogRequest.log != null
    //#pre[4] (void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): request != null
    //#presumption(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): java.lang.String:length(...)@67 >= 2
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): java.lang.String:substring(...)._tainted == 0
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.__Tag == old this.__Tag
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.__Tag in {org/apache/roller/weblogger/ui/rendering/util/WeblogPreviewResourceRequest, org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest}
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): init'ed(this.authenticUser)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): init'ed(this.locale)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.localeInstance == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.user == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.weblog == null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.pathInfo != null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.request == request
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.request != null
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): init'ed(this.resourcePath)
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.weblogHandle == One-of{null, undefined}
    //#post(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): this.weblogHandle == null
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:org.apache.roller.weblogger.WebloggerException
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:split
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.ParsedRequest
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getPathInfo
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:org.apache.commons.logging.Log:debug
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.lang.String:endsWith
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:org.apache.commons.logging.Log:isDebugEnabled
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getRequestURL
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:javax.servlet.http.HttpServletRequest:getUserPrincipal
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): Effects-of-calling:java.security.Principal:getName
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): java.lang.String:startsWith(...)@70: {0}, {1}
    //#test_vector(void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)): org.apache.commons.logging.Log:isDebugEnabled(...)@88: {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);
    //#WeblogResourceRequest.java:59: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
                
        
        /* 
         * any path is okay ...
         *
         * /<path>/<to>/<resource>
         */
        if(pathInfo != null && pathInfo.trim().length() > 1) {
            
            this.resourcePath = pathInfo;
            if(pathInfo.startsWith("/")) {
                this.resourcePath = pathInfo.substring(1);
            }
            
            // Fix for ROL-1065: even though a + should mean space in a URL, folks
            // who upload files with plus signs expect them to work without
            // escaping. This is essentially what other systems do (e.g. JIRA) to
            // enable this.
            this.resourcePath = this.resourcePath.replaceAll("\\+", "%2B");
            
            // now we really decode the URL
            this.resourcePath = URLUtilities.decode(this.resourcePath);
    //#WeblogResourceRequest.java:81: 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.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.util.URLUtilities:decode(String)
        
        } else {
            throw new InvalidRequestException("invalid resource path info, "+
    //#WeblogResourceRequest.java:84: ?conditional throw
    //#    pathInfo != null
    //#    severity: MEDIUM
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    basic block: Entry_BB_1
    //#    assertion: pathInfo != null
    //#    VN: this.pathInfo == null
    //#    Expected: {-Inf..0, 2..+Inf}
    //#    Bad: {1}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
                    request.getRequestURL());
        }
        
        if(log.isDebugEnabled()) {
    //#WeblogResourceRequest.java:88: Warning: method not available
    //#    -- call on bool org.apache.commons.logging.Log:isDebugEnabled()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    unanalyzed callee: bool org.apache.commons.logging.Log:isDebugEnabled()
            log.debug("resourcePath = "+this.resourcePath);
    //#WeblogResourceRequest.java:89: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
    //#    method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
        }
    }
    //#WeblogResourceRequest.java:91: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest(HttpServletRequest)
    
    public String getResourcePath() {
        return resourcePath;
    //#WeblogResourceRequest.java:94: method: String org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.getResourcePath()
    //#input(String getResourcePath()): this
    //#input(String getResourcePath()): this.resourcePath
    //#output(String getResourcePath()): return_value
    //#pre[2] (String getResourcePath()): init'ed(this.resourcePath)
    //#post(String getResourcePath()): return_value == this.resourcePath
    //#post(String getResourcePath()): init'ed(return_value)
    //#WeblogResourceRequest.java:94: end of method: String org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.getResourcePath()
    }

    public void setResourcePath(String resourcePath) {
        this.resourcePath = resourcePath;
    //#WeblogResourceRequest.java:98: method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.setResourcePath(String)
    //#input(void setResourcePath(String)): resourcePath
    //#input(void setResourcePath(String)): this
    //#output(void setResourcePath(String)): this.resourcePath
    //#post(void setResourcePath(String)): this.resourcePath == resourcePath
    //#post(void setResourcePath(String)): init'ed(this.resourcePath)
    }
    //#WeblogResourceRequest.java:99: end of method: void org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.setResourcePath(String)
            
    protected boolean isLocale(String potentialLocale) {
        // We don't support locales in the resource Servlet so we've got to 
        // keep parent from treating upload sub-directory name as a locale.
        return false;
    //#WeblogResourceRequest.java:104: method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.isLocale(String)
    //#output(bool isLocale(String)): return_value
    //#post(bool isLocale(String)): return_value == 0
    //#WeblogResourceRequest.java:104: end of method: bool org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest.isLocale(String)
    }
}
    //#WeblogResourceRequest.java:: end of class: org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest
