1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.acme;
20 import java.util.EventListener;
21
22 import javax.annotation.Resource;
23 import javax.servlet.ServletContextAttributeEvent;
24 import javax.servlet.ServletContextAttributeListener;
25 import javax.servlet.ServletContextEvent;
26 import javax.servlet.ServletContextListener;
27 import javax.servlet.ServletRequestAttributeEvent;
28 import javax.servlet.ServletRequestAttributeListener;
29 import javax.servlet.ServletRequestEvent;
30 import javax.servlet.ServletRequestListener;
31 import javax.servlet.annotation.WebListener;
32 import javax.servlet.http.HttpSessionActivationListener;
33 import javax.servlet.http.HttpSessionAttributeListener;
34 import javax.servlet.http.HttpSessionBindingEvent;
35 import javax.servlet.http.HttpSessionEvent;
36 import javax.servlet.http.HttpSessionListener;
37
38
39 @Foo(1)
40 @WebListener
41 public class TestListener implements HttpSessionListener, HttpSessionAttributeListener, HttpSessionActivationListener, ServletContextListener, ServletContextAttributeListener, ServletRequestListener, ServletRequestAttributeListener
42 {
43 public class NaughtyServletContextListener implements ServletContextListener
44 {
45
46 @Override
47 public void contextInitialized(ServletContextEvent sce)
48 {
49 throw new IllegalStateException("Should not call NaughtServletContextListener.contextInitialized");
50 }
51
52 @Override
53 public void contextDestroyed(ServletContextEvent sce)
54 {
55 throw new IllegalStateException("Should not call NaughtServletContextListener.contextDestroyed");
56 }
57 }
58
59 public class InvalidListener implements EventListener
60 {
61
62 }
63
64 @Resource(mappedName="maxAmount")
65 private Double maxAmount;
66
67 public void attributeAdded(HttpSessionBindingEvent se)
68 {
69
70 }
71
72 public void attributeRemoved(HttpSessionBindingEvent se)
73 {
74
75 }
76
77 public void attributeReplaced(HttpSessionBindingEvent se)
78 {
79
80 }
81
82 public void sessionWillPassivate(HttpSessionEvent se)
83 {
84
85 }
86
87 public void sessionDidActivate(HttpSessionEvent se)
88 {
89
90 }
91
92 public void contextInitialized(ServletContextEvent sce)
93 {
94
95 try
96 {
97 sce.getServletContext().addListener(new NaughtyServletContextListener());
98 sce.getServletContext().setAttribute("com.acme.AnnotationTest.sclFromSclRegoTest", Boolean.FALSE);
99 }
100 catch (IllegalArgumentException e)
101 {
102 sce.getServletContext().setAttribute("com.acme.AnnotationTest.sclFromSclRegoTest", Boolean.TRUE);
103 }
104 catch (Exception e)
105 {
106 sce.getServletContext().setAttribute("com.acme.AnnotationTest.sclFromSclRegoTest", Boolean.FALSE);
107 }
108
109
110
111 try
112 {
113 sce.getServletContext().addListener(new InvalidListener());
114 sce.getServletContext().setAttribute("com.acme.AnnotationTest.invalidListenerRegoTest", Boolean.FALSE);
115 }
116 catch (IllegalArgumentException e)
117 {
118 sce.getServletContext().setAttribute("com.acme.AnnotationTest.invalidListenerRegoTest", Boolean.TRUE);
119 }
120 catch (Exception e)
121 {
122 sce.getServletContext().setAttribute("com.acme.AnnotationTest.invalidListenerRegoTest", Boolean.FALSE);
123 }
124 }
125
126 public void contextDestroyed(ServletContextEvent sce)
127 {
128
129 }
130
131 public void attributeAdded(ServletContextAttributeEvent scab)
132 {
133
134 }
135
136 public void attributeRemoved(ServletContextAttributeEvent scab)
137 {
138
139 }
140
141 public void attributeReplaced(ServletContextAttributeEvent scab)
142 {
143
144 }
145
146 public void requestDestroyed(ServletRequestEvent sre)
147 {
148
149 }
150
151 public void requestInitialized(ServletRequestEvent sre)
152 {
153
154 }
155
156 public void attributeAdded(ServletRequestAttributeEvent srae)
157 {
158
159 }
160
161 public void attributeRemoved(ServletRequestAttributeEvent srae)
162 {
163
164 }
165
166 public void attributeReplaced(ServletRequestAttributeEvent srae)
167 {
168
169 }
170
171 public void sessionCreated(HttpSessionEvent se)
172 {
173
174 }
175
176 public void sessionDestroyed(HttpSessionEvent se)
177 {
178
179 }
180
181 public void requestCompleted(ServletRequestEvent rre)
182 {
183
184
185 }
186
187 public void requestResumed(ServletRequestEvent rre)
188 {
189
190
191 }
192
193 public void requestSuspended(ServletRequestEvent rre)
194 {
195
196
197 }
198
199 }