//# 1 errors, 32 messages
//#
/*
    //#StrutsRedirectServlet.java:1:1: class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#StrutsRedirectServlet.java:1:1: method: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init
 * 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.struts2.util;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.roller.weblogger.business.WebloggerFactory;


/**
 * Handles redirects for old struts1 urls.
 */
public class StrutsRedirectServlet extends HttpServlet {
    //#StrutsRedirectServlet.java:34: method: void org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet()
    //#input(void org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet()): this
    //#StrutsRedirectServlet.java:34: end of method: void org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet()
    
    // only handle GET requests
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        
        String redirectUrl = null;
    //#StrutsRedirectServlet.java:40: method: void org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.doGet(HttpServletRequest, HttpServletResponse)
    //#input(void doGet(HttpServletRequest, HttpServletResponse)): "Location"._tainted
    //#input(void doGet(HttpServletRequest, HttpServletResponse)): request
    //#input(void doGet(HttpServletRequest, HttpServletResponse)): response
    //#pre[1] (void doGet(HttpServletRequest, HttpServletResponse)): request != null
    //#pre[2] (void doGet(HttpServletRequest, HttpServletResponse)): response != null
    //#presumption(void doGet(HttpServletRequest, HttpServletResponse)): org.apache.roller.weblogger.business.Weblogger:getUrlStrategy(...)@48 != null
    //#presumption(void doGet(HttpServletRequest, HttpServletResponse)): org.apache.roller.weblogger.business.Weblogger:getUrlStrategy(...)@52 != null
    //#presumption(void doGet(HttpServletRequest, HttpServletResponse)): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@48 != null
    //#presumption(void doGet(HttpServletRequest, HttpServletResponse)): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@52 != null
    //#test_vector(void doGet(HttpServletRequest, HttpServletResponse)): java.lang.String:equals(...)@43: {0}, {1}
    //#test_vector(void doGet(HttpServletRequest, HttpServletResponse)): java.lang.String:equals(...)@50: {0}, {1}
    //#test_vector(void doGet(HttpServletRequest, HttpServletResponse)): javax.servlet.http.HttpServletRequest:getServletPath(...)@42: Addr_Set{null}, Inverse{null}
        
        String servlet = request.getServletPath();
        if(servlet != null && "/roller-ui/authoring/commentManagement.do".equals(servlet)) {
            // redirect to new comment management action
            Map<String, String> params = new HashMap();
            params.put("weblog", request.getParameter("weblog"));
            params.put("bean.entryId", request.getParameter("entryId"));
            redirectUrl = WebloggerFactory.getWeblogger().getUrlStrategy().getActionURL("comments", "/roller-ui/authoring", null, params, true);
    //#StrutsRedirectServlet.java:48: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#StrutsRedirectServlet.java:48: Warning: method not available
    //#    -- call on URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#StrutsRedirectServlet.java:48: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getActionURL(String, String, String, Map, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getActionURL(String, String, String, Map, bool)
            
        } else if(servlet != null && "/roller-ui/yourWebsites.do".equals(servlet)) {
            // redirect to new main menu action
            redirectUrl = WebloggerFactory.getWeblogger().getUrlStrategy().getActionURL("menu", "/roller-ui", null, null, true);
    //#StrutsRedirectServlet.java:52: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#StrutsRedirectServlet.java:52: Warning: method not available
    //#    -- call on URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#StrutsRedirectServlet.java:52: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getActionURL(String, String, String, Map, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getActionURL(String, String, String, Map, bool)
        }
        
        if(redirectUrl != null) {
            response.setStatus(response.SC_MOVED_PERMANENTLY);
            response.setHeader("Location", redirectUrl);
    //#StrutsRedirectServlet.java:57: ?cross-site scripting potential
    //#    redirectUrl._tainted == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
    //#    method: void doGet(HttpServletRequest, HttpServletResponse)
    //#    basic block: bb_8
    //#    assertion: redirectUrl._tainted == 0
    //#    VN: redirectUrl._tainted
    //#    Expected: {0}
    //#    Bad: {1}
    //#    Attribs:  Int  Exp in +/-1000  Exp singleton  Bad singleton  Bad overlaps +/-1000  Bad > Exp
        } else {
            response.sendError(response.SC_NOT_FOUND);
        }
    }
    //#StrutsRedirectServlet.java:61: end of method: void org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.doGet(HttpServletRequest, HttpServletResponse)
    
}
    //#output(org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/util/StrutsRedirectServlet]
    //#output(org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init): __Dispatch_Table.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
    //#post(org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/util/StrutsRedirectServlet] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init): __Dispatch_Table.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V == &doGet
    //#StrutsRedirectServlet.java:: end of method: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet.org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet__static_init
    //#StrutsRedirectServlet.java:: end of class: org.apache.roller.weblogger.ui.struts2.util.StrutsRedirectServlet
