1   package com.atlassian.seraph.util;
2   
3   import com.mockobjects.servlet.MockHttpServletRequest;
4   import com.mockobjects.ReturnValue;
5   
6   import java.util.HashMap;
7   import java.util.Map;
8   
9   /** For some reason the mockobjects wankers did not implement getRequestURL.
10   * Not a hint in the comments as to why... grr
11   */
12  public class LocalMockHttpServletRequest extends MockHttpServletRequest
13  {
14      private final ReturnValue myRequestURL = new ReturnValue("request url");
15      private int port;
16      private final Map<String, Object> attributes = new HashMap<String, Object>();
17  
18      public int getServerPort()
19      {
20          return port;
21      }
22  
23      public void setupPort(int port)
24      {
25          this.port = port;
26      }
27  
28      public void setupGetRequestURL(String requestURL)
29      {
30          myRequestURL.setValue(requestURL);
31      }
32  
33      public StringBuffer getRequestURL()
34      {
35          return new StringBuffer((String) myRequestURL.getValue());
36      }
37  
38      @Override
39      public void setAttribute(String name, Object o)
40      {
41          attributes.put(name, o);
42      }
43  
44      @Override
45      public Object getAttribute(String name)
46      {
47          return attributes.get(name);
48      }
49  
50  }