From b42b263219da89bedb79a743cd6ff9b677d79160 Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Thu, 5 Jan 2012 10:26:04 +0000
Subject: [PATCH] added convenience methods for model element handler refs 311

---
 .../internal/ModelElementHandlerService.java  | 36 +++++++++++++++++--
 .../service/IModelElementHandlerService.java  | 21 ++++++++++-
 2 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementHandlerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementHandlerService.java
index 63e807886..50d6c5356 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementHandlerService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementHandlerService.java
@@ -21,6 +21,7 @@ import java.util.List;
 
 import org.conqat.lib.commons.string.StringUtils;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.swt.graphics.Image;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.service.base.EObjectAwareServiceBase;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
@@ -35,7 +36,7 @@ import org.fortiss.tooling.kernel.utils.LoggingUtils;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 074E65AEBD71DD87A0C35D0D401F924E
+ * @ConQAT.Rating YELLOW Hash: A72B12E44F543112D26677A5004A9F06
  */
 public class ModelElementHandlerService extends
 		EObjectAwareServiceBase<IModelElementHandler<EObject>> implements
@@ -89,11 +90,40 @@ public class ModelElementHandlerService extends
 		return HANDLER_CLASS_ATTRIBUTE_NAME;
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public String getName(EObject modelElement) {
+		IModelElementHandler<EObject> handler = getModelElementHandler(modelElement);
+		if (handler != null) {
+			handler.getName(modelElement);
+		}
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public String getDescription(EObject modelElement) {
+		IModelElementHandler<EObject> handler = getModelElementHandler(modelElement);
+		if (handler != null) {
+			handler.getDescription(modelElement);
+		}
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public Image getIcon(EObject modelElement) {
+		IModelElementHandler<EObject> handler = getModelElementHandler(modelElement);
+		if (handler != null) {
+			handler.getIcon();
+		}
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public String getWrappedNameDescription(EObject modelElement) {
-		IModelElementHandler<EObject> handler = IModelElementHandlerService.INSTANCE
-				.getModelElementHandler(modelElement);
+		IModelElementHandler<EObject> handler = getModelElementHandler(modelElement);
 		if (handler == null) {
 			return "";
 		}
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IModelElementHandlerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IModelElementHandlerService.java
index 186ee7839..d65a6ba3b 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IModelElementHandlerService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IModelElementHandlerService.java
@@ -18,6 +18,7 @@ $Id$
 package org.fortiss.tooling.kernel.ui.service;
 
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.swt.graphics.Image;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.internal.ModelElementHandlerService;
 
@@ -30,7 +31,7 @@ import org.fortiss.tooling.kernel.ui.internal.ModelElementHandlerService;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 4642A80BDD0135BFB39EC67906136123
+ * @ConQAT.Rating YELLOW Hash: D5272CE0B76DB84B31CC7586A7837E53
  */
 public interface IModelElementHandlerService {
 
@@ -46,6 +47,24 @@ public interface IModelElementHandlerService {
 	 */
 	IModelElementHandler<EObject> getModelElementHandler(EObject modelElement);
 
+	/**
+	 * Returns the name of the model element (or <code>null</code> if no handler
+	 * was found).
+	 */
+	String getName(EObject modelElement);
+
+	/**
+	 * Returns a description of the model element (or <code>null</code> if no
+	 * handler was found).
+	 */
+	String getDescription(EObject modelElement);
+
+	/**
+	 * Returns the icon of the model element (or <code>null</code> if no handler
+	 * was found).
+	 */
+	Image getIcon(EObject modelElement);
+
 	/**
 	 * Returns a wrapped string built from the name and description returned by
 	 * the underlying handler.
-- 
GitLab