Avoids NPE if no station provided by API (#15832)
Signed-off-by: clinique <gael@lhopital.org>
This commit is contained in:
parent
740f80fff1
commit
15a673a027
|
@ -34,6 +34,7 @@ import org.openhab.binding.vigicrues.internal.StationConfiguration;
|
||||||
import org.openhab.binding.vigicrues.internal.api.ApiHandler;
|
import org.openhab.binding.vigicrues.internal.api.ApiHandler;
|
||||||
import org.openhab.binding.vigicrues.internal.api.VigiCruesException;
|
import org.openhab.binding.vigicrues.internal.api.VigiCruesException;
|
||||||
import org.openhab.binding.vigicrues.internal.dto.hubeau.HubEauResponse;
|
import org.openhab.binding.vigicrues.internal.dto.hubeau.HubEauResponse;
|
||||||
|
import org.openhab.binding.vigicrues.internal.dto.hubeau.HubEauResponse.StationData;
|
||||||
import org.openhab.binding.vigicrues.internal.dto.opendatasoft.OpenDatasoftResponse;
|
import org.openhab.binding.vigicrues.internal.dto.opendatasoft.OpenDatasoftResponse;
|
||||||
import org.openhab.binding.vigicrues.internal.dto.vigicrues.CdStationHydro;
|
import org.openhab.binding.vigicrues.internal.dto.vigicrues.CdStationHydro;
|
||||||
import org.openhab.binding.vigicrues.internal.dto.vigicrues.InfoVigiCru;
|
import org.openhab.binding.vigicrues.internal.dto.vigicrues.InfoVigiCru;
|
||||||
|
@ -129,6 +130,8 @@ public class VigiCruesHandler extends BaseThingHandler {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
HubEauResponse stationDetails = apiHandler.discoverStations(config.id);
|
HubEauResponse stationDetails = apiHandler.discoverStations(config.id);
|
||||||
|
List<StationData> stations = stationDetails.stations;
|
||||||
|
if (stations != null && stations.size() > 0) {
|
||||||
stationDetails.stations.stream().findFirst().ifPresent(station -> {
|
stationDetails.stations.stream().findFirst().ifPresent(station -> {
|
||||||
PointType stationLocation = new PointType(
|
PointType stationLocation = new PointType(
|
||||||
String.format(Locale.US, "%f,%f", station.latitudeStation, station.longitudeStation));
|
String.format(Locale.US, "%f,%f", station.latitudeStation, station.longitudeStation));
|
||||||
|
@ -140,6 +143,9 @@ public class VigiCruesHandler extends BaseThingHandler {
|
||||||
}
|
}
|
||||||
properties.put(RIVER, station.libelleCoursEau);
|
properties.put(RIVER, station.libelleCoursEau);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
throw new VigiCruesException("No stations provided");
|
||||||
|
}
|
||||||
} catch (VigiCruesException e) {
|
} catch (VigiCruesException e) {
|
||||||
logger.info("Unable to retrieve station location details {} : {}", config.id, e.getMessage());
|
logger.info("Unable to retrieve station location details {} : {}", config.id, e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue