From 208bff0406a1445bcf74a9e571042ebd5eb98457 Mon Sep 17 00:00:00 2001 From: Carsten Hollmann Date: Thu, 16 May 2019 11:03:04 +0200 Subject: [PATCH] FIX NPE when a series with no observations exist, the next values check fails because the session is closed --- RELEASE-NOTES.md | 1 + .../sos/ds/hibernate/values/HibernateChunkStreamingValue.java | 2 +- .../values/series/HibernateChunkSeriesStreamingValue.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index d1f3216fa1..b25be4daeb 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -19,6 +19,7 @@ ### Fixed issues - Cache update of result templates with dynamic feattureOfInterest definition + - NPE when a series with no observations exist, the next values check fails because the session is closed ## Release 52n-sensorweb-sos-4.4.6 diff --git a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/HibernateChunkStreamingValue.java b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/HibernateChunkStreamingValue.java index faac2836bf..e565f7a820 100644 --- a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/HibernateChunkStreamingValue.java +++ b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/HibernateChunkStreamingValue.java @@ -84,7 +84,7 @@ public HibernateChunkStreamingValue(GetObservationRequest request, long procedur @Override public boolean hasNextValue() throws OwsExceptionReport { boolean next = false; - if (valuesResult == null || !valuesResult.hasNext()) { + if ((valuesResult == null || !valuesResult.hasNext()) && getSession().isOpen()) { if (!noChunk) { getNextResults(); if (chunkSize <= 0 || (valueCounter != 0 && valueCounter < chunkSize)) { diff --git a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/series/HibernateChunkSeriesStreamingValue.java b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/series/HibernateChunkSeriesStreamingValue.java index 9b4a101807..23af00e810 100644 --- a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/series/HibernateChunkSeriesStreamingValue.java +++ b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/values/series/HibernateChunkSeriesStreamingValue.java @@ -83,7 +83,7 @@ public HibernateChunkSeriesStreamingValue(AbstractObservationRequest request, lo @Override public boolean hasNextValue() throws OwsExceptionReport { boolean next = false; - if (seriesValuesResult == null || !seriesValuesResult.hasNext()) { + if ((seriesValuesResult == null || !seriesValuesResult.hasNext()) && getSession().isOpen()) { if (!noChunk && (valueCounter == 0 || valueCounter == chunkSize)) { getNextResults(); if (chunkSize <= 0 || (valueCounter != 0 && valueCounter < chunkSize)) {