Merge "[487942] Improve the creation diagram wizard to include the name of the diagram type"
diff --git a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/manager/ActivityExplorerManager.java b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/manager/ActivityExplorerManager.java
index 7f73152..0f6f48f 100644
--- a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/manager/ActivityExplorerManager.java
+++ b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/manager/ActivityExplorerManager.java
@@ -10,9 +10,6 @@
*******************************************************************************/
package org.eclipse.amalgam.explorer.activity.ui.api.manager;
-import java.util.Collection;
-import java.util.HashSet;
-
import org.eclipse.amalgam.explorer.activity.ui.ActivityExplorerActivator;
import org.eclipse.amalgam.explorer.activity.ui.api.editor.ActivityExplorerEditor;
import org.eclipse.amalgam.explorer.activity.ui.api.editor.input.ActivityExplorerEditorInput;
@@ -21,6 +18,7 @@
import org.eclipse.amalgam.explorer.activity.ui.internal.intf.INotifier;
import org.eclipse.amalgam.explorer.activity.ui.internal.util.ActivityExplorerLoggerService;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ListenerList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.sirius.business.api.session.Session;
@@ -42,7 +40,7 @@
public static final ActivityExplorerManager INSTANCE = new ActivityExplorerManager();
- private static final Collection<IActivityExplorerEditorSessionListener> editorListeners = new HashSet<IActivityExplorerEditorSessionListener>();
+ private static final ListenerList editorListeners = new ListenerList();
private ActivityExplorerManager() {
}
@@ -194,24 +192,21 @@
}
@Override
- public void dispatchEvent(int notification, Session session) {
- for (IActivityExplorerEditorSessionListener iObserver : editorListeners) {
- iObserver.executeRequest(notification, session);
+ public void dispatchEvent(int notification, Session session) {
+ Object[] listeners = editorListeners.getListeners();
+ for (int i = 0; i < listeners.length; ++i) {
+ ((IActivityExplorerEditorSessionListener) listeners[i]).executeRequest(notification, session);
}
}
@Override
public void addActivityExplorerEditorListener(IActivityExplorerEditorSessionListener observer) {
- if (editorListeners != null && !editorListeners.contains(observer)){
- editorListeners.add(observer);
- }
+ editorListeners.add(observer);
}
@Override
public void removeActivityExplorerEditorListener(IActivityExplorerEditorSessionListener observer) {
- if (editorListeners != null && editorListeners.contains(observer)){
- editorListeners.remove(observer);
- }
+ editorListeners.remove(observer);
}
protected void run(Runnable runnable) {
@@ -224,5 +219,4 @@
}
}
}
-
}