]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/provisioning/AbstractAvailableModules.java
Remove service, fake getRealizedFlow service
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / provisioning / AbstractAvailableModules.java
1 package org.argeo.slc.web.mvc.provisioning;
2
3 import java.io.IOException;
4 import java.io.Writer;
5
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import org.argeo.slc.build.ModularDistribution;
11 import org.argeo.slc.build.NameVersion;
12 import org.springframework.web.HttpRequestHandler;
13
14 import common.BaseUnit;
15
16 /** List of modules for a distribution. */
17 public abstract class AbstractAvailableModules implements HttpRequestHandler {
18 protected abstract void print(Writer out, String baseUrl,
19 ModularDistribution md) throws IOException;
20
21 public final void handleRequest(HttpServletRequest request,
22 HttpServletResponse response) throws ServletException, IOException {
23 response.setContentType(getContentType());
24
25 ModularDistribution md = (ModularDistribution) request
26 .getAttribute("modularDistribution");
27
28 String baseUrl = "http://" + request.getServerName() + ":"
29 + request.getServerPort() + request.getContextPath()
30 + request.getServletPath() + "/" + md.getName() + "/"
31 + md.getVersion() + "/";
32
33 print(response.getWriter(), baseUrl, md);
34 }
35
36 public String getContentType() {
37 return "text/plain";
38 }
39
40 protected String jarUrl(String baseUrl, NameVersion nameVersion) {
41 return baseUrl + jarFileName(nameVersion);
42 }
43
44 protected String jarFileName(NameVersion nameVersion) {
45 return nameVersion.getName() + "-" + nameVersion.getVersion() + ".jar";
46 }
47
48 }