Bug 241763: final touches to ensure refresh on all aspects of diagrams.
diff --git a/plugins/org.eclipse.tigerstripe.workbench.base/src/java/org/eclipse/tigerstripe/workbench/internal/core/TigerstripeWorkspaceNotifier.java b/plugins/org.eclipse.tigerstripe.workbench.base/src/java/org/eclipse/tigerstripe/workbench/internal/core/TigerstripeWorkspaceNotifier.java
index 1d913ea..e432d30 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.base/src/java/org/eclipse/tigerstripe/workbench/internal/core/TigerstripeWorkspaceNotifier.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.base/src/java/org/eclipse/tigerstripe/workbench/internal/core/TigerstripeWorkspaceNotifier.java
@@ -64,7 +64,8 @@
 		public boolean equals(Object obj) {
 			if (obj instanceof FilteredListener) {
 				FilteredListener other = (FilteredListener) obj;
-				return listener == other.getListener();
+				return listener == other.getListener()
+						&& filter == other.filter;
 			}
 			return false;
 		}
@@ -102,7 +103,9 @@
 
 	public void addTigerstripeChangeListener(
 			ITigerstripeChangeListener listener, int filter) {
-		listeners.add(new FilteredListener(listener, filter));
+		FilteredListener fListener = new FilteredListener(listener, filter);
+		if (!listeners.contains(fListener))
+			listeners.add(fListener);
 	}
 
 	public void removeTigerstripeChangeListener(
@@ -238,14 +241,15 @@
 	}
 
 	public void annotationsLoaded(Annotation[] annotations) {
-//		Annotation[] filteredAnnotations = AnnotationUtils
-//				.extractModelAnnotations(annotations);
-//
-//		if (filteredAnnotations.length != 0) {
-//			ModelAnnotationChangeDelta delta = new ModelAnnotationChangeDelta(
-//					IModelAnnotationChangeDelta.LOADED, filteredAnnotations);
-//			broadcastModelAnnotationChange(new IModelAnnotationChangeDelta[] { delta });
-//		}
+		// Annotation[] filteredAnnotations = AnnotationUtils
+		// .extractModelAnnotations(annotations);
+		//
+		// if (filteredAnnotations.length != 0) {
+		// ModelAnnotationChangeDelta delta = new ModelAnnotationChangeDelta(
+		// IModelAnnotationChangeDelta.LOADED, filteredAnnotations);
+		// broadcastModelAnnotationChange(new IModelAnnotationChangeDelta[] {
+		// delta });
+		// }
 	}
 
 	public void annotationsRemoved(Annotation[] annotations) {
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/dialogs/BrowseForArtifactDialog.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/dialogs/BrowseForArtifactDialog.java
index 1576d6a..80ff6eb 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/dialogs/BrowseForArtifactDialog.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/dialogs/BrowseForArtifactDialog.java
@@ -115,7 +115,13 @@
 					// of the list when sorted)
 					return " " + super.getText(element);
 				}
