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 BundleJarInterceptor
extends HandlerInterceptorAdapter
{
14 public boolean preHandle(HttpServletRequest request
,
15 HttpServletResponse response
, Object handler
) throws Exception
{
16 String path
= request
.getPathInfo();
17 StringTokenizer stS
= new StringTokenizer(path
, "/");
18 String fileName
= null;
19 while (stS
.hasMoreTokens()) {
20 String token
= stS
.nextToken();
21 if (!stS
.hasMoreTokens()) {
26 int ind_
= fileName
.indexOf('-');
29 moduleName
= fileName
.substring(0, ind_
);
31 throw new SlcException("Cannot determine version for " + fileName
);
33 String versionAndExtension
= fileName
.substring(ind_
+ 1);
34 int indExt
= versionAndExtension
.lastIndexOf('.');
35 String moduleVersion
= versionAndExtension
.substring(0, indExt
);
37 request
.setAttribute("moduleName", moduleName
);
38 request
.setAttribute("moduleVersion", moduleVersion
);