List allMappings = new ArrayList(Arrays.asList(standardMappings));
// mock-up content type extensions into IFileEditorMappings
IContentType [] contentTypes = Platform.getContentTypeManager().getAllContentTypes();
for (int i = 0; i < contentTypes.length; i++) {
IContentType type = contentTypes[i];
String [] extensions = type.getFileSpecs(IContentType.FILE_EXTENSION_SPEC);
for (int j = 0; j < extensions.length; j++) {
String extension = extensions[j];
boolean found = false;
for (Iterator k = allMappings.iterator(); k.hasNext();) {
IFileEditorMapping mapping = (IFileEditorMapping) k.next();
if ("*".equals(mapping.getName()) && extension.equals(mapping.getExtension())) { //$NON-NLS-1$
found = true;
break;
}
}
if (!found) {
MockMapping mockMapping = new MockMapping(type, "*", extension); //$NON-NLS-1$
allMappings.add(mockMapping);
}
}
String [] filenames = type.getFileSpecs(IContentType.FILE_NAME_SPEC);
for (int j = 0; j < filenames.length; j++) {
String wholename = filenames[j];
int idx = wholename.indexOf('.');
String name = idx == -1 ? wholename : wholename.substring(0, idx);
String extension = idx == -1 ? "" : wholename.substring(idx + 1); //$NON-NLS-1$