01: package com.meterware.servletunit;
02:
03: /********************************************************************************************************************
04: * $Id: RequestDispatcherImpl.java,v 1.5 2003/02/27 18:40:39 russgold Exp $
05: *
06: * Copyright (c) 2002-2003, Russell Gold
07: *
08: * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
09: * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
10: * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
11: * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12: *
13: * The above copyright notice and this permission notice shall be included in all copies or substantial portions
14: * of the Software.
15: *
16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
17: * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18: * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
19: * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20: * DEALINGS IN THE SOFTWARE.
21: *
22: *******************************************************************************************************************/
23: import java.io.IOException;
24: import java.net.URL;
25:
26: import javax.servlet.RequestDispatcher;
27: import javax.servlet.ServletRequest;
28: import javax.servlet.ServletResponse;
29: import javax.servlet.ServletException;
30: import javax.servlet.http.HttpServletRequest;
31:
32: /**
33: *
34: * @author <a href="mailto:russgold@httpunit.org">Russell Gold</a>
35: **/
36: class RequestDispatcherImpl extends RequestContext implements
37: RequestDispatcher {
38:
39: private ServletMetaData _servletMetaData;
40:
41: RequestDispatcherImpl(WebApplication application, URL url)
42: throws ServletException {
43: super (url);
44: _servletMetaData = application.getServletRequest(url);
45: }
46:
47: public ServletMetaData getServletMetaData() {
48: return _servletMetaData;
49: }
50:
51: public void forward(ServletRequest request, ServletResponse response)
52: throws ServletException, IOException {
53: response.reset();
54: _servletMetaData.getServlet().service(
55: DispatchedRequestWrapper.createForwardRequestWrapper(
56: (HttpServletRequest) request, this ), response);
57: }
58:
59: public void include(ServletRequest request, ServletResponse response)
60: throws ServletException, IOException {
61: _servletMetaData.getServlet().service(
62: DispatchedRequestWrapper.createIncludeRequestWrapper(
63: (HttpServletRequest) request, this), response);
64: }
65: }
|