[323375] [backport] fix for bug 296576 in 3.0 and 3.1 branches for WTP
diff --git a/features/org.eclipse.jst.server_core.feature.patch/buildnotes_org.eclipse.jst.server_core.feature.patch.html b/features/org.eclipse.jst.server_core.feature.patch/buildnotes_org.eclipse.jst.server_core.feature.patch.html index bdbb7ab..6cac857 100644 --- a/features/org.eclipse.jst.server_core.feature.patch/buildnotes_org.eclipse.jst.server_core.feature.patch.html +++ b/features/org.eclipse.jst.server_core.feature.patch/buildnotes_org.eclipse.jst.server_core.feature.patch.html
@@ -15,4 +15,5 @@ <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=294664'>294664</a>. Classpath entry attributes lost when updating runtime classpath container</p> <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=295494'>295494</a>. RuntimeClasspathContainer should update runtime if it is null</p> +<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=323375'>323375</a>. [backport] fix for bug 296576 in 3.0 and 3.1 branches for WTP</p> </body></html> \ No newline at end of file
diff --git a/features/org.eclipse.jst.server_core.feature.patch/feature.properties b/features/org.eclipse.jst.server_core.feature.patch/feature.properties index 703ef92..4d250e6 100644 --- a/features/org.eclipse.jst.server_core.feature.patch/feature.properties +++ b/features/org.eclipse.jst.server_core.feature.patch/feature.properties
@@ -32,6 +32,7 @@ \n\ Bug https://bugs.eclipse.org/294664 Classpath entry attributes lost when updating runtime classpath container\n\ Bug https://bugs.eclipse.org/295494 RuntimeClasspathContainer should update runtime if it is null\n\ +Bug https://bugs.eclipse.org/323375 [backport] fix for bug 296576 in 3.0 and 3.1 branches for WTP\n\ \n\ # "copyright" property - text of the "Feature Update Copyright" copyright=\
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 5813422..fea027f 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
@@ -25,5 +25,6 @@ <p>Bug <a href='https://bugs.eclipse.org/322968'>322968</a>. The ability to update server's launch is required</p> <p>Bug <a href='https://bugs.eclipse.org/323658'>323658</a>. NPE- modules variable not initialized when API called during automated scenario</p> <p>Bug <a href='https://bugs.eclipse.org/309781'>309781</a>. Deadlock during debugging</p> +<p>Bug <a href='https://bugs.eclipse.org/327806'>327806</a>. Backport the 311794</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 a7e8ffa..f5091bf 100644 --- a/features/org.eclipse.wst.server_core.feature.patch/feature.properties +++ b/features/org.eclipse.wst.server_core.feature.patch/feature.properties
@@ -37,6 +37,7 @@ Bug https://bugs.eclipse.org/322968 The ability to update server's launch is required\n\ Bug https://bugs.eclipse.org/323658 NPE- modules variable not initialized when API called during automated scenario\n\ Bug https://bugs.eclipse.org/309781 Deadlock during debugging\n\ +Bug https://bugs.eclipse.org/327806 Backport the 311794\n\ \n\ # "copyright" property - text of the "Feature Update Copyright"
diff --git a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF index c51cbb4..0d587d5 100644 --- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true -Bundle-Version: 1.1.4.qualifier +Bundle-Version: 1.1.5.qualifier Bundle-Activator: org.eclipse.jst.server.core.internal.JavaServerPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java index f4f9509..a0b2a6a 100644 --- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java +++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 IBM Corporation and others. + * Copyright (c) 2003, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -58,9 +58,9 @@ private String extensionId; - private Map<String, IPath> runtimePathMap = new HashMap<String, IPath>(); + private Map<String, IPath> runtimePathMap = Collections.synchronizedMap(new HashMap<String, IPath>()); - private Map<String, Integer> previousClasspath = new HashMap<String, Integer>(); + private Map<String, Integer> previousClasspath = Collections.synchronizedMap(new HashMap<String, Integer>()); public RuntimeClasspathProviderDelegate() { // default constructor
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java index beab5c3..2b7504e 100644 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java +++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. + * Copyright (c) 2003, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -51,6 +51,15 @@ public static final String TASK_MODULES = "modules"; /** + * Task model id for an array of delta kinds that maps to the modules in the TASK_MODULES. + * The value is a List containing Integer for the delta kind id. + * + * @see #getObject(String) + * @see TaskModel#putObject(String, Object) + */ + public static final String TASK_DELTA_KINDS = "deltaKinds"; + + /** * Task model id for a launch mode. * * @see #getObject(String)
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java index 51f3668..cfdb34b 100644 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java +++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
@@ -862,7 +862,7 @@ tempMulti.addAll(taskStatus); // execute publishers - taskStatus = executePublishers(kind, moduleList, monitor, info2); + taskStatus = executePublishers(kind, moduleList, deltaKindList, monitor, info2); if (taskStatus != null && !taskStatus.isOK()) tempMulti.addAll(taskStatus); @@ -1073,8 +1073,29 @@ * it should minimally contain an adapter for the * org.eclipse.swt.widgets.Shell.class * @throws CoreException + * @Deprecated use ServerBehaviourDelegate.executePublishers(int kind, List<IModule[]> modules, List<Integer> deltaKinds, IProgressMonitor monitor, IAdaptable info) */ protected MultiStatus executePublishers(int kind, List<IModule[]> modules, IProgressMonitor monitor, IAdaptable info) throws CoreException { + return executePublishers(kind, modules, null, monitor, info); + } + + /** + * Execute publishers. + * + * @param kind the publish kind + * @param modules the list of modules + * @param deltaKinds the list of delta kind that maps to the list of modules + * @param monitor a progress monitor, or <code>null</code> if progress + * reporting and cancellation are not desired + * @param info the IAdaptable (or <code>null</code>) provided by the + * caller in order to supply UI information for prompting the + * user if necessary. When this parameter is not <code>null</code>, + * it should minimally contain an adapter for the + * org.eclipse.swt.widgets.Shell.class + * @throws CoreException + * @since 1.1 + */ + protected MultiStatus executePublishers(int kind, List<IModule[]> modules, List<Integer> deltaKinds, IProgressMonitor monitor, IAdaptable info) throws CoreException { Publisher[] publishers = ((Server)getServer()).getEnabledPublishers(); int size = publishers.length; Trace.trace(Trace.FINEST, "Executing publishers: " + size); @@ -1087,6 +1108,9 @@ TaskModel taskModel = new TaskModel(); taskModel.putObject(TaskModel.TASK_SERVER, getServer()); taskModel.putObject(TaskModel.TASK_MODULES, modules); + if (deltaKinds != null) { + taskModel.putObject(TaskModel.TASK_DELTA_KINDS, deltaKinds); + } for (int i = 0; i < size; i++) { Publisher pub = publishers[i];