<li><!-- JAL-2373 -->Percentage identity and conservation menu items do not show a tick or allow shading to be disabled</li>
<li><!-- JAL-2385 -->Conservation shading or PID threshold lost when base colourscheme changed if slider not visible</li>
<li><!-- JAL-2547 -->Sequence features shown in tooltip for gaps before start of features</li>
+ <li><!-- JAL-2576 -->Very large alignments take a long time to load</li>
+ <li><!-- JAL-2590 -->Cannot load Newick trees from eggnog ortholog database</li>
</ul>
<em>Application</em>
<ul>
g.fillRect(xend - 2, ypos - 2, 4, 4);
}
- int ystart = (int) (((SequenceNode) node.left()).ycount * chunk)
- + offy;
- int yend = (int) (((SequenceNode) node.right()).ycount * chunk)
+ int ystart = (int) (node.left() == null ? 0 : (((SequenceNode) node
+ .left()).ycount * chunk))
+ offy;
+ int yend = (int) (node.right() == null ? 0 : (((SequenceNode) node
+ .right()).ycount * chunk)) + offy;
Rectangle pos = new Rectangle(xend - 2, ypos - 2, 5, 5);
nodeHash.put(node, pos);
currentSeq = currentSeq.createDatasetSequence();
}
}
- if (seqs.contains(currentSeq))
- {
- return;
- }
+
List<SequenceI> toProcess = new ArrayList<>();
toProcess.add(currentSeq);
while (toProcess.size() > 0)
{
// use a queue ?
SequenceI curDs = toProcess.remove(0);
- if (seqs.contains(curDs))
+
+ if (!seqs.add(curDs))
{
continue;
}
- seqs.add(curDs);
// iterate over database references, making sure we add forward referenced
// sequences
if (curDs.getDBRefs() != null)
g.fillRect(xend - 2, ypos - 2, 4, 4);
}
- int ystart = (int) (((SequenceNode) node.left()).ycount * chunk)
- + offy;
- int yend = (int) (((SequenceNode) node.right()).ycount * chunk)
+ int ystart = (node.left() == null ? 0 : (int) (((SequenceNode) node
+ .left()).ycount * chunk)) + offy;
+ int yend = (node.right() == null ? 0 : (int) (((SequenceNode) node
+ .right()).ycount * chunk))
+ offy;
Rectangle pos = new Rectangle(xend - 2, ypos - 2, 5, 5);
*/
public class LinkedIdentityHashSet<E> extends AbstractSet<E>
{
- LinkedHashMap<IdentityWrapper, IdentityWrapper> set = new LinkedHashMap<IdentityWrapper, IdentityWrapper>();
+ LinkedHashMap<IdentityWrapper, IdentityWrapper> set = new LinkedHashMap<>();
static class IdentityWrapper
{
@Override
public boolean equals(Object obj)
{
- return this.obj == obj;
+ return this.obj == ((IdentityWrapper) obj).obj;
}
@Override