JAL-1641 updated applet version
[jalview.git] / src / jalview / io / JSONFile.java
index dca59a3..8882f97 100644 (file)
@@ -164,12 +164,18 @@ public class JSONFile extends AlignFile
                 String.valueOf(showSeqFeatures));
 
         String[] hiddenSections = exportHiddenSections();
-        if (hiddenSections != null)
+        if (hiddenSections != null && getViewport().isIncludeHiddenRegion())
         {
-          jsonAlignmentPojo.getAppSettings().put("hiddenCols",
-                  String.valueOf(hiddenSections[0]));
-          jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
-                  String.valueOf(hiddenSections[1]));
+          if (hiddenSections[0] != null)
+          {
+            jsonAlignmentPojo.getAppSettings().put("hiddenCols",
+                    String.valueOf(hiddenSections[0]));
+          }
+          if (hiddenSections[1] != null)
+          {
+            jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
+                    String.valueOf(hiddenSections[1]));
+          }
         }
       }
 
@@ -250,13 +256,14 @@ public class JSONFile extends AlignFile
     // hidden rows/seqs business
     HiddenSequences hiddenSeqsObj = getViewport().getAlignment()
             .getHiddenSequences();
-    if (hiddenSeqsObj == null)
+    if (hiddenSeqsObj == null || hiddenSeqsObj.hiddenSequences == null)
     {
       return hiddenSections;
     }
 
     SequenceI[] hiddenSeqs = hiddenSeqsObj.hiddenSequences;
     System.out.print("Hidden Seqs : ");
+    // if(hiddenSeqs != null){
     StringBuilder hiddenSeqsBuilder = new StringBuilder();
     for (SequenceI hiddenSeq : hiddenSeqs)
     {
@@ -266,11 +273,13 @@ public class JSONFile extends AlignFile
       }
     }
     if (hiddenSeqsBuilder.length() > 0)
-    {
+      {
       hiddenSeqsBuilder.deleteCharAt(0);
-    }
+      }
     hiddenSections[1] = hiddenSeqsBuilder.toString();
     System.out.println(hiddenSections[1]);
+    // }
+
     return hiddenSections;
   }
 
@@ -286,6 +295,8 @@ public class JSONFile extends AlignFile
       SequenceFeature[] seqFeatures = (dataSetSequence == null) ? null
               : seq.getDatasetSequence().getSequenceFeatures();
 
+      seqFeatures = (seqFeatures == null) ? seq.getSequenceFeatures()
+              : seqFeatures;
       if (seqFeatures == null)
       {
         continue;
@@ -395,7 +406,7 @@ public class JSONFile extends AlignFile
         int end = Integer.valueOf(sequence.get("end").toString());
         Sequence seq = new Sequence(sequenceName, sequcenceString, start,
                 end);
-        if (hiddenSeqRefs.contains(seqUniqueId))
+        if (hiddenSeqRefs != null && hiddenSeqRefs.contains(seqUniqueId))
         {
           seq.setHidden(true);
         }