From 9b83ba8986a9eab5bd8035a5b897d718b4dff545 Mon Sep 17 00:00:00 2001 From: Vincent Aravantinos <aravantinos@fortiss.org> Date: Wed, 22 Jul 2015 11:30:56 +0000 Subject: [PATCH] refs 2352 --- .../kernel/utils/TransformationUtils.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/TransformationUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/TransformationUtils.java index 9508b3625..152fd19a4 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/TransformationUtils.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/TransformationUtils.java @@ -31,7 +31,7 @@ import org.fortiss.tooling.kernel.service.ITransformationService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: D5FFA34D4F541675F1EF17EE4A5C59CA + * @ConQAT.Rating YELLOW Hash: 8B88DE0F53EE7561C069D2660CF31843 */ public final class TransformationUtils { @@ -132,4 +132,18 @@ public final class TransformationUtils { ITransformationContext context) { return ITransformationService.INSTANCE.canTransform(sourceElement, targetClass, context); } + + /** + * @param e + * @return the deepest non-null cause of <code>e</code> + */ + public static Throwable getOriginalCause(ChainTransformationFailedException e) { + Throwable f = e.getCause(); + Throwable previous = e; + while(f != null) { + previous = f; + f = f.getCause(); + } + return previous; + } } -- GitLab