1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-15 20:25:46 +02:00

2004-08-21 Alain Magloire

(Partial, since the indexer is still not aware of this)
	Fix for 66559: Work on the ResolverModel
	* model/org/eclipse/cdt/internal/core/model/ResolverProcessor.java
	* src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java
	* src/org/eclipse/cdt/core/internal/filetype/WorkspaceResolver.java
This commit is contained in:
Alain Magloire 2004-08-22 01:11:14 +00:00
parent 940aaa947c
commit 87f24bfe30
4 changed files with 32 additions and 13 deletions

View file

@ -1,3 +1,11 @@
2004-08-21 Alain Magloire
(Partial, since the indexer is still not aware of this)
Fix for 66559: Work on the ResolverModel
* model/org/eclipse/cdt/internal/core/model/ResolverProcessor.java
* src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java
* src/org/eclipse/cdt/core/internal/filetype/WorkspaceResolver.java
2004-08-20 Chris Wiebe 2004-08-20 Chris Wiebe
make PathUtil visible make PathUtil visible

View file

@ -231,6 +231,7 @@ public class ResolverProcessor {
return new ICElement[] { cprojects[i] }; return new ICElement[] { cprojects[i] };
} }
} }
return CElement.NO_ELEMENTS;
} }
// Assume a workspace resolver // Assume a workspace resolver
List list = new ArrayList(cprojects.length); List list = new ArrayList(cprojects.length);

View file

