KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > servletunit > RequestDispatcherSimulator


1 package servletunit;
2
3 // StrutsTestCase - a JUnit extension for testing Struts actions
4
// within the context of the ActionServlet.
5
// Copyright (C) 2002 Deryl Seale
6
//
7
// This library is free software; you can redistribute it and/or
8
// modify it under the terms of the Apache Software License as
9
// published by the Apache Software Foundation; either version 1.1
10
// of the License, or (at your option) any later version.
11
//
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// Apache Software Foundation Licens for more details.
16
//
17
// You may view the full text here: http://www.apache.org/LICENSE.txt
18

19 import javax.servlet.*;
20 import java.io.IOException JavaDoc;
21
22 /**
23  * Simulates a <code>javax.servlet.RequestDispatcher</code> object.
24  */

25 public class RequestDispatcherSimulator implements RequestDispatcher
26 {
27     private Object JavaDoc dispatchedResource;
28     /**
29      *@param dispatchedResource The <code>dispatchedResource</code> object represents the resource that
30      * <code>this</code> <code>javax.servlet.RequestDispatcher</code> is tied to.
31      * Currently this class only supports <code>javax.servlet.Servlet</code> objects
32      * and <code>java.lang.String</code> objects. If the parameter passed in is not
33      * a <code>javax.servlet.Servlet</code> object when forward or include is called
34      * the parameter's toString method is called and sent to <code>System.out</code>.
35      * Otherwise, the appropriate service method is called.
36      */

37     public RequestDispatcherSimulator( Object JavaDoc dispatchedResource )
38     {
39         this.dispatchedResource = dispatchedResource;
40     }
41     /**
42      * Simulates the forward method of the <code>javax.servlet.RequestDispatcher</code> interface
43      */

44     public void forward( ServletRequest request, ServletResponse response ) throws ServletException, IOException JavaDoc
45     {
46         if( dispatchedResource instanceof Servlet )
47             ((Servlet)dispatchedResource).service( request, response );
48     }
49     public void include( ServletRequest request, ServletResponse response ) throws ServletException, IOException JavaDoc
50     {
51         System.out.println( dispatchedResource.toString() );
52     }
53
54     public String JavaDoc getForward() {
55         if (dispatchedResource instanceof String JavaDoc)
56             return (String JavaDoc) dispatchedResource;
57         else
58             return dispatchedResource.getClass().toString();
59     }
60 }
61
Popular Tags