diff options
author | Andrii Berezovskyi | 2017-07-07 11:41:34 +0000 |
---|---|---|
committer | Andrii Berezovskyi | 2017-07-07 12:51:45 +0000 |
commit | b6dbad4995a9addd5a0517a005553ba7d2b1e09d (patch) | |
tree | 071ffb282b91d8fe3db08c60c70fd5c99820a2ea | |
parent | af05f3af99df8680a6ba9afb9b26c657b9a24d7c (diff) | |
download | org.eclipse.lyo.tools-b6dbad4995a9addd5a0517a005553ba7d2b1e09d.tar.gz org.eclipse.lyo.tools-b6dbad4995a9addd5a0517a005553ba7d2b1e09d.tar.xz org.eclipse.lyo.tools-b6dbad4995a9addd5a0517a005553ba7d2b1e09d.zip |
Bug 519368 - Throw NoSuchElementException instead of NPE
If the resource is missing from the given graph in the triplestore.
Change-Id: Ic2ec0f2632b0e8b8ffaad1ae57de95be15ff8a4b
Signed-off-by: Andrii Berezovskyi <andriib@kth.se>
-rw-r--r-- | org.eclipse.lyo.tools.store/src/main/java/org/eclipse/lyo/tools/store/internals/SparqlStoreImpl.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/org.eclipse.lyo.tools.store/src/main/java/org/eclipse/lyo/tools/store/internals/SparqlStoreImpl.java b/org.eclipse.lyo.tools.store/src/main/java/org/eclipse/lyo/tools/store/internals/SparqlStoreImpl.java index f5e9b12..f766903 100644 --- a/org.eclipse.lyo.tools.store/src/main/java/org/eclipse/lyo/tools/store/internals/SparqlStoreImpl.java +++ b/org.eclipse.lyo.tools.store/src/main/java/org/eclipse/lyo/tools/store/internals/SparqlStoreImpl.java @@ -244,7 +244,14 @@ public class SparqlStoreImpl implements Store { final URI resourceUri, final Class<T> clazz) throws NoSuchElementException, StoreAccessException, ModelUnmarshallingException { final Model model = getJenaModelForSubject(namedGraphUri, resourceUri); - return getResourcesFromModel(model, clazz).get(0); + final List<T> modelResources = getResourcesFromModel(model, clazz); + if (modelResources == null || modelResources.isEmpty()) { + throw new NoSuchElementException( + "Empty Jena model for the subject " + resourceUri + ". Use resourceExists(g," + + "r) method to check for resource existence before calling this method" + + "."); + } + return modelResources.get(0); } @Override |