From 5f8f90a7f71ace2fa7b56990996a56dacc913f3b Mon Sep 17 00:00:00 2001 From: Alexander Diewald <diewald@fortiss.org> Date: Wed, 14 Aug 2019 14:44:02 +0200 Subject: [PATCH] Annotations: Allow recursive instantiation for EObjects. Issue-Ref: 3746 Issue-Url: https://af3-developer.fortiss.org/issues/3746 Signed-off-by: Alexander Diewald <diewald@fortiss.org> --- .../src/org/fortiss/tooling/base/utils/.ratings | 2 +- .../org/fortiss/tooling/base/utils/AnnotationUtils.java | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings index 97d7c278d..8ab4c2f8b 100644 --- a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings +++ b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings @@ -1,5 +1,5 @@ AngleUtils.java 462551eae71738ff51f92c9906bff9a21a375d2b GREEN -AnnotationUtils.java 1da750d19d92658b0bdf6bc18ceb18aa667e557b GREEN +AnnotationUtils.java b136478429b947e265e6c57015ae659fdfb3eac8 YELLOW BaseMathUtils.java 65f6c39b641cba3c984a38f42b1bbf7dbf3287a3 GREEN BaseModelElementUtils.java b8775b7a462efc168cf79a017aa3377a782d10f6 GREEN ConstraintsBaseUtils.java bba938b43756ce6f35c338f6cef21c3ab5d49a9d GREEN diff --git a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/AnnotationUtils.java b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/AnnotationUtils.java index 1da750d19..b13647842 100644 --- a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/AnnotationUtils.java +++ b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/AnnotationUtils.java @@ -32,6 +32,7 @@ import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.util.EcoreUtil; import org.fortiss.tooling.base.ToolingBaseActivator; import org.fortiss.tooling.base.annotation.AnnotationEntry; @@ -295,11 +296,13 @@ public class AnnotationUtils { * convenient). * * @param element - * {@link IModelElement} for which annotations should be instantiated recursively. + * {@link EObject} for which annotations should be instantiated recursively. */ - public static void instantiateAnnotationsRecursive(IModelElement element) { + public static void instantiateAnnotationsRecursive(EObject element) { IAnnotationValueService as = IAnnotationValueService.getInstance(); - as.instantiateAnnotations(element); + if(element instanceof IModelElement) { + as.instantiateAnnotations((IModelElement)element); + } for(IModelElement child : getChildrenWithType(element, IModelElement.class)) { as.instantiateAnnotations(child); } -- GitLab