Skip to content

Commit 447e065

Browse files
author
CarstenHollmann
committed
Fix inspire converter to reset checked observation to stream
1 parent 7cac61d commit 447e065

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

converter/observation/src/main/java/org/n52/sos/convert/InspireObservationResponseConverter.java

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -176,35 +176,40 @@ private void checkData(OwsServiceRequest request, AbstractObservationResponse re
176176
Map<String, List<OmObservation>> map = Maps.newHashMap();
177177
while (response.getObservationCollection().hasNext()) {
178178
OmObservation omObservation = response.getObservationCollection().next();
179+
String observationType = checkForObservationTypeForStreaming(omObservation, request);
179180
if (omObservation.getValue() instanceof StreamingValue<?>) {
180181
if (checkRequestedObservationTypeForOffering(omObservation, request)) {
181-
String observationType = checkForObservationTypeForStreaming(omObservation, request);
182182
while (((StreamingValue<?>) omObservation.getValue()).hasNext()) {
183183
OmObservation observation = ((StreamingValue<?>) omObservation.getValue()).next();
184-
if (InspireOMSOConstants.OBS_TYPE_PROFILE_OBSERVATION.equals(observationType)) {
185-
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_PROFILE_OBSERVATION,
186-
convertToProfileObservations(observation));
187-
} else if (InspireOMSOConstants.OBS_TYPE_TRAJECTORY_OBSERVATION.equals(observationType)) {
188-
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_TRAJECTORY_OBSERVATION,
189-
convertToTrajectoryObservations(observation));
190-
} else if (InspireOMSOConstants.OBS_TYPE_MULTI_POINT_OBSERVATION.equals(observationType)) {
191-
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_MULTI_POINT_OBSERVATION,
192-
convertToMultiPointObservations(observation));
193-
} else if (InspireOMSOConstants.OBS_TYPE_POINT_TIME_SERIES_OBSERVATION
194-
.equals(observationType)) {
195-
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_POINT_TIME_SERIES_OBSERVATION,
196-
convertToPointTimeSeriesObservations(observation));
197-
} else if (InspireOMSOConstants.OBS_TYPE_POINT_OBSERVATION.equals(observationType)) {
198-
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_POINT_OBSERVATION,
199-
convertToPointObservations(observation));
200-
}
184+
checkAndPutOrAdd(observation, map, observationType);
201185
}
202186
}
187+
} else {
188+
checkAndPutOrAdd(omObservation, map, observationType);
203189
}
204190
}
205191
response.setObservationCollection(mergeObservations(map));
206192
}
207193

194+
private void checkAndPutOrAdd(OmObservation observation, Map<String, List<OmObservation>> map,
195+
String observationType) throws CodedException {
196+
if (InspireOMSOConstants.OBS_TYPE_PROFILE_OBSERVATION.equals(observationType)) {
197+
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_PROFILE_OBSERVATION,
198+
convertToProfileObservations(observation));
199+
} else if (InspireOMSOConstants.OBS_TYPE_TRAJECTORY_OBSERVATION.equals(observationType)) {
200+
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_TRAJECTORY_OBSERVATION,
201+
convertToTrajectoryObservations(observation));
202+
} else if (InspireOMSOConstants.OBS_TYPE_MULTI_POINT_OBSERVATION.equals(observationType)) {
203+
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_MULTI_POINT_OBSERVATION,
204+
convertToMultiPointObservations(observation));
205+
} else if (InspireOMSOConstants.OBS_TYPE_POINT_TIME_SERIES_OBSERVATION.equals(observationType)) {
206+
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_POINT_TIME_SERIES_OBSERVATION,
207+
convertToPointTimeSeriesObservations(observation));
208+
} else if (InspireOMSOConstants.OBS_TYPE_POINT_OBSERVATION.equals(observationType)) {
209+
putOrAdd(map, InspireOMSOConstants.OBS_TYPE_POINT_OBSERVATION, convertToPointObservations(observation));
210+
}
211+
}
212+
208213
/**
209214
* Merge the observations depending on their observationType
210215
*

0 commit comments

Comments
 (0)