Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Fasani2017-06-14 08:31:02 +0000
committerLaurent Fasani2017-07-07 15:49:41 +0000
commit6fbc16f1b938387bfa110ff79732abb14ae7b588 (patch)
tree0c2dd56065be3827d97c752660fb0a4f727fe5f1
parent33a7914d5dd1dbca589c28128254c0ecaa200e00 (diff)
downloadorg.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.java4
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();
}
/**

Back to the top