JAL-1775 patch regression bug when displayChar is null and secondaryStructure contain...
authorJim Procter <jprocter@issues.jalview.org>
Mon, 15 Jun 2015 16:06:51 +0000 (17:06 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Mon, 15 Jun 2015 16:06:51 +0000 (17:06 +0100)
src/jalview/datamodel/AlignmentAnnotation.java

index a7e635f..52779f7 100755 (executable)
@@ -502,9 +502,13 @@ public class AlignmentAnnotation
     public char charAt(int index)
     {
       return ((index + offset < 0) || (index + offset) >= max
-              || annotations[index + offset] == null || (annotations[index
- + offset].secondaryStructure <= ' ') ? ' '
-              : annotations[index + offset].displayCharacter.charAt(0));
+              || annotations[index + offset] == null
+              || (annotations[index + offset].secondaryStructure <= ' ') ? ' '
+              : annotations[index + offset].displayCharacter == null
+                      || annotations[index + offset].displayCharacter
+                              .length() == 0 ? annotations[index + offset].secondaryStructure
+                      : annotations[index + offset].displayCharacter
+                              .charAt(0));
     }
 
     @Override
@@ -516,7 +520,9 @@ public class AlignmentAnnotation
       for (int i = offset; i < mx; i++)
       {
         string[i] = (annotations[i] == null || (annotations[i].secondaryStructure <= 32)) ? ' '
-                : annotations[i].displayCharacter.charAt(0);
+                : (annotations[i].displayCharacter == null
+                        || annotations[i].displayCharacter.length() == 0 ? annotations[i].secondaryStructure
+                        : annotations[i].displayCharacter.charAt(0));
       }
       return new String(string);
     }