2 * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org
.argeo
.slc
.web
.mvc
.provisioning
;
19 import java
.io
.IOException
;
20 import java
.io
.Writer
;
21 import java
.util
.Iterator
;
24 import javax
.servlet
.ServletException
;
25 import javax
.servlet
.http
.HttpServletRequest
;
26 import javax
.servlet
.http
.HttpServletResponse
;
28 import org
.argeo
.slc
.build
.ModularDistribution
;
29 import org
.springframework
.web
.HttpRequestHandler
;
31 /** List of distributions. */
32 public class AvailableDistributions
implements HttpRequestHandler
{
33 private Set
<ModularDistribution
> modularDistributions
;
35 public void handleRequest(HttpServletRequest request
,
36 HttpServletResponse response
) throws ServletException
, IOException
{
37 response
.setContentType("text/html");
39 String baseUrl
= "http://" + request
.getServerName() + ":"
40 + request
.getServerPort() + request
.getContextPath()
41 + request
.getServletPath() + "/";
43 Writer out
= response
.getWriter();
45 out
.write("<h1>Distributions</h1>");
46 for (Iterator
<ModularDistribution
> it
= modularDistributions
.iterator(); it
48 ModularDistribution md
= it
.next();
49 out
.write("<h2>" + md
+ "</h2>");
50 out
.write("Modules: ");
51 String moduleBase
= baseUrl
+ md
.getName() + "/" + md
.getVersion()
54 String modulesListHtml
= moduleBase
+ "modules.html";
55 out
.write(" <a href=\"" + modulesListHtml
+ "\">html</a>");
57 String modulesListPlain
= moduleBase
+ "modules";
58 out
.write(" <a href=\"" + modulesListPlain
+ "\">plain</a>");
60 String modulesListOsgiBoot
= moduleBase
+ "osgiBoot";
61 out
.write(" <a href=\"" + modulesListOsgiBoot
+ "\">osgiBoot</a>");
65 out
.write("Eclipse update site: ");
66 String updateSiteUrl
= baseUrl
+ md
.getName() + "/"
67 + md
.getVersion() + "/site.xml";
68 out
.write("<a href=\"" + updateSiteUrl
+ "\">" + updateSiteUrl
73 public void setModularDistributions(
74 Set
<ModularDistribution
> modularDistributions
) {
75 this.modularDistributions
= modularDistributions
;