Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Check if indexer is enable for this project

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.26
diff -u -r1.26 ChangeLog
--- ChangeLog	12 Nov 2002 19:01:59 -0000	1.26
+++ ChangeLog	12 Nov 2002 20:51:33 -0000
@@ -1,5 +1,13 @@
 2002-11-12 Alain Magloire
 
+	* index/.../internal/core/index/IndexManager.java (removeConatiner):
+	Change the signature of the function to take IContainer.
+	(removeResource): Also remove the request from the requestList.
+	* index/.../internal/core/index/RequestList.java (removeItem):
+	new method.
+
+2002-11-12 Alain Magloire
+
 	* index/.../index/IndexModel.java (isEnabled):
 	New method check if indexing is enable for a project.
 	(setEnabled) : enable/disable indexing for a project.
Index: index/org/eclipse/cdt/internal/core/index/IndexManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java,v
retrieving revision 1.4
diff -u -r1.4 IndexManager.java
--- index/org/eclipse/cdt/internal/core/index/IndexManager.java	12 Nov 2002 18:52:31 -0000	1.4
+++ index/org/eclipse/cdt/internal/core/index/IndexManager.java	12 Nov 2002 20:51:33 -0000
@@ -24,7 +24,6 @@
 import org.eclipse.cdt.core.model.ITranslationUnit;
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -110,6 +109,7 @@
 		if (filesMap == null)
 			return;
 
+		clearRequestList(resource);
 		switch (resource.getType()) {
 			case IResource.ROOT:
 				// PROBLEM?
@@ -117,10 +117,10 @@
 
 			case IResource.PROJECT:
 				projectsMap.remove(resource.getLocation());	
-			break;
+				// FALL_THROUGHT
 
 			case IResource.FOLDER:
-				removeFolder((IFolder)resource);
+				removeContainer((IContainer)resource);
 			break;
 
 			case IResource.FILE:
@@ -129,12 +129,12 @@
 		}
 	}
 
-	public void removeFolder(IFolder folder) {
-		Map filesMap = (Map)projectsMap.get(folder.getProject().getLocation());
+	public void removeContainer(IContainer container) {
+		Map filesMap = (Map)projectsMap.get(container.getProject().getLocation());
 		if (filesMap == null)
 			return;
 
-		IPath folderPath = folder.getLocation();
+		IPath folderPath = container.getLocation();
 		if (filesMap != null) {
 			Iterator keys = filesMap.keySet().iterator();
 			while (keys.hasNext()) {
@@ -151,6 +151,21 @@
 		Map filesMap = (Map)projectsMap.get(file.getProject().getLocation());
 		if (filesMap != null) {
 			filesMap.remove(file.getLocation());
+		}
+	}
+
+	public void clearRequestList(IResource resource) {
+		if (resource instanceof IFile) {
+			requestList.removeItem(resource);
+		} else if (resource instanceof IContainer) {
+			try {
+				IContainer container = (IContainer)resource;
+				IResource[] resources = container.members(false);
+				for (int i = 0; i < resources.length; i++) {
+					clearRequestList(resources[i]);
+				}
+			} catch (CoreException e) {
+			}
 		}
 	}
 
Index: index/org/eclipse/cdt/internal/core/index/RequestList.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/RequestList.java,v
retrieving revision 1.1
diff -u -r1.1 RequestList.java
--- index/org/eclipse/cdt/internal/core/index/RequestList.java	26 Jun 2002 20:33:48 -0000	1.1
+++ index/org/eclipse/cdt/internal/core/index/RequestList.java	12 Nov 2002 20:51:33 -0000
@@ -34,6 +34,10 @@
 		}
 	}
 
+	public boolean removeItem(Object key) {
+		return list.remove(key);
+	}
+
 	public void addItem(IResource item) {
 		//print("in addItem() - entering");
 		synchronized (list) {



Back to the top