JAL-3201 restore group colours correctly from project
[jalview.git] / src / jalview / project / Jalview2XML.java
index 9f796f2..518d271 100644 (file)
@@ -1822,12 +1822,10 @@ public class Jalview2XML
   {
     int rows = mData.getRows();
     double[][] vals = new double[rows][];
-    List<Double> dVector;
-    double[] vec;
 
     for (int i = 0; i < rows; i++)
     {
-      dVector = mData.getRow().get(i).getV();
+      List<Double> dVector = mData.getRow().get(i).getV();
       vals[i] = new double[dVector.size()];
       int dvi = 0;
       for (Double d : dVector)
@@ -1840,8 +1838,8 @@ public class Jalview2XML
 
     if (mData.getD() != null)
     {
-      dVector = mData.getD().getV();
-      vec = new double[dVector.size()];
+      List<Double> dVector = mData.getD().getV();
+      double[] vec = new double[dVector.size()];
       int dvi = 0;
       for (Double d : dVector)
       {
@@ -1851,8 +1849,8 @@ public class Jalview2XML
     }
     if (mData.getE() != null)
     {
-      dVector = mData.getE().getV();
-      vec = new double[dVector.size()];
+      List<Double> dVector = mData.getE().getV();
+      double[] vec = new double[dVector.size()];
       int dvi = 0;
       for (Double d : dVector)
       {
@@ -4973,21 +4971,22 @@ public class Jalview2XML
       }
     }
 
+    /*
+     * turn off 'alignment colour applies to all groups'
+     * while restoring global colour scheme
+     */
+    viewport.setColourAppliesToAllGroups(false);
     viewport.setGlobalColourScheme(cs);
     viewport.getResidueShading().setThreshold(pidThreshold,
             view.isIgnoreGapsinConsensus());
     viewport.getResidueShading()
             .setConsensus(viewport.getSequenceConsensusHash());
-    viewport.setColourAppliesToAllGroups(false);
-
     if (safeBoolean(view.isConservationSelected()) && cs != null)
     {
       viewport.getResidueShading()
               .setConservationInc(safeInt(view.getConsThreshold()));
     }
-
     af.changeColour(cs);
-
     viewport.setColourAppliesToAllGroups(true);
 
     viewport
@@ -5831,15 +5830,16 @@ public class Jalview2XML
     jalview.datamodel.Mapping jmap = new jalview.datamodel.Mapping(dsto, fr,
             fto, m.getMapFromUnit().intValue(),
             m.getMapToUnit().intValue());
-    // if (m.getMappingChoice() != null)
-    // {
-    // MappingChoice mc = m.getMappingChoice();
+
+    /*
+     * (optional) choice of dseqFor or Sequence
+     */
     if (m.getDseqFor() != null)
     {
       String dsfor = m.getDseqFor();
       if (seqRefIds.containsKey(dsfor))
       {
-        /**
+        /*
          * recover from hash
          */
         jmap.setTo(seqRefIds.get(dsfor));
@@ -5849,9 +5849,9 @@ public class Jalview2XML
         frefedSequence.add(newMappingRef(dsfor, jmap));
       }
     }
-    else
+    else if (m.getSequence() != null)
     {
-      /**
+      /*
        * local sequence definition
        */
       Sequence ms = m.getSequence();