Element descriptionElement = doc.createElement("description");
descriptionElement.setTextContent(cat.getDescription());
categoryDef.appendChild(descriptionElement);
ArrayList processedFeatures = cat.getProcessedFeatures(project, artifactFactory, remoteRepositories, localRepository, resolver);
for (Object obj : processedFeatures) {
FeatureArtifact feature=(FeatureArtifact)obj;
if (!featureCategories.containsKey(feature.getArtifactId())){
ArrayList list = new ArrayList();
featureCategories.put(feature.getArtifactId(), list);
list.add(feature);
}
ArrayList list = (ArrayList)featureCategories.get(feature.getArtifactId());
list.add(cat.getId());
}
}
}
for (Object key : featureCategories.keySet()) {
Object object = featureCategories.get(key);
if (object instanceof List){
List list=(List)object;
FeatureArtifact feature=(FeatureArtifact)list.get(0);
list.remove(0);
Element featureDef = doc.createElement("feature");
featureDef.setAttribute("id", feature.getArtifactId());
featureDef.setAttribute("version", Bundle.getOSGIVersion(feature.getVersion()));
for (Object catId : list) {
Element category = doc.createElement("category");
category.setAttribute("name", catId.toString());
featureDef.appendChild(category);
}