diff options
| author | Esteban Dugueperoux | 2015-09-07 07:34:57 +0000 |
|---|---|---|
| committer | Esteban Dugueperoux | 2015-09-07 07:34:57 +0000 |
| commit | 4f84a702df00f4648398c309a6d4783a65aaa53c (patch) | |
| tree | 9594a050376dc92820db46a48a73f329dfbce470 | |
| parent | 3bf021443737ff45515c317539d752a62dd966fc (diff) | |
| download | org.eclipse.sirius-4f84a702df00f4648398c309a6d4783a65aaa53c.tar.gz org.eclipse.sirius-4f84a702df00f4648398c309a6d4783a65aaa53c.tar.xz org.eclipse.sirius-4f84a702df00f4648398c309a6d4783a65aaa53c.zip | |
[471456] Add a try/catch in SessionEditorInput.getURI()
- To avoid exception for EMF implementations not supporting EMF proxy
add a try/catch as work-around.
Bug: 471456
Change-Id: Iaf6bed704e45346bb57a81fdc700c5008a071fb8
Signed-off-by: Esteban Dugueperoux <esteban.dugueperoux@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionEditorInput.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionEditorInput.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionEditorInput.java index 18bf8a4681..b0602df178 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionEditorInput.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionEditorInput.java @@ -315,7 +315,13 @@ public class SessionEditorInput extends URIEditorInput { public URI getURI() { EObject input = inputRef != null ? inputRef.get() : null; if (input != null) { - return EcoreUtil.getURI(input); + try { + return EcoreUtil.getURI(input); + // TODO: remove this try/catch WORK-AROUND when 392720 will be + // fixed + } catch (IllegalStateException e) { + + } } return super.getURI(); } @@ -330,7 +336,7 @@ public class SessionEditorInput extends URIEditorInput { boolean exists = super.exists(); if (!exists) { EObject input = getInput(false); - if (input != null) { + if (input != null && !input.eIsProxy()) { Resource resource = input.eResource(); if (resource != null && resource.getResourceSet() != null) { exists = resource.getResourceSet().getURIConverter().exists(resource.getURI(), null); |
