X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=analysis%2Forg.eclipse.tracecompass.analysis.lami.core%2Fsrc%2Forg%2Feclipse%2Ftracecompass%2Finternal%2Fprovisional%2Fanalysis%2Flami%2Fcore%2Faspect%2FLamiTimeRangeDurationAspect.java;h=f70448eb6b1099f08e0ea7dcd6423f35ba86a323;hb=5b973e7c65f168e79139fdc0045dda56ff71f650;hp=6b1fe35c32eec15d88a4ef009cc7b1be4355190b;hpb=d1b0903fe92fabef842f26e50cf12062d398c28c;p=deliverable%2Ftracecompass.git diff --git a/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiTimeRangeDurationAspect.java b/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiTimeRangeDurationAspect.java index 6b1fe35c32..f70448eb6b 100644 --- a/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiTimeRangeDurationAspect.java +++ b/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiTimeRangeDurationAspect.java @@ -65,11 +65,11 @@ public class LamiTimeRangeDurationAspect extends LamiTableEntryAspect { } @Override - public @Nullable Double resolveDouble(@NonNull LamiTableEntry entry) { + public @Nullable Number resolveNumber(@NonNull LamiTableEntry entry) { LamiData data = entry.getValue(fColIndex); if (data instanceof LamiTimeRange) { LamiTimeRange range = (LamiTimeRange) data; - return Double.valueOf(range.getDuration()); + return Long.valueOf(range.getDuration()); } return null; } @@ -77,13 +77,21 @@ public class LamiTimeRangeDurationAspect extends LamiTableEntryAspect { @Override public Comparator getComparator() { return (o1, o2) -> { - Double dO1 = resolveDouble(o1); - Double dO2 = resolveDouble(o2); - if (dO1 == null || dO2 == null) { + Number d1 = resolveNumber(o1); + Number d2 = resolveNumber(o2); + + if (d1 == null && d2 == null) { return 0; } + if (d1 == null) { + return 1; + } + + if (d2 == null) { + return -1; + } - return dO1.compareTo(dO2); + return Long.compare(d1.longValue(), d2.longValue()); }; }