From dc9dbf889602283fb3b33696df79fa557b7ae552 Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Mon, 16 Jan 2012 15:30:05 +0000
Subject: [PATCH] bugfix refs 409

---
 .../ModelElementLabelProvider.java             | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
index 8cf2b46ed..03e647a46 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
@@ -17,12 +17,17 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.kernel.ui.presentation;
 
+import static org.fortiss.tooling.kernel.ui.ToolingKernelUIActivator.getDefault;
+import static org.fortiss.tooling.kernel.utils.LoggingUtils.error;
+
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
+import org.fortiss.tooling.kernel.model.INamedElement;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
+import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
 
 /**
  * Label provider for model elements that have corresponding handlers.
@@ -30,7 +35,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
  * @author mou
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 5802E04D8EDEFAE0E718AB0C255F602B
+ * @ConQAT.Rating YELLOW Hash: D32E438F5BECE52692211499348D767B
  */
 public class ModelElementLabelProvider extends LabelProvider {
 	/** {@inheritDoc} */
@@ -42,11 +47,18 @@ public class ModelElementLabelProvider extends LabelProvider {
 
 			if (handler != null)
 				return handler.getName((EObject) element);
+			// try to fall back on INamedElementModel
+			if (element instanceof INamedElement) {
+				return ((INamedElement) element).getName();
+			}
+			error(getDefault(),
+					"Missing model element handler of non-INamedElement EObject of class "
+							+ element.getClass());
 		}
 		if (element instanceof IStructuredSelection) {
-			return getText(((IStructuredSelection) element).getFirstElement());
+			return getText(EObjectSelectionUtils
+					.getFirstElement((IStructuredSelection) element));
 		}
-
 		return super.getText(element);
 	}
 
-- 
GitLab