X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.server%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fweb%2Fmvc%2Fprovisioning%2FEclipseUpdateSiteHandler.java;h=073724d06bca68bdfd2703f8e965c4fe4a378ec6;hb=292f1ab8b95dc57631042356508753babc321b8b;hp=7718ca38a05d956e32cc8ef604f907dad2524168;hpb=7d6f306ae21757162d7ec0d6f8b0b541feae3d12;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/provisioning/EclipseUpdateSiteHandler.java b/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/provisioning/EclipseUpdateSiteHandler.java index 7718ca38a..073724d06 100644 --- a/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/provisioning/EclipseUpdateSiteHandler.java +++ b/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/provisioning/EclipseUpdateSiteHandler.java @@ -1,83 +1,22 @@ package org.argeo.slc.web.mvc.provisioning; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; -import java.util.jar.JarInputStream; -import java.util.jar.Manifest; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.springframework.core.io.Resource; +import org.argeo.slc.build.ModularDistribution; import org.springframework.web.HttpRequestHandler; /** An Eclipse update site, serving site.xml features/* and plugins/*. */ public class EclipseUpdateSiteHandler implements HttpRequestHandler { - private FileProvider provider; - private String baseVersion = "0.9.4-SNAPSHOT"; - - private EclipseUpdateSite updateSite; - public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String path = request.getPathInfo(); - StringTokenizer stS = new StringTokenizer(path, "/"); - String distribution = stS.nextToken(); - - StringBuffer buf = new StringBuffer(""); - buf.append(""); - - List usedCategories = new ArrayList(); - for (EclipseUpdateSiteFeature feature : updateSite.getFeatures()) { - Resource bundle = provider.getBundle(distribution, feature - .getName(), baseVersion); - JarInputStream in = new JarInputStream(bundle.getInputStream()); - Manifest mf = in.getManifest(); - String version = mf.getMainAttributes().getValue("Bundle-Version"); - String featureId = feature.getName(); - buf.append("\n"); - - for (EclipseUpdateSiteCategory category : feature.getCategories()) { - usedCategories.add(category); - buf.append(" \n"); - } - buf.append("\n\n"); - } - - for (EclipseUpdateSiteCategory category : usedCategories) { - buf.append("\n"); - buf.append(" ").append(category.getDescription()) - .append("\n"); - buf.append("\n\n"); - } - - buf.append(""); - response.getWriter().print(buf.toString()); + ModularDistribution modularDistribution = (ModularDistribution) request + .getAttribute("modularDistribution"); + response.getWriter().write( + modularDistribution.getModulesDescriptor("eclipse").toString()); } - - public void setProvider(FileProvider provider) { - this.provider = provider; - } - - public void setBaseVersion(String baseVersion) { - this.baseVersion = baseVersion; - } - - public void setUpdateSite(EclipseUpdateSite updateSite) { - this.updateSite = updateSite; - } - }