@ -79,7 +79,7 @@ public class ResolverModel implements IResolverModel {
private Map fTypeMap = new HashMap(); private Map fTypeMap = new HashMap();
// Default resolver // Default resolver
private ICFileTypeResolver fDefaultResolver = null; private ICFileTypeResolver fWorkspaceResolver = null;
// XML tag names, etc. // XML tag names, etc.
private static final String EXTENSION_LANG = "CLanguage"; //$NON-NLS-1$ private static final String EXTENSION_LANG = "CLanguage"; //$NON-NLS-1$
@ -111,7 +111,7 @@ public class ResolverModel implements IResolverModel {
loadDeclaredLanguages(); loadDeclaredLanguages();
loadDeclaredTypes(); loadDeclaredTypes();
fDefaultResolver = loadDefaultResolver(); fWorkspaceResolver = loadWorkspaceResolver();
convertFrom20(); convertFrom20();
initRegistryChangeListener(); initRegistryChangeListener();
@ -224,7 +224,7 @@ public class ResolverModel implements IResolverModel {
} }
public ICFileTypeResolver getResolver() { public ICFileTypeResolver getResolver() {
return fDefaultResolver; return fWorkspaceResolver;
} }
public boolean hasCustomResolver(IProject project) { public boolean hasCustomResolver(IProject project) {
@ -426,7 +426,7 @@ public class ResolverModel implements IResolverModel {
if (property != null) { if (property != null) {
if (WorkspaceResolver.PREFS_ASSOCIATIONS_EXCLUSION.equals(property) || if (WorkspaceResolver.PREFS_ASSOCIATIONS_EXCLUSION.equals(property) ||
WorkspaceResolver.PREFS_ASSOCIATIONS_INCLUSION.equals(property)) { WorkspaceResolver.PREFS_ASSOCIATIONS_INCLUSION.equals(property)) {
fDefaultResolver = loadDefaultResolver(); fWorkspaceResolver = loadWorkspaceResolver();
} }
} }
} }
@ -447,8 +447,7 @@ public class ResolverModel implements IResolverModel {
deltas = event.getExtensionDeltas(CCorePlugin.PLUGIN_ID, EXTENSION_ASSOC); deltas = event.getExtensionDeltas(CCorePlugin.PLUGIN_ID, EXTENSION_ASSOC);
if (deltas.length != 0) { if (deltas.length != 0) {
fDefaultResolver = loadDefaultResolver(); fWorkspaceResolver = loadWorkspaceResolver();
//fWkspResolver = loadWorkspaceResolver();
} }
fireEvent(modelEvent); fireEvent(modelEvent);
@ -639,7 +638,7 @@ public class ResolverModel implements IResolverModel {
* Initialize the default resolver by loading data from * Initialize the default resolver by loading data from
* declared extension points. * declared extension points.
*/ */
private ICFileTypeResolver loadDefaultResolver() { private ICFileTypeResolver loadWorkspaceResolver() {
return new WorkspaceResolver(this); return new WorkspaceResolver(this);
} }
@ -651,7 +650,7 @@ public class ResolverModel implements IResolverModel {
private void convertFrom20() { private void convertFrom20() {
if (customWorkspaceResolverExists()) { if (customWorkspaceResolverExists()) {
ICFileTypeAssociation[] assocs = loadWorkspaceResolver(); ICFileTypeAssociation[] assocs = loadOldWorkspaceResolver();
if (assocs != null && assocs.length > 0) { if (assocs != null && assocs.length > 0) {
getResolver().addAssociations(assocs); getResolver().addAssociations(assocs);
} }
@ -671,7 +670,7 @@ public class ResolverModel implements IResolverModel {
return CCorePlugin.getDefault().getStateLocation().append(WKSP_STATE_FILE); return CCorePlugin.getDefault().getStateLocation().append(WKSP_STATE_FILE);
} }
private ICFileTypeAssociation[] loadWorkspaceResolver() { private ICFileTypeAssociation[] loadOldWorkspaceResolver() {
List assocs = new ArrayList(); List assocs = new ArrayList();
File file = getWorkspaceResolverStateFilePath().toFile(); File file = getWorkspaceResolverStateFilePath().toFile();

View file

@ -31,11 +31,14 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Preferences; import org.eclipse.core.runtime.Preferences;
/** /**
* The new CFileTypeAssociations are save in a property String
* The removed CFileTypeAssociations are save in a property String
*
*/ */
public class WorkspaceResolver extends CFileTypeResolver { public class WorkspaceResolver extends CFileTypeResolver {
public static final String PREFS_ASSOCIATIONS_INCLUSION = CCorePlugin.PLUGIN_ID + ".associationInclusion"; public static final String PREFS_ASSOCIATIONS_INCLUSION = CCorePlugin.PLUGIN_ID + ".associationInclusion"; //$NON-NLS-1$
public static final String PREFS_ASSOCIATIONS_EXCLUSION = CCorePlugin.PLUGIN_ID + ".associationExclusion"; public static final String PREFS_ASSOCIATIONS_EXCLUSION = CCorePlugin.PLUGIN_ID + ".associationExclusion"; //$NON-NLS-1$
ResolverModel fModel; ResolverModel fModel;
List extensionsList; List extensionsList;
@ -77,6 +80,10 @@ public class WorkspaceResolver extends CFileTypeResolver {
} }
// add // add
// For adding we have to
// - check if the association was define in an extension
// if yes make sure we remove in the inclusion list
// if not add as a new association in the inclusion list
if (null != addAssocs && addAssocs.length > 0) { if (null != addAssocs && addAssocs.length > 0) {
List newIncList = new ArrayList(); List newIncList = new ArrayList();
List newExcList = new ArrayList(); List newExcList = new ArrayList();
@ -103,6 +110,10 @@ public class WorkspaceResolver extends CFileTypeResolver {
} }
// remove // remove
// For removing we have to
// - check if the association was define in an extension
// if yes make sure we remove in the exclusion list
// if not remove in the inclusion list
if (null != delAssocs && delAssocs.length > 0) { if (null != delAssocs && delAssocs.length > 0) {
List newIncList = new ArrayList(); List newIncList = new ArrayList();
List newExcList = new ArrayList(); List newExcList = new ArrayList();
@ -188,7 +199,7 @@ public class WorkspaceResolver extends CFileTypeResolver {
sb.append(';'); sb.append(';');
} }
sb.append(addAssocs[i].getPattern()); sb.append(addAssocs[i].getPattern());
sb.append("!!"); //$NON-NLS-1 sb.append("!!"); //$NON-NLS-1$
sb.append(addAssocs[i].getType().getId()); sb.append(addAssocs[i].getType().getId());
} }
Preferences prefs = CCorePlugin.getDefault().getPluginPreferences(); Preferences prefs = CCorePlugin.getDefault().getPluginPreferences();
@ -222,7 +233,7 @@ public class WorkspaceResolver extends CFileTypeResolver {
sb.append(';'); sb.append(';');
} }
sb.append(addAssocs[i].getPattern()); sb.append(addAssocs[i].getPattern());
sb.append("!!"); //$NON-NLS-1 sb.append("!!"); //$NON-NLS-1$
sb.append(addAssocs[i].getType().getId()); sb.append(addAssocs[i].getType().getId());
} }
Preferences prefs = CCorePlugin.getDefault().getPluginPreferences(); Preferences prefs = CCorePlugin.getDefault().getPluginPreferences();