diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AutopsyTreeChildFactory.java b/Core/src/org/sleuthkit/autopsy/datamodel/AutopsyTreeChildFactory.java index 5af1d5c085..69e3787e99 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AutopsyTreeChildFactory.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AutopsyTreeChildFactory.java @@ -22,6 +22,8 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.EnumSet; import java.util.List; import java.util.Objects; @@ -31,7 +33,6 @@ import org.openide.nodes.Node; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.CasePreferences; import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException; -import org.sleuthkit.autopsy.core.UserPreferences; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.DataSource; import org.sleuthkit.datamodel.SleuthkitCase; @@ -87,6 +88,16 @@ public final class AutopsyTreeChildFactory extends ChildFactory.Detachable dataSources = tskCase.getDataSources(); + + Collections.sort(dataSources, new Comparator() { + @Override + public int compare(DataSource dataS1, DataSource dataS2) { + String dataS1Name = dataS1.getName().toLowerCase(); + String dataS2Name = dataS2.getName().toLowerCase(); + return dataS1Name.compareTo(dataS2Name); + } + }); + List keys = new ArrayList<>(); dataSources.forEach((datasource) -> { keys.add(new DataSourceGrouping(datasource)); @@ -140,4 +151,4 @@ public final class AutopsyTreeChildFactory extends ChildFactory.Detachable(Arrays.asList(content)); } + + Collections.sort(currentKeys, new Comparator() { + @Override + public int compare(Content content1, Content content2) { + String content1Name = content1.getName().toLowerCase(); + String content2Name = content2.getName().toLowerCase(); + return content1Name.compareTo(content2Name); + } + + }); + setKeys(currentKeys); } catch (TskCoreException | NoCurrentCaseException | TskDataException ex) { logger.log(Level.SEVERE, "Error getting data sources: {0}", ex.getMessage()); // NON-NLS @@ -165,4 +177,4 @@ public class DataSourcesNode extends DisplayableItemNode { NAME)); return sheet; } -} +} \ No newline at end of file