From 77924f33d569a50bf5229b5ecc6504dbe823a9fa Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Sun, 23 Nov 2014 16:29:58 +0000 Subject: [PATCH] JAL-1569 preserve input ordering for stockholm files (Hashtable implementation changed possibly ?) --- src/jalview/io/StockholmFile.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/jalview/io/StockholmFile.java b/src/jalview/io/StockholmFile.java index 7ca07c8..c546930 100644 --- a/src/jalview/io/StockholmFile.java +++ b/src/jalview/io/StockholmFile.java @@ -40,7 +40,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.StringTokenizer; import java.util.Vector; @@ -185,7 +187,7 @@ public class StockholmFile extends AlignFile String version; // String id; Hashtable seqAnn = new Hashtable(); // Sequence related annotations - Hashtable seqs = new Hashtable(); + LinkedHashMap seqs = new LinkedHashMap(); Regex p, r, rend, s, x; // Temporary line for processing RNA annotation // String RNAannot = ""; @@ -257,12 +259,11 @@ public class StockholmFile extends AlignFile } } // logger.debug("Number of sequences: " + this.noSeqs); - Enumeration accs = seqs.keys(); - while (accs.hasMoreElements()) + for (Map.Entry skey : seqs.entrySet()) { - String acc = (String) accs.nextElement(); // logger.debug("Processing sequence " + acc); - String seq = (String) seqs.remove(acc); + String acc = skey.getKey(); + String seq = skey.getValue(); if (maxLength < seq.length()) { maxLength = seq.length(); -- 1.7.10.2