View | Details | Raw Unified | Return to bug 398568 | Differences between
and this patch

Collapse All | Expand All

(-)a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JavaModelListener.java (-14 / +1 lines)
Lines 36-42 public abstract class JavaModelListener implements IElementChangedListener { Link Here
36
	 * 
36
	 * 
37
	 * @since 1.2.0
37
	 * @since 1.2.0
38
	 */
38
	 */
39
	private HashMap resolvedContainers = new HashMap();
40
	public JavaModelListener() {
39
	public JavaModelListener() {
41
		this(ElementChangedEvent.POST_CHANGE);
40
		this(ElementChangedEvent.POST_CHANGE);
42
	}
41
	}
Lines 102-112 public abstract class JavaModelListener implements IElementChangedListener { Link Here
102
	 */
101
	 */
103
	public void processDelta(IJavaElementDelta delta) {
102
	public void processDelta(IJavaElementDelta delta) {
104
		IJavaElement element = delta.getElement();
103
		IJavaElement element = delta.getElement();
105
		// if the class path has changed we refresh the resolved container cache
106
		int flags= delta.getFlags();
107
		if (((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) && !resolvedContainers.isEmpty()){
108
			resolvedContainers.clear();			
109
		}
110
104
111
		switch (element.getElementType()) {
105
		switch (element.getElementType()) {
112
			case IJavaElement.JAVA_MODEL:
106
			case IJavaElement.JAVA_MODEL:
Lines 356-368 public abstract class JavaModelListener implements IElementChangedListener { Link Here
356
					}
350
					}
357
					if (container == null || container.getKind() != IClasspathContainer.K_APPLICATION)
351
					if (container == null || container.getKind() != IClasspathContainer.K_APPLICATION)
358
						break;
352
						break;
359
					//First see if we already resolved
353
					IClasspathEntry[] containerEntries = container.getClasspathEntries();
360
					IClasspathEntry[] containerEntries = null;
361
					containerEntries = (IClasspathEntry[])resolvedContainers.get(container);
362
					if (containerEntries == null) {
363
						containerEntries = container.getClasspathEntries();
364
						resolvedContainers.put(container, containerEntries);
365
					}
366
					for (int j = 0; j < containerEntries.length; j++) {
354
					for (int j = 0; j < containerEntries.length; j++) {
367
						if (containerEntries[j].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
355
						if (containerEntries[j].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
368
							IJavaProject conEntryProject = getVisibleJavaProject(containerEntries[j], isFirstLevel);
356
							IJavaProject conEntryProject = getVisibleJavaProject(containerEntries[j], isFirstLevel);
369
- 

Return to bug 398568