From 263c374790d3f55ff6ca976f24c8f052d70a97db Mon Sep 17 00:00:00 2001 From: Patrick Tasse Date: Wed, 3 Feb 2016 14:04:32 -0500 Subject: [PATCH] lttng: Bug 487163: Resources view traces are unsorted When an experiment is opened, its traces are now sorted alphabetically. Change-Id: Idae538a53182d661d066f82b676a8b3a14442c2b Signed-off-by: Patrick Tasse Reviewed-on: https://git.eclipse.org/r/65836 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam Tested-by: Matthew Khouzam --- .../ui/views/resources/ResourcesView.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesView.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesView.java index 1801fcf5f1..7e0acd49a4 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesView.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/analysis/os/linux/ui/views/resources/ResourcesView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2015 Ericsson, École Polytechnique de Montréal + * Copyright (c) 2012, 2016 Ericsson, École Polytechnique de Montréal * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which @@ -67,6 +67,21 @@ public class ResourcesView extends AbstractStateSystemTimeGraphView { super(ID, new ResourcesPresentationProvider()); setFilterColumns(FILTER_COLUMN_NAMES); setFilterLabelProvider(new ResourcesFilterLabelProvider()); + setEntryComparator(new ResourcesEntryComparator()); + } + + private static class ResourcesEntryComparator implements Comparator { + @Override + public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) { + ResourcesEntry entry1 = (ResourcesEntry) o1; + ResourcesEntry entry2 = (ResourcesEntry) o2; + if (entry1.getType() == Type.NULL && entry2.getType() == Type.NULL) { + /* sort trace entries alphabetically */ + return entry1.getName().compareTo(entry2.getName()); + } + /* sort resource entries by their defined order */ + return entry1.compareTo(entry2); + } } private static class ResourcesFilterLabelProvider extends TreeLabelProvider { @@ -111,12 +126,6 @@ public class ResourcesView extends AbstractStateSystemTimeGraphView { if (ssq == null) { return; } - Comparator comparator = new Comparator() { - @Override - public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) { - return ((ResourcesEntry) o1).compareTo(o2); - } - }; Map entryMap = new HashMap<>(); TimeGraphEntry traceEntry = null; @@ -142,7 +151,6 @@ public class ResourcesView extends AbstractStateSystemTimeGraphView { if (traceEntry == null) { traceEntry = new ResourcesEntry(trace, trace.getName(), startTime, endTime, 0); - traceEntry.sortChildren(comparator); List entryList = Collections.singletonList(traceEntry); addToEntryList(parentTrace, ssq, entryList); } else { -- 2.34.1