- String path = request.getPathInfo();
- StringTokenizer stS = new StringTokenizer(path, "/");
- String distribution = stS.nextToken();
-
- StringBuffer buf = new StringBuffer("");
- buf.append("<site>");
-
- List<EclipseUpdateSiteCategory> usedCategories = new ArrayList<EclipseUpdateSiteCategory>();
- 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("<feature");
- buf.append(" url=\"features/").append(featureId).append('_')
- .append(version).append(".jar\"");
- buf.append(" id=\"").append(featureId).append("\"");
- buf.append(" version=\"").append(version).append("\"");
- buf.append(">\n");
-
- for (EclipseUpdateSiteCategory category : feature.getCategories()) {
- usedCategories.add(category);
- buf.append(" <category name=\"").append(category.getName())
- .append("\"/>\n");
- }
- buf.append("</feature>\n\n");
- }
-
- for (EclipseUpdateSiteCategory category : usedCategories) {
- buf.append("<category-def");
- buf.append(" name=\"").append(category.getName()).append("\"");
- buf.append(" label=\"").append(category.getLabel()).append("\"");
- buf.append(">\n");
- buf.append(" <description>").append(category.getDescription())
- .append("</decription>\n");
- buf.append("</category-def>\n\n");
- }
-
- buf.append("</site>");