Uploaded image for project: 'Jalview'
  1. Jalview
  2. JAL-3980

sequence ID tooltip not showing during long running retrieval/crossref operations

    XMLWordPrintable

    Details

      Description

      When retrieving crossreferences for ENA entries with many database crossrefs, moving the mouse over the sequence ID panel can trigger an exception:

      Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
      at java.base/java.util.ArrayList.sort(ArrayList.java:1752)
      at jalview.io.SequenceAnnotationReport.appendDbRefs(SequenceAnnotationReport.java:548)
      at jalview.io.SequenceAnnotationReport.createSequenceAnnotationReport(SequenceAnnotationReport.java:510)
      at jalview.io.SequenceAnnotationReport.createTooltipAnnotationReport(SequenceAnnotationReport.java:630)
      at jalview.gui.IdPanel.mouseMoved(IdPanel.java:130)


      It turns out that the SequenceAnnotationReport code applies an in place sort to the list of database references - causing the exception.

      Solution 0: defensive copy prior to sorting for display.
      Solution 1: maintain the dbrefs as a sorted list ?
      Solution 2: store references indexed by provider, each sorted by accession.

      See JAL-3979 for other optimisations

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jprocter James Procter
              Reporter:
              jprocter James Procter
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: