1 package org
.argeo
.slc
.web
.mvc
.provisioning
;
3 import java
.util
.StringTokenizer
;
5 import javax
.servlet
.http
.HttpServletRequest
;
6 import javax
.servlet
.http
.HttpServletResponse
;
8 import org
.argeo
.slc
.SlcException
;
9 import org
.springframework
.web
.servlet
.handler
.HandlerInterceptorAdapter
;
11 public class EclipseUpdateSiteInterceptor
extends HandlerInterceptorAdapter
{
12 public final static String RELEASE
= "RELEASE";
13 public final static String LATEST
= "LATEST";
16 public boolean preHandle(HttpServletRequest request
,
17 HttpServletResponse response
, Object handler
) throws Exception
{
18 String path
= request
.getPathInfo();
19 StringTokenizer stS
= new StringTokenizer(path
, "/");
21 pathTokenizer
: while (stS
.hasMoreTokens()) {
22 String token
= stS
.nextToken();
23 if (token
.equals("plugins") || token
.equals("features")) {
29 if (type
== null || !stS
.hasMoreTokens())
30 throw new SlcException("Cannot determine file name from path "
33 String fileName
= stS
.nextToken();
35 int ind_
= fileName
.indexOf('_');
38 moduleName
= fileName
.substring(0, ind_
);
40 throw new SlcException("Cannot determine version for " + fileName
);
42 String versionAndExtension
= fileName
.substring(ind_
+ 1);
43 int indExt
= versionAndExtension
.lastIndexOf('.');
44 String moduleVersion
= versionAndExtension
.substring(0, indExt
);
46 request
.setAttribute("moduleName", moduleName
);
47 request
.setAttribute("moduleVersion", moduleVersion
);