*/
private void initialiseTemplatesFromContentManager() {
templates.clear();
TemplatesPreferencesModel model = TemplatesPreferencesModel.getInstance();
Collection<ContentItem> items = ContentPlugin.getDefault().getManager()
.getItemsByKind(ContentManager.KIND_TEMPLATE);
List<ContentItem> sortedItems = new ArrayList<ContentItem>();
sortedItems.addAll(items);
Collections.sort(sortedItems, new Comparator<ContentItem>() {
public int compare(ContentItem o1, ContentItem o2) {
Descriptor descriptor1 = o1.getRemoteDescriptor();
if (descriptor1 == null) {
descriptor1 = o1.getLocalDescriptor();
}
Descriptor descriptor2 = o2.getRemoteDescriptor();
if (descriptor2 == null) {
descriptor2 = o2.getLocalDescriptor();
}
return descriptor1.getVersion().compareTo(descriptor2.getVersion()) * -1;
}
});
Set<String> templateIds = new HashSet<String>();
for (ContentItem item : sortedItems) {
String templateId = item.getId();
if (!templateIds.contains(templateId)) {
Template template = new Template(item, null);
templates.add(template);
templateIds.add(templateId);
}
}
// Add the Simple Projects
List<SimpleProject> simpleProjects = getSimpleProjects();
templates.addAll(simpleProjects);
if (model.shouldShowSelfHostedProjects()) {
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
for (IProject project : projects) {
IFile templateFile = project.getFile(IContentConstants.TEMPLATE_DATA_FILE_NAME);
IFile wizardFile = project.getFile(IContentConstants.WIZARD_DATA_FILE_NAME);