import jalview.datamodel.SequenceFeature;
import jalview.io.gff.SequenceOntologyFactory;
import jalview.io.gff.SequenceOntologyI;
+import jalview.util.Platform;
import java.util.ArrayList;
import java.util.Arrays;
public Set<String> getFeatureGroups(boolean positionalFeatures,
String... type)
{
- Set<String> groups = new HashSet<>();
+ // BH 2020.03.21 This is the set that orders the list of groups
+ // at the top of the FeatureSettings panel.
+ Set<String> groups = Platform.getJavaOrderedHashSet();
for (FeatureStore featureSet : varargToTypes(type))
{
public Set<String> getFeatureTypesForGroups(boolean positionalFeatures,
String... groups)
{
- Set<String> result = new HashSet<>();
+ // BH 2020.03.21 This set is the one that sets the initial ordering for
+ // feature rendering. We set it to new HashSet<>(16,0.75) to force it to
+ // be backed by a Java hash-ordered HashMap instead of a JavaScript Map.
+ Set<String> result = Platform.getJavaOrderedHashSet();
for (Entry<String, FeatureStore> featureType : featureStore.entrySet())
{
@Override
public Set<String> getFeatureTypes(String... soTerm)
{
- Set<String> types = new HashSet<>();
+ Set<String> types = new HashSet<>(15, 0.75f);
for (Entry<String, FeatureStore> entry : featureStore.entrySet())
{
String type = entry.getKey();