1   package com.atlassian.seraph.filter;
2   
3   import java.util.Map;
4   import java.util.HashMap;
5   import java.util.Enumeration;
6   import javax.servlet.http.HttpSession;
7   import javax.servlet.http.HttpSessionContext;
8   import javax.servlet.ServletContext;
9   
10  /**
11  */
12  class MockSession implements HttpSession
13  {
14      private final Map<String, Object> attributeMap = new HashMap<String, Object>();
15  
16      public long getCreationTime()
17      {
18          return 0;
19      }
20  
21      public String getId()
22      {
23          return null;
24      }
25  
26      public long getLastAccessedTime()
27      {
28          return 0;
29      }
30  
31      public ServletContext getServletContext()
32      {
33          return null;
34      }
35  
36      public void setMaxInactiveInterval(final int i)
37      {}
38  
39      public int getMaxInactiveInterval()
40      {
41          return 0;
42      }
43  
44      public HttpSessionContext getSessionContext()
45      {
46          return null;
47      }
48  
49      public Object getAttribute(final String s)
50      {
51          return attributeMap.get(s);
52      }
53  
54      public Object getValue(final String s)
55      {
56          return getAttribute(s);
57      }
58  
59      public Enumeration<String> getAttributeNames()
60      {
61          return null;
62      }
63  
64      public String[] getValueNames()
65      {
66          return new String[0];
67      }
68  
69      public void setAttribute(final String s, final Object o)
70      {
71          attributeMap.put(s, o);
72      }
73  
74      public void putValue(final String s, final Object o)
75      {
76          setAttribute(s,o);
77      }
78  
79      public void removeAttribute(final String s)
80      {
81          attributeMap.remove(s);
82      }
83  
84      public void removeValue(final String s)
85      {
86          removeAttribute(s);
87      }
88  
89      public void invalidate()
90      {
91          attributeMap.clear();
92      }
93  
94      public boolean isNew()
95      {
96          return false;
97      }
98  }