reverting fix that was mistakenly released to 1_5_maintenance branch, that was intended (only) for 1_5_5_patches branch.
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java index 9f60089..0f0bc5d 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java +++ b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java
@@ -23,11 +23,9 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; @@ -102,7 +100,6 @@ private boolean isNotifying = false; private boolean wsClientElementsChanged = true; private boolean wsElementsChanged = true; - private ProcessProjectsWithWSDL processNewProjects; public static final String WSDL_EXT = "wsdl"; //$NON-NLS-1$ public static final String WSIL_EXT = "wsil"; //$NON-NLS-1$ @@ -873,12 +870,9 @@ if ((delta.getKind()==IResourceDelta.ADDED || (((delta.getFlags() & IResourceDelta.OPEN) != 0) && p.isAccessible()))) { IVirtualComponent component = ComponentCore.createComponent(p); if (component!=null && !J2EEProjectUtilities.isEARProject(p) && !J2EEProjectUtilities.isStaticWebProject(p)) { - if (processNewProjects != null && (processNewProjects.getState() == Job.WAITING)) - processNewProjects.addProject(p); - else { - processNewProjects = createProjectsJob(p); - processNewProjects.schedule(); - } + Job job = new ProcessProjectsWithWSDL(p, EditModelEvent.ADDED_RESOURCE); + job.setRule(p); + job.schedule(); return false; } } @@ -899,12 +893,9 @@ addedWsil((IFile)resource); else if (resource.getName().equals(J2EEConstants.WEB_SERVICES_CLIENT_SHORTNAME) || resource.getName().equals(J2EEConstants.WEB_SERVICES_DD_URI)) { - if (processNewProjects != null && (processNewProjects.getState() == Job.WAITING)) - processNewProjects.addProject(resource.getProject()); - else { - processNewProjects = createProjectsJob(resource.getProject()); - processNewProjects.schedule(); - } + Job job = new ProcessProjectsWithWSDL(resource.getProject(), EditModelEvent.LOADED_RESOURCE); + job.setRule(resource.getProject()); + job.schedule(); } } // Handle WSIL or WSDL file removals @@ -917,40 +908,21 @@ return true; } - private ProcessProjectsWithWSDL createProjectsJob(IProject p) { - Set newSet = new HashSet(); - newSet.add(p); - ProcessProjectsWithWSDL job = new ProcessProjectsWithWSDL(newSet, EditModelEvent.ADDED_RESOURCE); - job.setRule(p.getWorkspace().getRoot()); - return job; - } - private class ProcessProjectsWithWSDL extends Job { - private Set currentProjects; + private IProject currentProject; private int eventType; - public ProcessProjectsWithWSDL(Set p, int newEventType) + public ProcessProjectsWithWSDL(IProject p, int newEventType) { super("Loading artifact edit for project"); - currentProjects = p; + currentProject = p; eventType = newEventType; } - public void addProject(IProject p) { - synchronized(currentProjects) { - currentProjects.add(p); - } - } - protected IStatus run(IProgressMonitor monitor) { - for (Iterator iterator = currentProjects.iterator(); iterator.hasNext();) { - IProject currentProject = (IProject) iterator.next(); - addArtifactEdit(currentProject); - } + addArtifactEdit(currentProject); notifyListeners(eventType); - // Null out job for processing new projects - processNewProjects = null; return Status.OK_STATUS; } }