Skip to content

Commit 65d5bb3

Browse files
committed
Rollback to Servlet 2.5
Combining Dagger and Servlet 3 works really well on stock Tomcat and Jetty but it is a troublesome combination on JEE containers with their own ideas on how to instantiate classes. JBoss AS 7 has been particularly nasty and it is just simpler to scaleback and stay with Servlet 2.5 than it is to fight all permuations of containers. Instead of using constructor DI, the servlets and filters each have an inject(ObjectGaph) method which is automatically called during initialization. Each servlet or filter is responsible for retrieving the required dependency from the graph. The Dagger object graph is created in the context listener and stuffed into the context as an attribute. Change-Id: Ib5714584fe73e2a6b9c6fda12af080a43356cbda
1 parent e55930b commit 65d5bb3

30 files changed

+721
-772
lines changed

releases.moxie

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ r20: {
6262
- updated to Lucene 4.6.0
6363
- updated to BouncyCastle 1.49
6464
- replaced MarkdownPapers with pegdown 1.4.2
65+
- added Dagger 1.1.0
6566
- added Eclipse WikiText libraries for processing confluence, mediawiki, textile, tracwiki, and twiki
6667
settings:
6768
- { name: 'git.createRepositoriesShared', defaultValue: 'false' }

src/main/java/WEB-INF/web.xml

+273
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,277 @@
3535
</display-name>
3636

3737
<!-- PARAMS -->
38+
39+
40+
<!-- Gitblit Context Listener --><!-- STRIP
41+
<listener>
42+
<listener-class>com.gitblit.servlet.GitblitContext</listener-class>
43+
</listener>STRIP -->
44+
45+
46+
<!-- Git Servlet
47+
<url-pattern> MUST match:
48+
* GitFilter
49+
* com.gitblit.Constants.GIT_PATH
50+
* Wicket Filter ignorePaths parameter -->
51+
<servlet>
52+
<servlet-name>GitServlet</servlet-name>
53+
<servlet-class>com.gitblit.servlet.GitServlet</servlet-class>
54+
</servlet>
55+
<servlet-mapping>
56+
<servlet-name>GitServlet</servlet-name>
57+
<url-pattern>/git/*</url-pattern>
58+
</servlet-mapping>
59+
<servlet>
60+
<servlet-name>GitServlet2</servlet-name>
61+
<servlet-class>com.gitblit.servlet.GitServlet</servlet-class>
62+
</servlet>
63+
<servlet-mapping>
64+
<servlet-name>GitServlet2</servlet-name>
65+
<url-pattern>/r/*</url-pattern>
66+
</servlet-mapping>
67+
68+
69+
<!-- SparkleShare Invite Servlet
70+
<url-pattern> MUST match:
71+
* com.gitblit.Constants.SPARKLESHARE_INVITE_PATH
72+
* Wicket Filter ignorePaths parameter -->
73+
<servlet>
74+
<servlet-name>SparkleShareInviteServlet</servlet-name>
75+
<servlet-class>com.gitblit.servlet.SparkleShareInviteServlet</servlet-class>
76+
</servlet>
77+
<servlet-mapping>
78+
<servlet-name>SparkleShareInviteServlet</servlet-name>
79+
<url-pattern>/sparkleshare/*</url-pattern>
80+
</servlet-mapping>
81+
82+
83+
<!-- Syndication Servlet
84+
<url-pattern> MUST match:
85+
* SyndicationFilter
86+
* com.gitblit.Constants.SYNDICATION_PATH
87+
* Wicket Filter ignorePaths parameter -->
88+
<servlet>
89+
<servlet-name>SyndicationServlet</servlet-name>
90+
<servlet-class>com.gitblit.servlet.SyndicationServlet</servlet-class>
91+
</servlet>
92+
<servlet-mapping>
93+
<servlet-name>SyndicationServlet</servlet-name>
94+
<url-pattern>/feed/*</url-pattern>
95+
</servlet-mapping>
96+
97+
98+
<!-- Zip Servlet
99+
<url-pattern> MUST match:
100+
* ZipServlet
101+
* com.gitblit.Constants.ZIP_PATH
102+
* Wicket Filter ignorePaths parameter -->
103+
<servlet>
104+
<servlet-name>ZipServlet</servlet-name>
105+
<servlet-class>com.gitblit.servlet.DownloadZipServlet</servlet-class>
106+
</servlet>
107+
<servlet-mapping>
108+
<servlet-name>ZipServlet</servlet-name>
109+
<url-pattern>/zip/*</url-pattern>
110+
</servlet-mapping>
111+
112+
113+
<!-- Federation Servlet
114+
<url-pattern> MUST match:
115+
* com.gitblit.Constants.FEDERATION_PATH
116+
* Wicket Filter ignorePaths parameter -->
117+
<servlet>
118+
<servlet-name>FederationServlet</servlet-name>
119+
<servlet-class>com.gitblit.servlet.FederationServlet</servlet-class>
120+
</servlet>
121+
<servlet-mapping>
122+
<servlet-name>FederationServlet</servlet-name>
123+
<url-pattern>/federation/*</url-pattern>
124+
</servlet-mapping>
125+
126+
127+
<!-- Rpc Servlet
128+
<url-pattern> MUST match:
129+
* com.gitblit.Constants.RPC_PATH
130+
* Wicket Filter ignorePaths parameter -->
131+
<servlet>
132+
<servlet-name>RpcServlet</servlet-name>
133+
<servlet-class>com.gitblit.servlet.RpcServlet</servlet-class>
134+
</servlet>
135+
<servlet-mapping>
136+
<servlet-name>RpcServlet</servlet-name>
137+
<url-pattern>/rpc/*</url-pattern>
138+
</servlet-mapping>
139+
140+
141+
<!-- Pages Servlet
142+
<url-pattern> MUST match:
143+
* PagesFilter
144+
* com.gitblit.Constants.PAGES_PATH
145+
* Wicket Filter ignorePaths parameter -->
146+
<servlet>
147+
<servlet-name>PagesServlet</servlet-name>
148+
<servlet-class>com.gitblit.servlet.PagesServlet</servlet-class>
149+
</servlet>
150+
<servlet-mapping>
151+
<servlet-name>PagesServlet</servlet-name>
152+
<url-pattern>/pages/*</url-pattern>
153+
</servlet-mapping>
154+
155+
156+
<!-- Logo Servlet
157+
<url-pattern> MUST match:
158+
* Wicket Filter ignorePaths parameter -->
159+
<servlet>
160+
<servlet-name>LogoServlet</servlet-name>
161+
<servlet-class>com.gitblit.servlet.LogoServlet</servlet-class>
162+
</servlet>
163+
<servlet-mapping>
164+
<servlet-name>LogoServlet</servlet-name>
165+
<url-pattern>/logo.png</url-pattern>
166+
</servlet-mapping>
167+
168+
<!-- Branch Graph Servlet
169+
<url-pattern> MUST match:
170+
* Wicket Filter ignorePaths parameter -->
171+
<servlet>
172+
<servlet-name>BranchGraphServlet</servlet-name>
173+
<servlet-class>com.gitblit.servlet.BranchGraphServlet</servlet-class>
174+
</servlet>
175+
<servlet-mapping>
176+
<servlet-name>BranchGraphServlet</servlet-name>
177+
<url-pattern>/graph/*</url-pattern>
178+
</servlet-mapping>
179+
180+
<!-- Robots.txt Servlet
181+
<url-pattern> MUST match:
182+
* Wicket Filter ignorePaths parameter -->
183+
<servlet>
184+
<servlet-name>RobotsTxtServlet</servlet-name>
185+
<servlet-class>com.gitblit.servlet.RobotsTxtServlet</servlet-class>
186+
</servlet>
187+
<servlet-mapping>
188+
<servlet-name>RobotsTxtServlet</servlet-name>
189+
<url-pattern>/robots.txt</url-pattern>
190+
</servlet-mapping>
191+
192+
193+
<!-- Git Access Restriction Filter
194+
<url-pattern> MUST match:
195+
* GitServlet
196+
* com.gitblit.Constants.GIT_PATH
197+
* Wicket Filter ignorePaths parameter -->
198+
<filter>
199+
<filter-name>GitFilter</filter-name>
200+
<filter-class>com.gitblit.servlet.GitFilter</filter-class>
201+
</filter>
202+
<filter-mapping>
203+
<filter-name>GitFilter</filter-name>
204+
<url-pattern>/git/*</url-pattern>
205+
</filter-mapping>
206+
207+
208+
<!-- Syndication Restriction Filter
209+
<url-pattern> MUST match:
210+
* SyndicationServlet
211+
* com.gitblit.Constants.SYNDICATION_PATH
212+
* Wicket Filter ignorePaths parameter -->
213+
<filter>
214+
<filter-name>SyndicationFilter</filter-name>
215+
<filter-class>com.gitblit.servlet.SyndicationFilter</filter-class>
216+
</filter>
217+
<filter-mapping>
218+
<filter-name>SyndicationFilter</filter-name>
219+
<url-pattern>/feed/*</url-pattern>
220+
</filter-mapping>
221+
222+
223+
<!-- Download Zip Restriction Filter
224+
<url-pattern> MUST match:
225+
* DownloadZipServlet
226+
* com.gitblit.Constants.ZIP_PATH
227+
* Wicket Filter ignorePaths parameter -->
228+
<filter>
229+
<filter-name>ZipFilter</filter-name>
230+
<filter-class>com.gitblit.servlet.DownloadZipFilter</filter-class>
231+
</filter>
232+
<filter-mapping>
233+
<filter-name>ZipFilter</filter-name>
234+
<url-pattern>/zip/*</url-pattern>
235+
</filter-mapping>
236+
237+
238+
<!-- Rpc Restriction Filter
239+
<url-pattern> MUST match:
240+
* RpcServlet
241+
* com.gitblit.Constants.RPC_PATH
242+
* Wicket Filter ignorePaths parameter -->
243+
<filter>
244+
<filter-name>RpcFilter</filter-name>
245+
<filter-class>com.gitblit.servlet.RpcFilter</filter-class>
246+
</filter>
247+
<filter-mapping>
248+
<filter-name>RpcFilter</filter-name>
249+
<url-pattern>/rpc/*</url-pattern>
250+
</filter-mapping>
251+
252+
253+
<!-- Pges Restriction Filter
254+
<url-pattern> MUST match:
255+
* PagesServlet
256+
* com.gitblit.Constants.PAGES_PATH
257+
* Wicket Filter ignorePaths parameter -->
258+
<filter>
259+
<filter-name>PagesFilter</filter-name>
260+
<filter-class>com.gitblit.servlet.PagesFilter</filter-class>
261+
</filter>
262+
<filter-mapping>
263+
<filter-name>PagesFilter</filter-name>
264+
<url-pattern>/pages/*</url-pattern>
265+
</filter-mapping>
266+
267+
<filter>
268+
<filter-name>EnforceAuthenticationFilter</filter-name>
269+
<filter-class>com.gitblit.servlet.EnforceAuthenticationFilter</filter-class>
270+
</filter>
271+
<filter-mapping>
272+
<filter-name>EnforceAuthenticationFilter</filter-name>
273+
<url-pattern>/*</url-pattern>
274+
</filter-mapping>
275+
276+
277+
<!-- Wicket Filter -->
278+
<filter>
279+
<filter-name>wicketFilter</filter-name>
280+
<filter-class>
281+
com.gitblit.wicket.GitblitWicketFilter
282+
</filter-class>
283+
<init-param>
284+
<param-name>ignorePaths</param-name>
285+
<!-- Paths should match
286+
* SyndicationFilter <url-pattern>
287+
* SyndicationServlet <url-pattern>
288+
* com.gitblit.Constants.SYNDICATION_PATH
289+
* GitFilter <url-pattern>
290+
* GitServlet <url-pattern>
291+
* com.gitblit.Constants.GIT_PATH
292+
* SparkleshareInviteServlet <url-pattern>
293+
* com.gitblit.Constants.SPARKLESHARE_INVITE_PATH
294+
* Zipfilter <url-pattern>
295+
* ZipServlet <url-pattern>
296+
* com.gitblit.Constants.ZIP_PATH
297+
* FederationServlet <url-pattern>
298+
* RpcFilter <url-pattern>
299+
* RpcServlet <url-pattern>
300+
* PagesFilter <url-pattern>
301+
* PagesServlet <url-pattern>
302+
* com.gitblit.Constants.PAGES_PATH -->
303+
<param-value>r/,git/,feed/,zip/,federation/,rpc/,pages/,robots.txt,logo.png,graph/,sparkleshare/</param-value>
304+
</init-param>
305+
</filter>
306+
<filter-mapping>
307+
<filter-name>wicketFilter</filter-name>
308+
<url-pattern>/*</url-pattern>
309+
</filter-mapping>
310+
38311
</web-app>

0 commit comments

Comments
 (0)