Skip to content
Snippets Groups Projects
Commit 70c9a690 authored by Florian Hölzl's avatar Florian Hölzl
Browse files

implemented recursive search for models

refs 438
parent d2dd98d7
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,9 @@ import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
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.IResourceChangeEvent;
......@@ -62,7 +64,7 @@ import org.osgi.framework.Bundle;
* @author hoelzlf
* @author $Author$
* @version $Rev$
* @ConQAT.Rating YELLOW Hash: 97A421BF172008E2FC3E5255ED918D14
* @ConQAT.Rating YELLOW Hash: AA6D000D4AB166B6B2703F2B2E9EE23F
*/
public class EclipseResourceStorageProvider implements
IEclipseResourceStorageService, IResourceChangeListener,
......@@ -100,19 +102,26 @@ public class EclipseResourceStorageProvider implements
if (!project.isOpen()) {
continue;
}
try {
for (IResource res : project.members()) {
if (res instanceof IFile) {
IFile file = (IFile) res;
if (checkLocationProvider(file)) {
loadContext(file);
}
searchResourceForModels(project);
}
}
/** Searches the given container for models. */
private void searchResourceForModels(IContainer container) {
try {
for (IResource res : container.members()) {
if (res instanceof IFile) {
IFile file = (IFile) res;
if (checkLocationProvider(file)) {
loadContext(file);
}
} else if (res instanceof IFolder) {
searchResourceForModels((IFolder) res);
}
} catch (CoreException e) {
error(ToolingKernelActivator.getDefault(),
"Core Exception while scanning Eclipse workspace", e);
}
} catch (CoreException e) {
error(ToolingKernelActivator.getDefault(),
"Core Exception while scanning Eclipse workspace", e);
}
}
......@@ -151,7 +160,6 @@ public class EclipseResourceStorageProvider implements
@Override
public boolean visit(IResourceDelta delta) {
if (delta.getResource() instanceof IFile
&& delta.getResource().getParent() instanceof IProject
&& checkLocationProvider((IFile) delta.getResource())) {
runWorkspaceChangeJob((IFile) delta.getResource(), delta.getKind());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment