|
6 | 6 | package edu.ie3.datamodel.io.processor; |
7 | 7 |
|
8 | 8 | import edu.ie3.datamodel.exceptions.EntityProcessorException; |
| 9 | +import edu.ie3.datamodel.exceptions.FailureException; |
9 | 10 | import edu.ie3.datamodel.exceptions.ProcessorProviderException; |
10 | 11 | import edu.ie3.datamodel.io.processor.input.InputEntityProcessor; |
11 | 12 | import edu.ie3.datamodel.io.processor.result.ResultEntityProcessor; |
|
19 | 20 | import edu.ie3.datamodel.models.value.Value; |
20 | 21 | import edu.ie3.datamodel.utils.Try; |
21 | 22 | import java.util.*; |
| 23 | +import java.util.function.Function; |
22 | 24 | import java.util.stream.Collectors; |
23 | 25 |
|
24 | 26 | /** |
@@ -275,21 +277,26 @@ public static Collection<EntityProcessor<? extends UniqueEntity>> allResultEntit |
275 | 277 | TimeSeriesProcessorKey, |
276 | 278 | TimeSeriesProcessor< |
277 | 279 | TimeSeries<TimeSeriesEntry<Value>, Value>, TimeSeriesEntry<Value>, Value>> |
278 | | - allTimeSeriesProcessors() { |
279 | | - return TimeSeriesProcessor.eligibleKeys.stream() |
280 | | - .collect( |
281 | | - Collectors.toMap( |
282 | | - key -> key, |
283 | | - key -> { |
284 | | - try { |
285 | | - return new TimeSeriesProcessor<>( |
286 | | - (Class<TimeSeries<TimeSeriesEntry<Value>, Value>>) key.getTimeSeriesClass(), |
287 | | - (Class<TimeSeriesEntry<Value>>) key.getEntryClass(), |
288 | | - (Class<Value>) key.getValueClass()); |
289 | | - } catch (EntityProcessorException e) { |
290 | | - throw new RuntimeException(e); |
291 | | - } |
292 | | - })); |
| 280 | + allTimeSeriesProcessors() throws EntityProcessorException { |
| 281 | + try { |
| 282 | + return Try.scanStream( |
| 283 | + TimeSeriesProcessor.eligibleKeys.stream() |
| 284 | + .map( |
| 285 | + key -> |
| 286 | + Try.of( |
| 287 | + () -> |
| 288 | + new TimeSeriesProcessor<>( |
| 289 | + (Class<TimeSeries<TimeSeriesEntry<Value>, Value>>) |
| 290 | + key.getTimeSeriesClass(), |
| 291 | + (Class<TimeSeriesEntry<Value>>) key.getEntryClass(), |
| 292 | + (Class<Value>) key.getValueClass()), |
| 293 | + EntityProcessorException.class)), |
| 294 | + "list of processors") |
| 295 | + .getOrThrow() |
| 296 | + .collect(Collectors.toMap(TimeSeriesProcessor::getRegisteredKey, Function.identity())); |
| 297 | + } catch (FailureException e) { |
| 298 | + throw new EntityProcessorException(e.getCause()); |
| 299 | + } |
293 | 300 | } |
294 | 301 |
|
295 | 302 | @SuppressWarnings("unchecked cast") |
|
0 commit comments