210702 Closing the Servers project should refresh the Servers view
diff --git a/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html b/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
index 5ce43b8..f28655a 100644
--- a/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
+++ b/features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
@@ -17,4 +17,5 @@
<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=209907'>209907</a>. Deadlock, slow activation associated with org.eclipse.wst.server.core</p>
<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=210694'>210694</a>. Inconsistencies with servers created in the workspace by default</p>
<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=211073'>211073</a>. Excessive number of output in the .log file as a result of the fix to bug 204165</p>
+<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=210702'>210702</a>. Closing the Servers project should refresh the Servers view</p>
</body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_core.feature.patch/feature.properties b/features/org.eclipse.wst.server_core.feature.patch/feature.properties
index 7923eba..af34b41 100644
--- a/features/org.eclipse.wst.server_core.feature.patch/feature.properties
+++ b/features/org.eclipse.wst.server_core.feature.patch/feature.properties
@@ -33,7 +33,8 @@
Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=204165 too much time spent in ServerUtil.getModule(IProject)\n\
Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=209907 Deadlock, slow activation associated with org.eclipse.wst.server.core\n\
Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=210694 Inconsistencies with servers created in the workspace by default\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=211073 Excessive number of output in the .log file as a result of the fix to bug 204165\n\
+Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=211073 Excessive number of output in the .log file\n\
+Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=210702 Closing the Servers project should refresh the Servers view\n\
\n\
# "copyright" property - text of the "Feature Update Copyright"
copyright=\
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
index 27ab7d0..df75a77 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
@@ -55,6 +55,8 @@
private Preferences.IPropertyChangeListener pcl;
protected boolean ignorePreferenceChanges = false;
+ protected static List serverProjects = new ArrayList();
+
/**
* Server resource change listener.
*
@@ -130,10 +132,15 @@
* @param delta org.eclipse.core.resources.IResourceDelta
*/
protected void projectChanged(IProject project, IResourceDelta delta) {
+ String projectName = project.getName();
if (!ServerPlugin.getProjectProperties(project).isServerProject()) {
- Trace.trace(Trace.RESOURCES, "Not a server project: " + project.getName());
- return;
- }
+ if (!serverProjects.contains(projectName)) {
+ Trace.trace(Trace.RESOURCES, "Not a server project: " + project.getName());
+ return;
+ }
+ serverProjects.remove(projectName);
+ } else if (!serverProjects.contains(projectName))
+ serverProjects.add(projectName);
IResourceDelta[] children = delta.getAffectedChildren();
@@ -200,8 +207,12 @@
if (projects != null) {
int size = projects.length;
for (int i = 0; i < size; i++) {
- if (ServerPlugin.getProjectProperties(projects[i]).isServerProject())
+ if (ServerPlugin.getProjectProperties(projects[i]).isServerProject()) {
+ String projectName = projects[i].getName();
+ if (!serverProjects.contains(projectName))
+ serverProjects.add(projectName);
loadFromProject(projects[i]);
+ }
}
}