Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgiormov2010-02-02 11:45:35 +0000
committerdgiormov2010-02-02 11:45:35 +0000
commit6983cb84135700656e48ce75835286724617e380 (patch)
treeaf3908a502b68ee01deea7e9037f76f0a00478ee
parentb6e56d0ebe3f79868b5e002639a3199b96445083 (diff)
downloadwebtools.ejb-R3_1_maintenance.tar.gz
webtools.ejb-R3_1_maintenance.tar.xz
webtools.ejb-R3_1_maintenance.zip
[219303] No notifications after editing web 2.5 models using model provider - fixed. Added listeners were disposed.R3_1_2R3_1_maintenance
-rw-r--r--plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/Ejb3MergedModelProviderFactory.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/Ejb3MergedModelProviderFactory.java b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/Ejb3MergedModelProviderFactory.java
index fe5fbc42..d16c3f72 100644
--- a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/Ejb3MergedModelProviderFactory.java
+++ b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/Ejb3MergedModelProviderFactory.java
@@ -10,11 +10,14 @@
***********************************************************************/
package org.eclipse.jst.jee.model.internal;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import org.eclipse.core.resources.IProject;
import org.eclipse.jst.j2ee.model.IModelProvider;
import org.eclipse.jst.j2ee.model.IModelProviderFactory;
+import org.eclipse.jst.j2ee.model.IModelProviderListener;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
/**
@@ -28,11 +31,25 @@ public class Ejb3MergedModelProviderFactory implements IModelProviderFactory {
public IModelProvider create(IProject project) {
IModelProvider result = getResource(project);
if(result == null || ((EJB3MergedModelProvider)result).isDisposed()){
+ Collection<IModelProviderListener> listeners = new ArrayList<IModelProviderListener>();
+ if (result != null){
+ listeners = ( (EJB3MergedModelProvider)result).getListeners();
+ }
result = new EJB3MergedModelProvider(project);
+
+ addListeners(result, listeners);
addResource(project, result);
}
return result;
}
+
+ private void addListeners(IModelProvider modelProvider,
+ Collection<IModelProviderListener> listeners) {
+ for (IModelProviderListener iModelProviderListener : listeners) {
+ if (iModelProviderListener != null)
+ modelProvider.addListener(iModelProviderListener);
+ }
+ }
public IModelProvider create(IVirtualComponent component) {
return create(component.getProject());

Back to the top