[248015] Reverting fixes for now, until better solution found
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
index a471575..d728798 100644
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
+++ b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
@@ -17,7 +17,6 @@
package org.eclipse.wst.common.internal.emfworkbench.integration;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -40,8 +39,6 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.ecore.resource.Resource;
@@ -136,37 +133,6 @@
*/
public ResourceSetWorkbenchEditSynchronizer(ResourceSet aResourceSet, IProject aProject) {
super(aResourceSet, aProject);
- aResourceSet.eAdapters().add(new AdapterImpl() {
-
- public void notifyChanged(Notification notification) {
- Collection removedResources = null;
-
- switch (notification.getEventType()) {
- case Notification.REMOVE:
- Object newObj = notification.getOldValue();
- if (!(newObj instanceof Resource)){
- break;
- }
- removedResources = new ArrayList();
- removedResources.add((Resource)newObj);
- break;
- case Notification.REMOVE_MANY:
- removedResources = (Collection) notification.getOldValue();
- break;
- default:
- break;
- }
-
- if (removedResources != null && !removedResources.isEmpty()) {
- for (Iterator iter = recentlySavedFiles.iterator(); iter.hasNext();) {
- SavedFileKey key = (SavedFileKey) iter.next();
- if (key.res != null && removedResources.contains(key.res)) {
- iter.remove();
- }
- }
- }
- }
- });
}
/*
@@ -358,7 +324,7 @@
for (Iterator iterator = resources.iterator(); iterator.hasNext();) {
Resource resource = (Resource) iterator.next();
- if ((resource != null) && (recentlySavedFilesContains(resource))) {
+ if ((resource != null) || (recentlySavedFilesContains(resource))) {
/*
* The IFile was just added to the workspace but we have a
* resource in memory. Need to decide if it should be unloaded.
@@ -400,7 +366,7 @@
private synchronized boolean recentlySavedFilesContains(Resource resource) {
for (Iterator iterator = recentlySavedFiles.iterator(); iterator.hasNext();) {
SavedFileKey key = (SavedFileKey) iterator.next();
- if (key.res != null && key.res.equals(resource))
+ if (key.res.equals(resource))
return true;
}
return false;
@@ -410,7 +376,7 @@
List resources = getResources(aFile);
for (Iterator iterator = resources.iterator(); iterator.hasNext();) {
Resource resource = (Resource) iterator.next();
- if ((resource != null) && (recentlySavedFilesContains(resource))) {
+ if ((resource != null) || (recentlySavedFilesContains(resource))) {
if (resource.isModified()) {
if (WorkbenchResourceHelper.isReferencedResource(resource)) {
ReferencedResource refRes = (ReferencedResource) resource;
@@ -461,21 +427,18 @@
}
protected List getResources(IFile aFile) {
-
+
List resources = new ArrayList();
List allResources = resourceSet.getResources();
for (Iterator iterator = allResources.iterator(); iterator.hasNext();) {
Resource res = (Resource) iterator.next();
URI resURI = res.getURI();
- String resURIString = "";
- if (resURI.path() != null) {
- IPath resURIPath;
- if (WorkbenchResourceHelper.isPlatformResourceURI(resURI))
- resURIPath = new Path(URI.decode(resURI.path())).removeFirstSegments(2);
- else
- resURIPath = new Path(URI.decode(resURI.path())).removeFirstSegments(1);
- resURIString = resURIPath.toString();
- }
+ IPath resURIPath;
+ if (WorkbenchResourceHelper.isPlatformResourceURI(resURI))
+ resURIPath = new Path(URI.decode(resURI.path())).removeFirstSegments(2);
+ else
+ resURIPath = new Path(URI.decode(resURI.path())).removeFirstSegments(1);
+ String resURIString = resURIPath.toString();
if (!resURIString.equals("") && aFile.getFullPath().toString().indexOf(resURIString) != -1)
resources.add(res);
}