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%2FLamiDurationAspect.java;h=bfdf3261d9c5c65108ff201e124d627f7d012834;hb=5b973e7c65f168e79139fdc0045dda56ff71f650;hp=069b8f7b5e9c07b7a4fa00bbf7d5583fa3bf04d0;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/LamiDurationAspect.java b/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiDurationAspect.java index 069b8f7b5e..bfdf3261d9 100644 --- a/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiDurationAspect.java +++ b/analysis/org.eclipse.tracecompass.analysis.lami.core/src/org/eclipse/tracecompass/internal/provisional/analysis/lami/core/aspect/LamiDurationAspect.java @@ -65,11 +65,11 @@ public class LamiDurationAspect 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 LamiDuration) { LamiDuration range = (LamiDuration) data; - return Double.valueOf(range.getValue()); + return range.getValue(); } return null; } @@ -77,13 +77,21 @@ public class LamiDurationAspect extends LamiTableEntryAspect { @Override public @NonNull Comparator<@NonNull LamiTableEntry> 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()); }; }