diff options
| author | Laurent Fasani | 2017-06-14 08:31:02 +0000 |
|---|---|---|
| committer | Laurent Fasani | 2017-07-07 15:49:41 +0000 |
| commit | 6fbc16f1b938387bfa110ff79732abb14ae7b588 (patch) | |
| tree | 0c2dd56065be3827d97c752660fb0a4f727fe5f1 | |
| parent | 33a7914d5dd1dbca589c28128254c0ecaa200e00 (diff) | |
| download | org.eclipse.sirius-6fbc16f1b938387bfa110ff79732abb14ae7b588.tar.gz org.eclipse.sirius-6fbc16f1b938387bfa110ff79732abb14ae7b588.tar.xz org.eclipse.sirius-6fbc16f1b938387bfa110ff79732abb14ae7b588.zip | |
[516669] Fix IndexOutOfBoundsException in ResourceQuery.isSrmResource
* Avoid IndexOutOfBoundsException when the resource have an empty
content
Bug: 516669
Change-Id: I4b3ca48b1407fb9851d6e236b0dad16e0d669882
Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/query/ResourceQuery.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/query/ResourceQuery.java b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/query/ResourceQuery.java index 555e9c3c6c..43f87eb7c1 100644 --- a/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/query/ResourceQuery.java +++ b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/query/ResourceQuery.java @@ -13,6 +13,7 @@ package org.eclipse.sirius.business.api.query; import java.util.Collection; import java.util.Optional; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; @@ -116,7 +117,8 @@ public class ResourceQuery { * @return true if the resource is a representation resource, otherwise false. */ public boolean isSrmResource() { - return Optional.ofNullable(resource.getContents().get(0)).filter(DRepresentation.class::isInstance).isPresent(); + EList<EObject> contents = resource.getContents(); + return Optional.ofNullable(contents.isEmpty() ? null : resource.getContents().get(0)).filter(DRepresentation.class::isInstance).isPresent(); } /** |
