From 6e9edf7f12b60112e910cac95ee34fee9b028cfd Mon Sep 17 00:00:00 2001 From: Simon Barner <barner@fortiss.org> Date: Fri, 8 Mar 2019 16:13:54 +0100 Subject: [PATCH] Define getEClassForClass() as synchronized * Avoid data race between clazz2EClassCache and EPackage.Registry.INSTANCE Issue-Ref: 3670 Issue-Url: https://af3-developer.fortiss.org/issues/3670 Signed-off-by: Simon Barner <barner@fortiss.org> --- .../src/org/fortiss/tooling/kernel/utils/.ratings | 2 +- .../src/org/fortiss/tooling/kernel/utils/EcoreUtils.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/.ratings b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/.ratings index 9eb0d36c9..d50370431 100644 --- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/.ratings +++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/.ratings @@ -2,7 +2,7 @@ CompositionUtils.java 34c0a191bd0fb4176c94b4d61abb5c88a679d5e8 GREEN ConstraintsUtils.java 0f8be020f2ca4bb08931c32452163c04a28e30ce GREEN EMFResourceUtils.java 979d0e1f4f66a2b3e715d2da0ebef6493f547fd7 GREEN EcoreSerializerBase.java 0a0c2969d793d2e68094c55c8f7b0a662ef6e5d5 GREEN -EcoreUtils.java aca34b67bcf6a6a488e83964bfea73f6bfbff6b1 GREEN +EcoreUtils.java 3e2e2193312cd4ce6fd0c7ea2beb7daae428d2ed YELLOW ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/EcoreUtils.java b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/EcoreUtils.java index aca34b67b..3e2e21933 100644 --- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/EcoreUtils.java +++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/utils/EcoreUtils.java @@ -423,7 +423,7 @@ public class EcoreUtils { * expensive. * </p> */ - public static EClass getEClassForClass(Class<?> clazz) { + public static synchronized EClass getEClassForClass(Class<?> clazz) { EClass eClass = null; if(clazz2EClassCache.containsKey(clazz)) { -- GitLab