]> git.argeo.org Git - gpl/argeo-slc.git/blob - AvailableModulesHtml.java
ca6434c4c6005621ea846171d6eaa449e8956f59
[gpl/argeo-slc.git] / AvailableModulesHtml.java
1 package org.argeo.slc.web.mvc.provisioning;
2
3 import java.io.IOException;
4 import java.io.Writer;
5
6 import org.argeo.slc.build.Distribution;
7 import org.argeo.slc.build.ModularDistribution;
8 import org.argeo.slc.build.NameVersion;
9 import org.argeo.slc.core.build.ResourceDistribution;
10
11 /** List of modules for a distribution. */
12 public class AvailableModulesHtml extends AbstractAvailableModules {
13 @Override
14 protected void print(Writer out, String baseUrl, ModularDistribution md)
15 throws IOException {
16 out.write("<h1>Distribution " + md + "</h1>");
17
18 for (NameVersion nameVersion : md.listModulesNameVersions()) {
19 Distribution distribution = md.getModuleDistribution(nameVersion
20 .getName(), nameVersion.getVersion());
21
22 String moduleUrl = null;
23 if (distribution instanceof ResourceDistribution) {
24 String url = ((ResourceDistribution) distribution)
25 .getResource().getURL().toString();
26 if (url.startsWith("reference:"))
27 moduleUrl = url;
28 }
29
30 if (moduleUrl == null)
31 moduleUrl = jarUrl(baseUrl, nameVersion);
32
33 out.write("<a href=\"" + moduleUrl + "\">"
34 + jarFileName(nameVersion) + "</a><br/>");
35 }
36 }
37
38 @Override
39 public String getContentType() {
40 return "text/html";
41 }
42
43 }