-				return super.getText(element);
+
+				if (element instanceof IModelComponent) {
+					return TigerstripeDecoratorManager.getDefault()
+							.decorateText(super.getText(element),
+									(IModelComponent) element);
+				} else
+					return super.getText(element);
 			}
 
 			@Override
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeConnectionNodeEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeConnectionNodeEditPart.java
new file mode 100644
index 0000000..cd8fb41
--- /dev/null
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeConnectionNodeEditPart.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Cisco Systems, Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Cisco Systems, Inc. - erdillon
+ *******************************************************************************/
+package org.eclipse.tigerstripe.workbench.ui.internal.gmf;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.tigerstripe.workbench.IModelAnnotationChangeDelta;
+import org.eclipse.tigerstripe.workbench.IModelChangeDelta;
+import org.eclipse.tigerstripe.workbench.ITigerstripeChangeListener;
+import org.eclipse.tigerstripe.workbench.TigerstripeException;
+import org.eclipse.tigerstripe.workbench.internal.adapt.TigerstripeURIAdapterFactory;
+import org.eclipse.tigerstripe.workbench.internal.core.TigerstripeWorkspaceNotifier;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IModelComponent;
+import org.eclipse.tigerstripe.workbench.project.IAbstractTigerstripeProject;
+import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
+
+public abstract class TigerstripeConnectionNodeEditPart extends
+		ConnectionNodeEditPart implements ITigerstripeChangeListener {
+
+	public TigerstripeConnectionNodeEditPart(View view) {
+		super(view);
+	}
+
+	protected IModelComponent getModelComponent() {
+		IModelComponent comp = (IModelComponent) getAdapter(IAbstractArtifact.class);
+		return comp;
+	}
+
+	@Override
+	public void activate() {
+		TigerstripeWorkspaceNotifier.INSTANCE.addTigerstripeChangeListener(
+				this, ITigerstripeChangeListener.ALL);
+		super.activate();
+	}
+
+	@Override
+	public void deactivate() {
+		TigerstripeWorkspaceNotifier.INSTANCE
+				.removeTigerstripeChangeListener(this);
+		super.deactivate();
+	}
+
+	private boolean shouldRefresh(IModelAnnotationChangeDelta[] deltas) {
+		for (IModelAnnotationChangeDelta delta : deltas) {
+			URI uri = delta.getAffectedModelComponentURI();
+			IModelComponent component = getModelComponent();
+			if (component != null) {
+				try {
+					URI thisURI = TigerstripeURIAdapterFactory.toURI(component);
+					if (uri.equals(thisURI)) {
+						return true;
+					}
+				} catch (TigerstripeException e) {
+					EclipsePlugin.log(e);
+				}
+			}
+		}
+		return false;
+	}
+
+	private boolean shouldRefresh(IModelChangeDelta[] deltas) {
+		for (IModelChangeDelta delta : deltas) {
+			if (delta.getType() == IModelChangeDelta.SET) {
+				URI uri = delta.getAffectedModelComponentURI();
+				IModelComponent component = getModelComponent();
+				if (component != null) {
+					try {
+						URI thisURI = TigerstripeURIAdapterFactory
+								.toURI(component);
+						if (uri.equals(thisURI)) {
+							return true;
+						}
+					} catch (TigerstripeException e) {
+						EclipsePlugin.log(e);
+					}
+				}
+			}
+		}
+		return false;
+	}
+
+	public void annotationChanged(IModelAnnotationChangeDelta[] delta) {
+		if (shouldRefresh(delta)) {
+			EditPart part = getPrimaryChildEditPart();
+			if (part != null) {
+				part.refresh();
+			}
+		}
+	}
+
+	public void modelChanged(IModelChangeDelta[] delta) {
+		if (shouldRefresh(delta)) {
+			refreshVisuals();
+		}
+	}
+
+	public void projectAdded(IAbstractTigerstripeProject project) {
+		// Ignoring here
+	}
+
+	public void projectDeleted(String projectName) {
+		// Ignoring here
+	}
+
+}
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeShapeNodeEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeShapeNodeEditPart.java
index 3f614a2..f662ca7 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeShapeNodeEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/gmf/TigerstripeShapeNodeEditPart.java
@@ -10,14 +10,20 @@
  *******************************************************************************/
 package org.eclipse.tigerstripe.workbench.ui.internal.gmf;
 
+import org.eclipse.emf.common.util.URI;
 import org.eclipse.gef.EditPart;
 import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.IModelAnnotationChangeDelta;
 import org.eclipse.tigerstripe.workbench.IModelChangeDelta;
 import org.eclipse.tigerstripe.workbench.ITigerstripeChangeListener;
+import org.eclipse.tigerstripe.workbench.TigerstripeException;
+import org.eclipse.tigerstripe.workbench.internal.adapt.TigerstripeURIAdapterFactory;
 import org.eclipse.tigerstripe.workbench.internal.core.TigerstripeWorkspaceNotifier;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IModelComponent;
 import org.eclipse.tigerstripe.workbench.project.IAbstractTigerstripeProject;
