1 package org
.argeo
.slc
.web
.mvc
.provisioning
;
3 import java
.io
.IOException
;
6 import javax
.servlet
.ServletException
;
7 import javax
.servlet
.http
.HttpServletRequest
;
8 import javax
.servlet
.http
.HttpServletResponse
;
10 import org
.argeo
.slc
.build
.ModularDistribution
;
11 import org
.argeo
.slc
.build
.NameVersion
;
12 import org
.springframework
.web
.HttpRequestHandler
;
14 /** List of modules for a distribution. */
15 public abstract class AbstractAvailableModules
implements HttpRequestHandler
{
16 protected abstract void print(Writer out
, String baseUrl
,
17 ModularDistribution md
) throws IOException
;
19 public final void handleRequest(HttpServletRequest request
,
20 HttpServletResponse response
) throws ServletException
, IOException
{
21 response
.setContentType(getContentType());
23 ModularDistribution md
= (ModularDistribution
) request
24 .getAttribute("modularDistribution");
26 String baseUrl
= "http://" + request
.getServerName() + ":"
27 + request
.getServerPort() + request
.getContextPath()
28 + request
.getServletPath() + "/" + md
.getName() + "/"
29 + md
.getVersion() + "/";
31 print(response
.getWriter(), baseUrl
, md
);
34 public String
getContentType() {
38 protected String
jarUrl(String baseUrl
, NameVersion nameVersion
) {
39 return baseUrl
+ jarFileName(nameVersion
);
42 protected String
jarFileName(NameVersion nameVersion
) {
43 return nameVersion
.getName() + "-" + nameVersion
.getVersion() + ".jar";