Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEsteban Dugueperoux2015-09-07 07:34:57 +0000
committerEsteban Dugueperoux2015-09-07 07:34:57 +0000
commit4f84a702df00f4648398c309a6d4783a65aaa53c (patch)
tree9594a050376dc92820db46a48a73f329dfbce470
parent3bf021443737ff45515c317539d752a62dd966fc (diff)
downloadorg.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.java10
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);

Back to the top