Author: bbrodt
Date: 2010-11-09 07:39:59 -0500 (Tue, 09 Nov 2010)
New Revision: 26358
Added:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerHolderAdapter.java
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ActivityAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ContainerAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/CorrelationSetAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ExpressionAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/LinkAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerDelegateAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MessageExchangeAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/PartnerLinkAdapter.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/VariableAdapter.java
Log:
OPEN - issue JBIDE-7526: "Unknown Marker ID" exception being thrown by editor on
mousehover over error decorator
https://jira.jboss.org/browse/JBIDE-7526
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ActivityAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ActivityAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ActivityAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -29,6 +29,7 @@
import org.eclipse.bpel.ui.uiextensionmodel.UiextensionmodelFactory;
import org.eclipse.bpel.ui.util.BPELUtil;
import org.eclipse.bpel.ui.util.FlowLinkUtil;
+import org.eclipse.core.internal.resources.Marker;
import org.eclipse.core.resources.IMarker;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
@@ -47,65 +48,14 @@
*
*/
-public abstract class ActivityAdapter extends AbstractStatefulAdapter implements
INamedElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public abstract class ActivityAdapter extends MarkerHolderAdapter implements
INamedElement,
ILabeledElement, EditPartFactory, IOutlineEditPartFactory, IMarkerHolder,
IEditPartActionContributor, IExtensionFactory, AdapterNotification
{
-
- public static class UniqueMarkers extends ArrayList<IMarker> {
-
- //
https://jira.jboss.org/browse/JBIDE-7497
- // prevent duplicate marker IDs from being added to the list - this
- // causes those mysterious "Marker not found" errors during validation
- @Override
- public boolean add(IMarker e) {
- for (int i=0; i<size(); ++i) {
- IMarker m = get(i);
- if (m.getId() == e.getId())
- return false;
- }
- return super.add(e);
- }
-
- }
/**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
- super.notifyChanged(notification);
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- UniqueMarkers fMarkers = new UniqueMarkers();
-
- static IMarker [] EMPTY_MARKERS = {};
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
- /**
* Helper method for getting an AbstractUIObjectFactory from a model object.
*/
protected AbstractUIObjectFactory getUIObjectFactory(Object modelObject) {
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ContainerAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ContainerAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ContainerAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -10,20 +10,17 @@
*******************************************************************************/
package org.eclipse.bpel.ui.adapters;
-import java.util.ArrayList;
import java.util.List;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.emf.common.notify.Notification;
-
/**
* Adapter for an object which may (or may not) support IContainer.
* This class forwards the IContainer methods to a delegate which subclasses
* should construct in createContainerDelegate().
*/
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
public abstract class ContainerAdapter
- extends AbstractStatefulAdapter
+ extends MarkerHolderAdapter
implements IContainer, IMarkerHolder, AdapterNotification {
IContainer containerDelegate = null;
@@ -34,45 +31,7 @@
}
return containerDelegate;
}
-
-
-
- /**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
- super.notifyChanged(notification);
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
- static IMarker [] EMPTY_MARKERS = {};
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
/**
* Subclasses must override this to create the actual IContainer
* implementation. This method should not return null.
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/CorrelationSetAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/CorrelationSetAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/CorrelationSetAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -14,7 +14,6 @@
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.CorrelationSet;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.Messages;
@@ -33,51 +32,14 @@
* @date Jun 5, 2007
*
*/
-public class CorrelationSetAdapter extends AbstractStatefulAdapter implements
INamedElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class CorrelationSetAdapter extends MarkerHolderAdapter implements INamedElement,
ILabeledElement, EditPartFactory, IOutlineEditPartFactory, IMarkerHolder,
ITrayEditPartFactory,AdapterNotification
{
-
/**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
- super.notifyChanged(notification);
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
-
- static IMarker [] EMPTY_MARKERS = {};
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
-
-
- /**
* @see org.eclipse.bpel.ui.adapters.INamedElement#getName(java.lang.Object)
*/
public String getName(Object namedElement) {
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ExpressionAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ExpressionAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/ExpressionAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -23,41 +23,8 @@
*
*/
-public class ExpressionAdapter extends AbstractStatefulAdapter implements IMarkerHolder,
AdapterNotification {
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class ExpressionAdapter extends MarkerHolderAdapter implements IMarkerHolder,
AdapterNotification {
- /**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
- super.notifyChanged(notification);
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
-
- static IMarker [] EMPTY_MARKERS = {};
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
}
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/LinkAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/LinkAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/LinkAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -10,17 +10,13 @@
*******************************************************************************/
package org.eclipse.bpel.ui.adapters;
-import java.util.ArrayList;
-
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.Link;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.Messages;
import org.eclipse.bpel.ui.editparts.LinkEditPart;
import org.eclipse.bpel.ui.uiextensionmodel.UiextensionmodelFactory;
-import org.eclipse.core.resources.IMarker;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.EditPart;
@@ -34,51 +30,13 @@
* @date Jun 5, 2007
*
*/
-public class LinkAdapter extends AbstractStatefulAdapter implements INamedElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class LinkAdapter extends MarkerHolderAdapter implements INamedElement,
EditPartFactory, ILabeledElement, IMarkerHolder, IExtensionFactory,
AdapterNotification
{
-
-
- /**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
-
- super.notifyChanged(notification);
-
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
- static IMarker [] EMPTY_MARKERS = {};
-
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
-
/**
* @see org.eclipse.bpel.ui.adapters.INamedElement#getName(java.lang.Object)
*/
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerDelegateAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerDelegateAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerDelegateAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -46,20 +46,18 @@
*/
public class MarkerDelegateAdapter extends AbstractStatefulAdapter implements
IMarkerHolder, AdapterNotification {
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
-
static IMarker [] EMPTY_MARKERS = {};
/** (non-Javadoc)
* @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
+ *
+ *
https://jira.jboss.org/browse/JBIDE-7526
+ * We don't own any markers since we delegate to MarkerHolderAdapter
+ * TODO: do we need to get markers from parent adapter?
*/
-
public IMarker[] getMarkers (Object object) {
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
+ return EMPTY_MARKERS;
}
protected boolean isMarkerEvent(Notification notification) {
Added:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerHolderAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerHolderAdapter.java
(rev 0)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MarkerHolderAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.eclipse.bpel.ui.adapters;
+
+import java.util.ArrayList;
+
+import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.emf.common.notify.Notification;
+
+/**
+ * This class was created out of the duplicated code in a bunch of activity adapters.
+ * It manages the markers list and ensures that duplicate markers are not added to
+ * the list, and that only valid markers are returned.
+ *
+ * @see
https://jira.jboss.org/browse/JBIDE-7526
+ * @author Bob Brodt
+ * @date Nov 9, 2010
+ */
+public class MarkerHolderAdapter extends AbstractStatefulAdapter implements
IMarkerHolder, AdapterNotification {
+
+ private class UniqueMarkers extends ArrayList<IMarker> {
+
+ // prevent duplicate marker IDs from being added to the list
+ @Override
+ public boolean add(IMarker e) {
+ for (int i=0; i<size(); ++i) {
+ IMarker m = get(i);
+ if (m.getId() == e.getId())
+ return false;
+ }
+ return super.add(e);
+ }
+
+ }
+
+ /**
+ * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ super.notifyChanged(notification);
+ switch (notification.getEventType()) {
+ case NOTIFICATION_MARKERS_STALE :
+ fMarkers.clear();
+ break;
+ case NOTIFICATION_MARKER_ADDED :
+ fMarkers.add ( (IMarker) notification.getNewValue() );
+ break;
+ case NOTIFICATION_MARKER_DELETED :
+ fMarkers.remove ( notification.getOldValue() );
+ break;
+ }
+ }
+
+ UniqueMarkers fMarkers = new UniqueMarkers();
+
+ static IMarker [] EMPTY_MARKERS = {};
+
+ /** (non-Javadoc)
+ * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
+ */
+ public IMarker[] getMarkers (Object object) {
+
+ if (fMarkers.size() == 0) {
+ return EMPTY_MARKERS;
+ }
+
+ UniqueMarkers removed = new UniqueMarkers();
+ for (IMarker m : fMarkers) {
+ if (!m.exists())
+ removed.add(m);
+ }
+
+ fMarkers.removeAll(removed);
+
+ return fMarkers.toArray( EMPTY_MARKERS );
+ }
+}
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MessageExchangeAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MessageExchangeAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/MessageExchangeAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -13,18 +13,14 @@
package org.eclipse.bpel.ui.adapters;
-import java.util.ArrayList;
-
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.MessageExchange;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.Messages;
import org.eclipse.bpel.ui.editparts.MessageExchangeEditPart;
import org.eclipse.bpel.ui.editparts.OutlineTreeEditPart;
import org.eclipse.bpel.ui.properties.PropertiesLabelProvider;
-import org.eclipse.core.resources.IMarker;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPartFactory;
@@ -36,53 +32,15 @@
/**
* @author Miriam Grundig (MGrundig(a)de.ibm.com)
*/
-public class MessageExchangeAdapter extends AbstractStatefulAdapter implements
INamedElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class MessageExchangeAdapter extends MarkerHolderAdapter implements
INamedElement,
ILabeledElement, EditPartFactory, IOutlineEditPartFactory, IMarkerHolder,
ITrayEditPartFactory, IContentProposal,
AdapterNotification
{
-
/**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
-
- super.notifyChanged(notification);
-
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
- static IMarker [] EMPTY_MARKERS = {};
-
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
-
- /**
* @see org.eclipse.bpel.ui.adapters.INamedElement#getName(java.lang.Object)
*/
public String getName (Object namedElement) {
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/PartnerLinkAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/PartnerLinkAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/PartnerLinkAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -14,7 +14,6 @@
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.PartnerLink;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.Messages;
@@ -36,53 +35,15 @@
* @date Jun 5, 2007
*
*/
-public class PartnerLinkAdapter extends AbstractStatefulAdapter implements
INamedElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class PartnerLinkAdapter extends MarkerHolderAdapter implements INamedElement,
ILabeledElement, EditPartFactory, IOutlineEditPartFactory, IMarkerHolder,
ITrayEditPartFactory, IContentProposal,
AdapterNotification
{
-
/**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
-
- super.notifyChanged(notification);
-
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
- static IMarker [] EMPTY_MARKERS = {};
-
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
-
- /**
* @see org.eclipse.bpel.ui.adapters.INamedElement#getName(java.lang.Object)
*/
public String getName (Object namedElement) {
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/VariableAdapter.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/VariableAdapter.java 2010-11-09
12:15:35 UTC (rev 26357)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/adapters/VariableAdapter.java 2010-11-09
12:39:59 UTC (rev 26358)
@@ -14,7 +14,6 @@
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.Variable;
-import org.eclipse.bpel.model.adapters.AbstractStatefulAdapter;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.bpel.ui.Messages;
@@ -40,49 +39,14 @@
* @date May 23, 2007
*
*/
-public class VariableAdapter extends AbstractStatefulAdapter implements INamedElement,
ILabeledElement,
+//
https://jira.jboss.org/browse/JBIDE-7526
+// push all of the Marker stuff up to MarkerHolderAdapter to avoid duplication
+public class VariableAdapter extends MarkerHolderAdapter implements INamedElement,
ILabeledElement,
EditPartFactory, IOutlineEditPartFactory, IMarkerHolder,
ITrayEditPartFactory, IExtensionFactory, IContentProposal, AdapterNotification
{
-
/**
- * @see
org.eclipse.bpel.model.adapters.AbstractAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- @Override
- public void notifyChanged(Notification notification) {
- super.notifyChanged(notification);
- switch (notification.getEventType()) {
- case NOTIFICATION_MARKERS_STALE :
- fMarkers.clear();
- break;
- case NOTIFICATION_MARKER_ADDED :
- fMarkers.add ( (IMarker) notification.getNewValue() );
- break;
- case NOTIFICATION_MARKER_DELETED :
- fMarkers.remove ( notification.getOldValue() );
- break;
- }
- }
-
- ArrayList<IMarker> fMarkers = new ArrayList<IMarker>();
-
- static IMarker [] EMPTY_MARKERS = {};
-
- /** (non-Javadoc)
- * @see org.eclipse.bpel.ui.adapters.IMarkerHolder#getMarkers(java.lang.Object)
- */
-
- public IMarker[] getMarkers (Object object) {
-
- if (fMarkers.size() == 0) {
- return EMPTY_MARKERS;
- }
- return fMarkers.toArray( EMPTY_MARKERS );
- }
-
-
- /**
* @see org.eclipse.bpel.ui.adapters.INamedElement#getName(java.lang.Object)
*/
public String getName(Object modelObject) {