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 8cf2b46edcd2615a70e82d1f9ac7af8419c1f544..03e647a463ca4feadc9e704575d0248a8dd0ca58 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); }