X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FSequenceAnnotationReport.java;h=95bd1cc2ca4008a1cfe4248467e7628ff5ab5429;hb=14380adc384f8a1c96f71ef2ea26607cdac22a14;hp=c5bc9027513d918e0cffc4567f743823df9d9f27;hpb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;p=jalview.git diff --git a/src/jalview/io/SequenceAnnotationReport.java b/src/jalview/io/SequenceAnnotationReport.java index c5bc902..95bd1cc 100644 --- a/src/jalview/io/SequenceAnnotationReport.java +++ b/src/jalview/io/SequenceAnnotationReport.java @@ -20,12 +20,12 @@ */ package jalview.io; -import java.util.Locale; - +import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import jalview.api.FeatureColourI; @@ -493,6 +493,7 @@ public class SequenceAnnotationReport sb.append(tmp); maxWidth = Math.max(maxWidth, tmp.length()); } + sb.append("\n"); SequenceI ds = sequence; while (ds.getDatasetSequence() != null) { @@ -503,6 +504,7 @@ public class SequenceAnnotationReport { maxWidth = Math.max(maxWidth, appendDbRefs(sb, ds, summary)); } + sb.append("\n"); /* * add non-positional features if wanted @@ -534,12 +536,19 @@ public class SequenceAnnotationReport protected int appendDbRefs(final StringBuilder sb, SequenceI ds, boolean summary) { - List dbrefs = ds.getDBRefs(); - if (dbrefs == null) + List dbrefs, dbrefset = ds.getDBRefs(); + + if (dbrefset == null) { return 0; } + // PATCH for JAL-3980 defensive copy + + dbrefs = new ArrayList(); + + dbrefs.addAll(dbrefset); + // note this sorts the refs held on the sequence! dbrefs.sort(comparator); boolean ellipsis = false; @@ -576,7 +585,7 @@ public class SequenceAnnotationReport countForSource++; if (countForSource == 1 || !summary) { - sb.append("
"); + sb.append("
\n"); } if (countForSource <= MAX_REFS_PER_SOURCE || !summary) { @@ -584,7 +593,7 @@ public class SequenceAnnotationReport lineLength += accessionId.length() + 1; if (countForSource > 1 && summary) { - sb.append(", ").append(accessionId); + sb.append(",\n ").append(accessionId); lineLength++; } else @@ -602,11 +611,11 @@ public class SequenceAnnotationReport } if (moreSources) { - sb.append("
").append(source).append(COMMA).append(ELLIPSIS); + sb.append("
\n").append(source).append(COMMA).append(ELLIPSIS); } if (ellipsis) { - sb.append("
("); + sb.append("
\n("); sb.append(MessageManager.getString("label.output_seq_details")); sb.append(")"); }