Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2013-07-04 17:49:00 +0000
committercletavernie2013-07-04 17:49:00 +0000
commitc3dddf021c375f9f4898d7ffa76fcdb4f48f2642 (patch)
treef3508e5b3269ff27c6c14b5f82ae25329baa2f42 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src
parent518cb38bbfdbbb7472983ee2665d4196a77306f9 (diff)
downloadorg.eclipse.papyrus-c3dddf021c375f9f4898d7ffa76fcdb4f48f2642.tar.gz
org.eclipse.papyrus-c3dddf021c375f9f4898d7ffa76fcdb4f48f2642.tar.xz
org.eclipse.papyrus-c3dddf021c375f9f4898d7ffa76fcdb4f48f2642.zip
401502: [Commands] Class cast exception in DestroyElementPapyrusCommand
https://bugs.eclipse.org/bugs/show_bug.cgi?id=401502
Diffstat (limited to 'plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src')
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/DestroyElementPapyrusCommand.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/DestroyElementPapyrusCommand.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/DestroyElementPapyrusCommand.java
index 9fcc727a82c..8881ac99bf8 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/DestroyElementPapyrusCommand.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/DestroyElementPapyrusCommand.java
@@ -53,11 +53,13 @@ public class DestroyElementPapyrusCommand extends DestroyElementCommand {
Collection<Setting> usages = EMFHelper.getUsages(destructee);
List<Object> result = new ArrayList<Object>();
for(Setting setting : usages) {
- EReference eRef = (EReference)setting.getEStructuralFeature();
- if(eRef.isChangeable() && (eRef.isDerived() == false) && (eRef.isContainment() == false) && (eRef.isContainer() == false)) {
- List files = getWorkspaceFiles(setting.getEObject());
- if(files != null) {
- result.addAll(files);
+ if(setting.getEStructuralFeature() instanceof EReference) {
+ EReference eRef = (EReference)setting.getEStructuralFeature();
+ if(eRef.isChangeable() && (eRef.isDerived() == false) && (eRef.isContainment() == false) && (eRef.isContainer() == false)) {
+ List files = getWorkspaceFiles(setting.getEObject());
+ if(files != null) {
+ result.addAll(files);
+ }
}
}
}
@@ -71,9 +73,11 @@ public class DestroyElementPapyrusCommand extends DestroyElementCommand {
Collection<Setting> usages = EMFHelper.getUsages(destructee);
for(Setting setting : usages) {
- EReference eRef = (EReference)setting.getEStructuralFeature();
- if(eRef.isChangeable() && (eRef.isDerived() == false) && (eRef.isContainment() == false) && (eRef.isContainer() == false)) {
- EcoreUtil.remove(setting.getEObject(), eRef, destructee);
+ if(setting.getEStructuralFeature() instanceof EReference) {
+ EReference eRef = (EReference)setting.getEStructuralFeature();
+ if(eRef.isChangeable() && (eRef.isDerived() == false) && (eRef.isContainment() == false) && (eRef.isContainer() == false)) {
+ EcoreUtil.remove(setting.getEObject(), eRef, destructee);
+ }
}
}
}

Back to the top