JAL-2805 getNodeSequences returns a list now instead of array (size
authorkjvdheide <kjvanderheide@dundee.ac.uk>
Tue, 9 Jan 2018 17:14:11 +0000 (17:14 +0000)
committerkjvdheide <kjvanderheide@dundee.ac.uk>
Tue, 9 Jan 2018 17:14:11 +0000 (17:14 +0000)
isn't certain beforehand)

src/jalview/ext/archaeopteryx/Tree.java
src/jalview/ext/forester/io/NexusFile.java
src/jalview/ext/forester/io/PhyloXmlFile.java
src/jalview/ext/treeviewer/TreeI.java

index d0133a1..e5a2016 100644 (file)
@@ -5,7 +5,9 @@ import jalview.ext.treeviewer.TreeFrameI;
 import jalview.ext.treeviewer.TreeI;
 import jalview.ext.treeviewer.TreeNodeI;
 
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import org.forester.archaeopteryx.Archaeopteryx;
 import org.forester.phylogeny.Phylogeny;
@@ -153,9 +155,9 @@ public class Tree implements TreeI
   }
 
   @Override
-  public SequenceI[] getNodeSequences()
+  public List<SequenceI> getNodeSequences()
   {
-    SequenceI[] treeSeqs = new SequenceI[tree.getNodeCount()];
+    List<SequenceI> treeSeqs = new ArrayList<>();
     Iterator<TreeNodeI> iter = iterateInPreOrder();
     int i = 0;
     while (iter.hasNext())
@@ -164,7 +166,7 @@ public class Tree implements TreeI
       SequenceI nodeSeq = iter.next().getSequence();
       if (nodeSeq != null)
       {
-        treeSeqs[i++] = nodeSeq;
+        treeSeqs.add(nodeSeq);
       }
     }
     return treeSeqs;
index 2db46cc..51f3bc3 100644 (file)
@@ -8,6 +8,7 @@ import jalview.io.FileParse;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.List;
 
 public class NexusFile extends AlignFile
 {
@@ -30,12 +31,13 @@ public class NexusFile extends AlignFile
     TreeParserI parser = ForesterParser
             .createNexusParser(new File(getDataName()));
     TreeI[] trees = parser.parse();
-    for (TreeI tree : trees) {
-      for (SequenceI seq : tree.getNodeSequences()) {
+    List<SequenceI> treeSeqs = trees[0].getNodeSequences();
+    for (SequenceI seq : treeSeqs)
+    {
         seqs.add(seq);
       }
     }
 
   }
 
-}
+
index e64845c..3cb3223 100644 (file)
@@ -8,6 +8,7 @@ import jalview.io.FileParse;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.List;
 
 public class PhyloXmlFile extends AlignFile
 {
@@ -30,7 +31,8 @@ public class PhyloXmlFile extends AlignFile
     TreeParserI parser = ForesterParser
             .createPhyloXmlParser(new File(getDataName()));
     TreeI[] trees = parser.parse();
-    for (SequenceI seq : trees[0].getNodeSequences())
+    List<SequenceI> treeSeqs = trees[0].getNodeSequences();
+    for (SequenceI seq : treeSeqs)
       {
         seqs.add(seq);
       }
index 9bc20da..335b196 100644 (file)
@@ -3,6 +3,7 @@ package jalview.ext.treeviewer;
 import jalview.datamodel.SequenceI;
 
 import java.util.Iterator;
+import java.util.List;
 
 public interface TreeI
 {
@@ -16,7 +17,7 @@ public interface TreeI
 
   public String[] getAllLeafNames();
 
-  public SequenceI[] getNodeSequences();
+  public List<SequenceI> getNodeSequences();
 
   public void setTreeName(String treeTitle);