У меня есть следующий метод, который извлекает данные из внешней службы. Эти данные получены как dto, и мне нужно преобразовать их в объект сущности. Прямо сейчас, если есть проблема, генерируется ProviderNotReachableException, однако я хотел бы выдать другое исключение, когда есть ошибка в логике перевода, например, для исключения NumberFormat. Поскольку я новичок в rxjava, я хотел бы получить совет от старших разработчиков по этому вопросу.
Спасибо,
Jorge
@Override
public Observable<List<Itinerary>> itinerariesFromProvider(final FlightSpecification flightSpecification,
final String provider) {
final Map<String, Object> params = getQueryParams(flightSpecification);
return this.retrofitProviderService.itineraries(provider, params)
.concatMapIterable(itineraryDtoList -> itineraryDtoList)
.map(it -> {
logger.debug("Translating in thread: {}", Thread.currentThread().getName());
return itineraryTranslator.fromItineraryDtoToItinerary(it);
})
.toList()
.subscribeOn(Schedulers.io())
.doOnError(throwable -> new ProviderNotReachableException(format("For input string %s", provider), throwable))
.toObservable();
}