+import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
 
 public abstract class TigerstripeShapeNodeEditPart extends ShapeNodeEditPart
 		implements ITigerstripeChangeListener {
@@ -26,6 +32,11 @@
 		super(arg0);
 	}
 
+	protected IModelComponent getModelComponent() {
+		IModelComponent comp = (IModelComponent) getAdapter(IAbstractArtifact.class);
+		return comp;
+	}
+
 	@Override
 	public void activate() {
 		TigerstripeWorkspaceNotifier.INSTANCE.addTigerstripeChangeListener(
@@ -40,28 +51,66 @@
 		super.deactivate();
 	}
 
+	private boolean shouldRefresh(IModelAnnotationChangeDelta[] deltas) {
+		for (IModelAnnotationChangeDelta delta : deltas) {
+			URI uri = delta.getAffectedModelComponentURI();
+			IModelComponent component = getModelComponent();
+			if (component != null) {
+				try {
+					URI thisURI = TigerstripeURIAdapterFactory.toURI(component);
+					if (uri.equals(thisURI)) {
+						return true;
+					}
+				} catch (TigerstripeException e) {
+					EclipsePlugin.log(e);
+				}
+			}
+		}
+		return false;
+	}
+
+	private boolean shouldRefresh(IModelChangeDelta[] deltas) {
+		for (IModelChangeDelta delta : deltas) {
+			if (delta.getType() == IModelChangeDelta.SET) {
+				URI uri = delta.getAffectedModelComponentURI();
+				IModelComponent component = getModelComponent();
+				if (component != null) {
+					try {
+						URI thisURI = TigerstripeURIAdapterFactory
+								.toURI(component);
+						if (uri.equals(thisURI)) {
+							return true;
+						}
+					} catch (TigerstripeException e) {
+						EclipsePlugin.log(e);
+					}
+				}
+			}
+		}
+		return false;
+	}
+
 	public void annotationChanged(IModelAnnotationChangeDelta[] delta) {
-		EditPart part = getPrimaryChildEditPart();
-		if (part != null)
-			part.refresh();
-		else {
-			System.out.println("class=" + this.getClass().getName());
-			System.out.println(delta);
+		if (shouldRefresh(delta)) {
+			EditPart part = getPrimaryChildEditPart();
+			if (part != null) {
+				part.refresh();
+			}
 		}
 	}
 
 	public void modelChanged(IModelChangeDelta[] delta) {
-		refreshVisuals();
+		if (shouldRefresh(delta)) {
+			refreshVisuals();
+		}
 	}
 
 	public void projectAdded(IAbstractTigerstripeProject project) {
-		// TODO Auto-generated method stub
-
+		// Ignoring here
 	}
 
 	public void projectDeleted(String projectName) {
-		// TODO Auto-generated method stub
-
+		// Ignoring here
 	}
 
 	/**
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TSProblemTreeViewer.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TSProblemTreeViewer.java
index bb96b8a..68f58a8 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TSProblemTreeViewer.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TSProblemTreeViewer.java
@@ -44,19 +44,23 @@
 	@Override
 	protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
 		Object[] rawElements = event.getElements();
-		List<Object> filteredChildren = new ArrayList<Object>();
-		for (Object object : rawElements) {
-			Object node = LogicalExplorerNodeFactory.getInstance().getNode(
-					object);
-			if (node != null) {
-				filteredChildren.add(node);
-			}
-		}
 
-		LabelProviderChangedEvent filteredEvent = new LabelProviderChangedEvent(
-				(IBaseLabelProvider) event.getSource(), filteredChildren
-						.toArray(new Object[filteredChildren.size()]));
-		super.handleLabelProviderChanged(filteredEvent);
+		if (rawElements != null) {
+			List<Object> filteredChildren = new ArrayList<Object>();
+			for (Object object : rawElements) {
+				Object node = LogicalExplorerNodeFactory.getInstance().getNode(
+						object);
+				if (node != null) {
+					filteredChildren.add(node);
+				}
+			}
+
+			LabelProviderChangedEvent filteredEvent = new LabelProviderChangedEvent(
+					(IBaseLabelProvider) event.getSource(), filteredChildren
+							.toArray(new Object[filteredChildren.size()]));
+			super.handleLabelProviderChanged(filteredEvent);
+		} else
+			super.handleLabelProviderChanged(event);
 	}
 
 }
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TreeHierarchyLayoutProblemsDecorator.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TreeHierarchyLayoutProblemsDecorator.java
deleted file mode 100644
index 40ec9d1..0000000
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/internal/views/explorerview/TreeHierarchyLayoutProblemsDecorator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Cisco Systems, Inc.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    E. Dillon (Cisco Systems, Inc.) - reformat for Code Open-Sourcing
- *******************************************************************************/
-package org.eclipse.tigerstripe.workbench.ui.internal.views.explorerview;
-
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.internal.ui.browsing.LogicalPackage;
-import org.eclipse.jdt.ui.JavaElementImageDescriptor;
-import org.eclipse.jdt.ui.ProblemsLabelDecorator;
-
-/**
- * Special problem decorator for hierarchical package layout.
- * <p>
- * It only decorates package fragments which are not covered by the
- * <code>ProblemsLabelDecorator</code>.
- * </p>
- * 
- * @see org.eclipse.jdt.ui.ProblemsLabelDecorator
- * @since 2.1
- */
-public class TreeHierarchyLayoutProblemsDecorator extends
-		ProblemsLabelDecorator {
-
-	private boolean fIsFlatLayout;
-
-	public TreeHierarchyLayoutProblemsDecorator() {
-		this(false);
-	}
-
-	public TreeHierarchyLayoutProblemsDecorator(boolean isFlatLayout) {
-		super(null);
-		fIsFlatLayout = isFlatLayout;
-	}
-
-	protected int computePackageAdornmentFlags(IPackageFragment fragment) {
-		if (!fIsFlatLayout && !fragment.isDefaultPackage())
-			return super.computeAdornmentFlags(fragment.getResource());
-		return super.computeAdornmentFlags(fragment);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.ui.ProblemsLabelDecorator#computeAdornmentFlags(java.lang.Object)
-	 */
-	@Override
-	protected int computeAdornmentFlags(Object element) {
-		if (element instanceof IPackageFragment)
-			return computePackageAdornmentFlags((IPackageFragment) element);
-		else if (element instanceof LogicalPackage) {
-			IPackageFragment[] fragments = ((LogicalPackage) element)
-					.getFragments();
-			int res = 0;
-			for (int i = 0; i < fragments.length; i++) {
-				int flags = computePackageAdornmentFlags(fragments[i]);
-				if (flags == JavaElementImageDescriptor.ERROR)
-					return flags;
-				else if (flags != 0) {
-					res = flags;
-				}
-			}
-			return res;
-		}
-		return super.computeAdornmentFlags(element);
-	}
-
-	public void setIsFlatLayout(boolean state) {
-		fIsFlatLayout = state;
-	}
-
-}
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/viewers/ITigerstripeLabelDecorator.java b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/viewers/ITigerstripeLabelDecorator.java
index 1aca366..bc86896 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/viewers/ITigerstripeLabelDecorator.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.base/src/java/org/eclipse/tigerstripe/workbench/ui/viewers/ITigerstripeLabelDecorator.java
@@ -14,6 +14,12 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.tigerstripe.workbench.model.deprecated_.IModelComponent;
 
+/**
+ * A label decorator used in the Tigerstripe Explorer and Diagrams
+ * 
+ * @author erdillon
+ * 
+ */
 public interface ITigerstripeLabelDecorator extends ILabelDecorator {
 
 	public Image decorateImage(Image image, IModelComponent component);
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeConnectionNodeEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeConnectionNodeEditPart.java
new file mode 100644
index 0000000..559660d
--- /dev/null
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeConnectionNodeEditPart.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Cisco Systems, Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Cisco Systems, Inc. - erdillon
+ *******************************************************************************/
+package org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.tigerstripe.workbench.TigerstripeException;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact;
+import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
+import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeConnectionNodeEditPart;
+import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
+import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
+import org.eclipse.tigerstripe.workbench.ui.visualeditor.QualifiedNamedElement;
+
+/**
+ * This class simply implements the getAdapter(..) method on
+ * {@link TigerstripeShapeNodeEditPart} so the resolution to an
+ * IAbstractArtifact can be handled here.
+ * 
+ * @author erdillon
+ * 
+ */
+public abstract class AdaptableTigerstripeConnectionNodeEditPart extends
+		TigerstripeConnectionNodeEditPart implements IAdaptable {
+
+	public AdaptableTigerstripeConnectionNodeEditPart(View arg0) {
+		super(arg0);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object getAdapter(Class key) {
+		if (key.equals(IAbstractArtifact.class)) {
+			Object model = this.getModel();
+			if (model instanceof Edge) {
+				Edge edge = (Edge) model;
+				EObject element = edge.getElement();
+				if (element instanceof QualifiedNamedElement) {
+					QualifiedNamedElement qne = (QualifiedNamedElement) element;
+					try {
+						return qne.getCorrespondingIArtifact();
+					} catch (TigerstripeException e) {
+						EclipsePlugin.log(e);
+					}
+				}
+			}
+		}
+
+		return super.getAdapter(key);
+	}
+}
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeShapeNodeEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeShapeNodeEditPart.java
new file mode 100644
index 0000000..6b45d9a
--- /dev/null
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AdaptableTigerstripeShapeNodeEditPart.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Cisco Systems, Inc.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Cisco Systems, Inc. - erdillon
+ *******************************************************************************/
+package org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.parts;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.tigerstripe.workbench.TigerstripeException;
+import org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact;
+import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
+import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
+import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
+
+/**
+ * This class simply implements the getAdapter(..) method on
+ * {@link TigerstripeShapeNodeEditPart} so the resolution to an
+ * IAbstractArtifact can be handled here.
+ * 
+ * @author erdillon
+ * 
+ */
+public abstract class AdaptableTigerstripeShapeNodeEditPart extends
+		TigerstripeShapeNodeEditPart implements IAdaptable {
+
+	public AdaptableTigerstripeShapeNodeEditPart(View arg0) {
+		super(arg0);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object getAdapter(Class key) {
+		if (key.equals(IAbstractArtifact.class)) {
+			Object model = this.getModel();
+			if (model instanceof Node) {
+				Node node = (Node) model;
+				EObject element = node.getElement();
+				if (element instanceof AbstractArtifact) {
+					AbstractArtifact artifact = (AbstractArtifact) element;
+					try {
+						return artifact.getCorrespondingIArtifact();
+					} catch (TigerstripeException e) {
+						EclipsePlugin.log(e);
+					}
+				}
+			}
+		}
+
+		return super.getAdapter(key);
+	}
+}
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationClassClassEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationClassClassEditPart.java
index 3788b70..660b057 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationClassClassEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationClassClassEditPart.java
@@ -38,7 +38,6 @@
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.gmf.runtime.notation.impl.NodeImpl;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AssociationClass;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AssociationClassClass;
@@ -54,7 +53,7 @@
 /**
  * @generated NOT
  */
-public class AssociationClassClassEditPart extends TigerstripeShapeNodeEditPart
+public class AssociationClassClassEditPart extends AdaptableTigerstripeShapeNodeEditPart
 		implements ClassDiagramShapeNodeEditPart,
 		TigerstripeEditableEntityEditPart {
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationEditPart.java
index b2be1c3..63ee8b9 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/AssociationEditPart.java
@@ -19,13 +19,13 @@
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.impl.EReferenceImpl;
 import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
 import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
 import org.eclipse.gmf.runtime.diagram.ui.render.editparts.RenderedDiagramRootEditPart;
 import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
 import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
+import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeConnectionNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AggregationEnum;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.Association;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.DiagramProperty;
@@ -38,8 +38,8 @@
 /**
  * @generated NOT
  */
-public class AssociationEditPart extends ConnectionNodeEditPart implements
-		TigerstripeEditableEntityEditPart, PropertyAwarePart,
+public class AssociationEditPart extends AdaptableTigerstripeConnectionNodeEditPart
+		implements TigerstripeEditableEntityEditPart, PropertyAwarePart,
 		AssociationEnabledActionPart {
 
 	/**
@@ -90,7 +90,8 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart#refreshVisuals()
+	 * @seeorg.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart#
+	 * refreshVisuals()
 	 */
 	@Override
 	protected void refreshVisuals() {
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DatatypeArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DatatypeArtifactEditPart.java
index 6f1007b..9aee272 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DatatypeArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DatatypeArtifactEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.DatatypeArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.DatatypeArtifactGraphicalNodeEditPolicy;
@@ -43,7 +42,7 @@
 /**
  * @generated NOT
  */
-public class DatatypeArtifactEditPart extends TigerstripeShapeNodeEditPart
+public class DatatypeArtifactEditPart extends AdaptableTigerstripeShapeNodeEditPart
 		implements ClassDiagramShapeNodeEditPart,
 		TigerstripeEditableEntityEditPart {
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyEditPart.java
index 846487d..fb5d49f 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyEditPart.java
@@ -18,7 +18,6 @@
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.impl.EReferenceImpl;
 import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
 import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
 import org.eclipse.gmf.runtime.diagram.ui.render.editparts.RenderedDiagramRootEditPart;
 import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
@@ -33,8 +32,8 @@
 /**
  * @generated NOT
  */
-public class DependencyEditPart extends ConnectionNodeEditPart implements
-		TigerstripeEditableEntityEditPart {
+public class DependencyEditPart extends AdaptableTigerstripeConnectionNodeEditPart
+		implements TigerstripeEditableEntityEditPart {
 
 	/**
 	 * @generated
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyNamePackageEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyNamePackageEditPart.java
index 06e58d1..dc2017a 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyNamePackageEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyNamePackageEditPart.java
@@ -716,7 +716,9 @@
 
 			this.setText("<...>");
 			this.setFont(DEPENDENCYNAMEFIGURE_FONT);
-			this.setTextWrapAlignment(PositionConstants.CENTER);
+			this.setTextAlignment(PositionConstants.CENTER);
+			this.setTextJustification(PositionConstants.CENTER);
+			this.setTextWrap(true);
 			createContents();
 		}
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyStereotypesEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyStereotypesEditPart.java
index 8b1c77b..6a3bf49 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyStereotypesEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/DependencyStereotypesEditPart.java
@@ -616,8 +616,8 @@
 		 */
 		public DependencyStereotypesFigure() {
 
-			this.setText("<<...>>");
-			this.setFont(DEPENDENCYSTEREOTYPESFIGURE_FONT);
+//			this.setText("<<...>>");
+//			this.setFont(DEPENDENCYSTEREOTYPESFIGURE_FONT);
 			createContents();
 		}
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/EnumerationEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/EnumerationEditPart.java
index cf22c47..1806cc0 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/EnumerationEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/EnumerationEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.EnumerationCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.EnumerationGraphicalNodeEditPolicy;
@@ -43,8 +42,9 @@
 /**
  * @generated NOT
  */
-public class EnumerationEditPart extends TigerstripeShapeNodeEditPart implements
-		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
+public class EnumerationEditPart extends AdaptableTigerstripeShapeNodeEditPart
+		implements ClassDiagramShapeNodeEditPart,
+		TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ExceptionArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ExceptionArtifactEditPart.java
index ba53146..5700c61 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ExceptionArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ExceptionArtifactEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.ExceptionArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.ExceptionArtifactGraphicalNodeEditPolicy;
@@ -43,9 +42,9 @@
 /**
  * @generated NOT
  */
-public class ExceptionArtifactEditPart extends TigerstripeShapeNodeEditPart
-		implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+public class ExceptionArtifactEditPart extends
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ManagedEntityArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ManagedEntityArtifactEditPart.java
index 978d2ad..20aba1f 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ManagedEntityArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/ManagedEntityArtifactEditPart.java
@@ -32,7 +32,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.ManagedEntityArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.ManagedEntityArtifactGraphicalNodeEditPolicy;
@@ -44,9 +43,9 @@
 /**
  * @generated NOT
  */
-public class ManagedEntityArtifactEditPart extends TigerstripeShapeNodeEditPart
-		implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+public class ManagedEntityArtifactEditPart extends
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NamedQueryArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NamedQueryArtifactEditPart.java
index ea29758..b1dc2be 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NamedQueryArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NamedQueryArtifactEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.NamedQueryArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.NamedQueryArtifactGraphicalNodeEditPolicy;
@@ -43,9 +42,9 @@
 /**
  * @generated NOT
  */
-public class NamedQueryArtifactEditPart extends TigerstripeShapeNodeEditPart
-		implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+public class NamedQueryArtifactEditPart extends
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NotificationArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NotificationArtifactEditPart.java
index 5bb9fd7..6667422 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NotificationArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/NotificationArtifactEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.NotificationArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.NotificationArtifactGraphicalNodeEditPolicy;
@@ -43,9 +42,9 @@
 /**
  * @generated NOT
  */
-public class NotificationArtifactEditPart extends TigerstripeShapeNodeEditPart
-		implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+public class NotificationArtifactEditPart extends
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/SessionFacadeArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/SessionFacadeArtifactEditPart.java
index a8c229f..63361d0 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/SessionFacadeArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/SessionFacadeArtifactEditPart.java
@@ -31,7 +31,6 @@
 import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.tigerstripe.workbench.ui.EclipsePlugin;
-import org.eclipse.tigerstripe.workbench.ui.internal.gmf.TigerstripeShapeNodeEditPart;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.AbstractArtifact;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.SessionFacadeArtifactCanonicalEditPolicy;
 import org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram.edit.policies.SessionFacadeArtifactGraphicalNodeEditPolicy;
@@ -43,9 +42,9 @@
 /**
  * @generated NOT
  */
-public class SessionFacadeArtifactEditPart extends TigerstripeShapeNodeEditPart
-		implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+public class SessionFacadeArtifactEditPart extends
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;
 
diff --git a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/UpdateProcedureArtifactEditPart.java b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/UpdateProcedureArtifactEditPart.java
index 353d631..a40e503 100644
--- a/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/UpdateProcedureArtifactEditPart.java
+++ b/plugins/org.eclipse.tigerstripe.workbench.ui.visualeditor.diagram/src/org/eclipse/tigerstripe/workbench/ui/visualeditor/diagram/edit/parts/UpdateProcedureArtifactEditPart.java
@@ -44,8 +44,8 @@
  * @generated NOT
  */
 public class UpdateProcedureArtifactEditPart extends
-		TigerstripeShapeNodeEditPart implements ClassDiagramShapeNodeEditPart,
-		TigerstripeEditableEntityEditPart {
+		AdaptableTigerstripeShapeNodeEditPart implements
+		ClassDiagramShapeNodeEditPart, TigerstripeEditableEntityEditPart {
 
 	private ArtifactPropertyChangeHandler artifactPropertyChangeHandler;