Merge branch 'bug/JAL-1583_MSA_webservice_validation' into develop
[jalview.git] / src / jalview / gui / Jalview2XML.java
index a19e1db..158ae50 100644 (file)
@@ -1145,7 +1145,7 @@ public class Jalview2XML
       view.setFollowHighlight(av.followHighlight);
       view.setFollowSelection(av.followSelection);
       view.setIgnoreGapsinConsensus(av.getIgnoreGapsConsensus());
-      if (av.featuresDisplayed != null)
+      if (av.getFeaturesDisplayed() != null)
       {
         jalview.schemabinding.version2.FeatureSettings fs = new jalview.schemabinding.version2.FeatureSettings();
 
@@ -1180,7 +1180,7 @@ public class Jalview2XML
                       .getColour(renderOrder[ro]).getRGB());
             }
 
-            setting.setDisplay(av.featuresDisplayed
+            setting.setDisplay(av.getFeaturesDisplayed()
                     .containsKey(renderOrder[ro]));
             float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer()
                     .getOrder(renderOrder[ro]);
@@ -1419,7 +1419,16 @@ public class Jalview2XML
         calcIdSet.add(aa[i].getCalcId());
         an.setCalcId(aa[i].getCalcId());
       }
-
+      if (aa[i].hasProperties())
+      {
+        for (String pr : aa[i].getProperties())
+        {
+          Property prop = new Property();
+          prop.setName(pr);
+          prop.setValue(aa[i].getProperty(pr));
+          an.addProperty(prop);
+        }
+      }
       AnnotationElement ae;
       if (aa[i].annotations != null)
       {
@@ -2367,7 +2376,9 @@ public class Jalview2XML
                 entry.setFile(pdbloaded.get(ids[p].getId()).toString());
               }
             }
-
+            StructureSelectionManager.getStructureSelectionManager(
+                    Desktop.instance)
+                    .registerPDBEntry(entry);
             al.getSequenceAt(i).getDatasetSequence().addPDBId(entry);
           }
         }
@@ -2629,6 +2640,14 @@ public class Jalview2XML
           jaa.belowAlignment = an[i].isBelowAlignment();
         }
         jaa.setCalcId(an[i].getCalcId());
+        if (an[i].getPropertyCount() > 0)
+        {
+          for (jalview.schemabinding.version2.Property prop : an[i]
+                  .getProperty())
+          {
+            jaa.setProperty(prop.getName(), prop.getValue());
+          }
+        }
         if (jaa.autoCalculated)
         {
           autoAlan.add(new JvAnnotRow(i, jaa));
@@ -3585,7 +3604,7 @@ public class Jalview2XML
     // recover featre settings
     if (jms.getFeatureSettings() != null)
     {
-      af.viewport.featuresDisplayed = new Hashtable();
+      af.viewport.setFeaturesDisplayed(new Hashtable());
       String[] renderOrder = new String[jms.getFeatureSettings()
               .getSettingCount()];
       for (int fs = 0; fs < jms.getFeatureSettings().getSettingCount(); fs++)
@@ -3637,7 +3656,7 @@ public class Jalview2XML
         }
         if (setting.getDisplay())
         {
-          af.viewport.featuresDisplayed.put(setting.getType(), new Integer(
+          af.viewport.getFeaturesDisplayed().put(setting.getType(), new Integer(
                   setting.getColour()));
         }
       }