JAL-1831 added changes to allow auto-generation of BioJSON schema from src code
[jalview.git] / src / jalview / io / JSONFile.java
index 89518e5..8c790cc 100644 (file)
@@ -37,13 +37,13 @@ import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
-import jalview.json.binding.v1.AlignmentAnnotationPojo;
-import jalview.json.binding.v1.AlignmentPojo;
-import jalview.json.binding.v1.AlignmentPojo.JalviewBioJsColorSchemeMapper;
-import jalview.json.binding.v1.AnnotationPojo;
-import jalview.json.binding.v1.SequenceFeaturesPojo;
-import jalview.json.binding.v1.SequenceGrpPojo;
-import jalview.json.binding.v1.SequencePojo;
+import jalview.json.binding.biojson.v1.AlignmentAnnotationPojo;
+import jalview.json.binding.biojson.v1.AlignmentPojo;
+import jalview.json.binding.biojson.v1.AnnotationPojo;
+import jalview.json.binding.biojson.v1.JalviewBioJsColorSchemeMapper;
+import jalview.json.binding.biojson.v1.SequenceFeaturesPojo;
+import jalview.json.binding.biojson.v1.SequenceGrpPojo;
+import jalview.json.binding.biojson.v1.SequencePojo;
 import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemeProperty;
 import jalview.viewmodel.seqfeatures.FeaturesDisplayed;
@@ -93,7 +93,6 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
 
   private ArrayList<SequenceI> hiddenSequences;
 
-
   public JSONFile()
   {
     super();
@@ -115,6 +114,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
     parse(getReader());
 
   }
+
   @Override
   public String print()
   {
@@ -188,15 +188,13 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
       if (hiddenSections != null)
       {
         if (hiddenSections[0] != null
-                && exportSettings
-                        .isExportHiddenColumns())
+                && exportSettings.isExportHiddenColumns())
         {
           jsonAlignmentPojo.getAppSettings().put("hiddenCols",
                   String.valueOf(hiddenSections[0]));
         }
         if (hiddenSections[1] != null
-                && exportSettings
-                        .isExportHiddenSequences())
+                && exportSettings.isExportHiddenSequences())
         {
           jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
                   String.valueOf(hiddenSections[1]));
@@ -215,8 +213,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
                 .setSeqFeatures(sequenceFeatureToJsonPojo(seqs, fr));
       }
 
-      if (exportSettings.isExportGroups()
-              && seqGroups != null
+      if (exportSettings.isExportGroups() && seqGroups != null
               && seqGroups.size() > 0)
       {
         for (SequenceGroup seqGrp : seqGroups)
@@ -305,8 +302,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   public List<SequenceFeaturesPojo> sequenceFeatureToJsonPojo(
           List<SequenceI> seqs, FeatureRenderer fr)
   {
-    displayedFeatures = (fr == null) ? null : fr
-            .getFeaturesDisplayed();
+    displayedFeatures = (fr == null) ? null : fr.getFeaturesDisplayed();
     List<SequenceFeaturesPojo> sequenceFeaturesPojo = new ArrayList<SequenceFeaturesPojo>();
     for (SequenceI seq : seqs)
     {
@@ -330,8 +326,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
                   String.valueOf(seq.hashCode()));
 
           String featureColour = (fr == null) ? null : jalview.util.Format
-                  .getHexString(fr
-                  .findFeatureColour(Color.white, seq,
+                  .getHexString(fr.findFeatureColour(Color.white, seq,
                           seq.findIndex(sf.getBegin())));
           jsonFeature.setXstart(seq.findIndex(sf.getBegin()) - 1);
           jsonFeature.setXend(seq.findIndex(sf.getEnd()));
@@ -473,8 +468,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
         }
         ColourSchemeI grpColourScheme = getJalviewColorScheme(colourScheme);
         SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName,
-                grpColourScheme,
-                displayBoxes, displayText, colourText, startRes, endRes);
+                grpColourScheme, displayBoxes, displayText, colourText,
+                startRes, endRes);
         seqGrp.setShowNonconserved(showNonconserved);
         seqGrp.setDescription(description);
         this.seqGroups.add(seqGrp);
@@ -503,9 +498,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
             String desc = annot.get("description") == null ? null : annot
                     .get("description").toString();
 
-            char ss = annot.get("secondaryStructure") == null ? ' '
-                    : annot.get("secondaryStructure").toString().charAt(0);
-            String displayChar = annot.get("displayCharacter").toString();
+            char ss = annot.get("secondaryStructure") == null ? ' ' : annot
+                    .get("secondaryStructure").toString().charAt(0);
+            String displayChar = annot.get("displayCharacter") == null ? ""
+                    : annot.get("displayCharacter").toString();
 
             annotations[count] = new Annotation(displayChar, desc, ss, val);
           }
@@ -529,9 +525,11 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   {
     hiddenSeqRefs = new ArrayList<String>();
     String hiddenSeqs = (String) jvSettingsJson.get("hiddenSeqs");
-    if(hiddenSeqs != null && !hiddenSeqs.isEmpty()){
+    if (hiddenSeqs != null && !hiddenSeqs.isEmpty())
+    {
       String[] seqRefs = hiddenSeqs.split(";");
-      for(String seqRef : seqRefs){
+      for (String seqRef : seqRefs)
+      {
         hiddenSeqRefs.add(seqRef);
       }
     }
@@ -540,10 +538,12 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   public void parseHiddenCols(JSONObject jvSettingsJson)
   {
     String hiddenCols = (String) jvSettingsJson.get("hiddenCols");
-    if(hiddenCols != null && !hiddenCols.isEmpty()){
+    if (hiddenCols != null && !hiddenCols.isEmpty())
+    {
       columnSelection = new ColumnSelection();
       String[] rangeStrings = hiddenCols.split(";");
-      for(String rangeString : rangeStrings){
+      for (String rangeString : rangeStrings)
+      {
         String[] range = rangeString.split("-");
         columnSelection.hideColumns(Integer.valueOf(range[0]),
                 Integer.valueOf(range[1]));
@@ -640,7 +640,6 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
     this.displayedFeatures = displayedFeatures;
   }
 
-
   public void configureForView(AlignmentViewPanel avpanel)
   {
     super.configureForView(avpanel);
@@ -704,8 +703,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   {
     if (hiddenSequences == null || hiddenSequences.isEmpty())
     {
-      return new SequenceI[]
-      {};
+      return new SequenceI[] {};
     }
     synchronized (hiddenSequences)
     {