diff options
Diffstat (limited to 'plugins/uml/org.eclipse.papyrus.uml.service.types')
-rw-r--r-- | plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/AbstractStereotypedElementEditHelperAdvice.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/AbstractStereotypedElementEditHelperAdvice.java b/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/AbstractStereotypedElementEditHelperAdvice.java index ce516f6ba1b..bf839b2cf18 100644 --- a/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/AbstractStereotypedElementEditHelperAdvice.java +++ b/plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/AbstractStereotypedElementEditHelperAdvice.java @@ -74,12 +74,26 @@ public abstract class AbstractStereotypedElementEditHelperAdvice extends Abstrac } // do not try to get the Profile, as this can be time consuming and dependent on the size of the model boolean requiredProfileApplied = false; - URI requiredProfileURI = EcoreUtil.getURI(requiredProfile); + URI requiredProfileURI = null; + try { + requiredProfileURI = EcoreUtil.getURI(requiredProfile); + } catch (Exception e) { + Activator.log.debug("Impossible to find URI for this profile"); + return true; + } + for (Profile profile : profileApplicationContext.getAllAppliedProfiles()) { EPackage definition = profile.getDefinition(); // compare definition & requireProfiles - URI appliedProfileURI = EcoreUtil.getURI(definition); - if (requiredProfileURI.equals(appliedProfileURI)) { + + URI appliedProfileURI = null; + try { + appliedProfileURI = EcoreUtil.getURI(definition); + } catch (Exception e) { + Activator.log.debug("Impossible to find URI for this profile"); + } + + if (requiredProfileURI != null && requiredProfileURI.equals(appliedProfileURI)) { requiredProfileApplied = true; break; // this required profile has been found, accept this one } |