IDataChartDescriptor<StubObject, ?> descriptor = fProvider.getDataDescriptor(StubChartProvider.LONG_DESCRIPTOR);
Predicate<@Nullable Number> predicate = d -> true;
NumericalConsumer consumer = new NumericalConsumer(INumericalResolver.class.cast(descriptor.getResolver()), predicate);
- StubObject obj = new StubObject("str", 1, 10L, 10.0);
+ StubObject obj = new StubObject("str", 1, 10L, 10.0);
assertTrue(consumer.test(obj));
consumer.accept(obj);
assertEquals(Long.valueOf(10L), consumer.getData().get(0));
obj = new StubObject("str", 1, null, 10.0);
assertTrue(consumer.test(obj));
+ consumer.accept(obj);
+ assertEquals(Long.valueOf(0L), consumer.getData().get(1));
}
}
package org.eclipse.tracecompass.internal.tmf.chart.core.consumer;
-import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Override
public void accept(Object obj) {
- Number number = checkNotNull(fResolver.getMapper().apply(obj));
+ Number number = fResolver.getMapper().apply(obj);
+
+ if (number == null) {
+ number = fResolver.getZeroValue();
+ }
/* Update the minimum value */
if (fResolver.getComparator().compare(number, fMin) < 0) {