diff options
Diffstat (limited to 'plugins/uml')
-rw-r--r-- | plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java b/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java index 7eb284007be..4a7280795e8 100644 --- a/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java +++ b/plugins/uml/org.eclipse.papyrus.uml.modelrepair/src/org/eclipse/papyrus/uml/modelrepair/internal/participants/StereotypeApplicationRepairParticipant.java @@ -14,6 +14,7 @@ package org.eclipse.papyrus.uml.modelrepair.internal.participants; import java.util.Collection; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -722,5 +723,17 @@ public class StereotypeApplicationRepairParticipant extends PackageOperations im return result; } + + + protected Map<EClass, EClass> stereotypeDefinitionCache = new HashMap<EClass, EClass>(); + + @Override + protected EClass getTarget(EClass eClass) { + if (!stereotypeDefinitionCache.containsKey(eClass)) { + EClass result = super.getTarget(eClass); + stereotypeDefinitionCache.put(eClass, result); + } + return stereotypeDefinitionCache.get(eClass); + } } } |