Merge branch 'patchJAL-674_offset' into develop
authorJim Procter <jprocter@dundee.ac.uk>
Thu, 27 Nov 2014 16:02:07 +0000 (16:02 +0000)
committerJim Procter <jprocter@dundee.ac.uk>
Thu, 27 Nov 2014 16:02:07 +0000 (16:02 +0000)
1  2 
src/jalview/gui/Jalview2XML.java

@@@ -498,7 -498,7 +498,7 @@@ public class Jalview2XM
      for (String dssids : dsses.keySet())
      {
        AlignFrame _af = dsses.get(dssids);
-       String jfileName = MessageManager.formatMessage("label.dataset_for", new String[]{fileName,_af.getTitle()});
+       String jfileName = fileName + " Dataset for " + _af.getTitle();
        if (!jfileName.endsWith(".xml"))
        {
          jfileName = jfileName + ".xml";
        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();
  
                        .getColour(renderOrder[ro]).getRGB());
              }
  
 -            setting.setDisplay(av.featuresDisplayed
 +            setting.setDisplay(av.getFeaturesDisplayed()
                      .containsKey(renderOrder[ro]));
              float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer()
                      .getOrder(renderOrder[ro]);
            }
  
            ae.setPosition(a);
-           if (aa[i].annotations[a].secondaryStructure != ' '
-                   && aa[i].annotations[a].secondaryStructure != '\0')
+           if (aa[i].annotations[a].secondaryStructure > ' ')
            {
              ae.setSecondaryStructure(aa[i].annotations[a].secondaryStructure
                      + "");
      }
      else
      {
-       recoverDatasetFor(vamsasSet, al);
+       // recover dataset - passing on flag indicating if this a 'viewless'
+       // sequence set (a.k.a. a stored dataset for the project)
+       recoverDatasetFor(vamsasSet, al, object.getJalviewModelSequence()
+               .getViewportCount() == 0);
      }
      // ///////////////////////////////
  
      // 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++)
          }
          if (setting.getDisplay())
          {
 -          af.viewport.featuresDisplayed.put(setting.getType(), new Integer(
 +          af.viewport.getFeaturesDisplayed().put(setting.getType(), new Integer(
                    setting.getColour()));
          }
        }
      }
    }
  
-   private void recoverDatasetFor(SequenceSet vamsasSet, Alignment al)
+   private void recoverDatasetFor(SequenceSet vamsasSet, Alignment al,
+           boolean ignoreUnrefed)
    {
      jalview.datamodel.Alignment ds = getDatasetFor(vamsasSet.getDatasetId());
      Vector dseqs = null;
      for (int i = 0, iSize = vamsasSet.getSequenceCount(); i < iSize; i++)
      {
        Sequence vamsasSeq = vamsasSet.getSequence(i);
-       ensureJalviewDatasetSequence(vamsasSeq, ds, dseqs);
+       ensureJalviewDatasetSequence(vamsasSeq, ds, dseqs, ignoreUnrefed);
      }
      // create a new dataset
      if (ds == null)
     *          vector to add new dataset sequence to
     */
    private void ensureJalviewDatasetSequence(Sequence vamsasSeq,
-           AlignmentI ds, Vector dseqs)
+           AlignmentI ds, Vector dseqs, boolean ignoreUnrefed)
    {
      // JBP TODO: Check this is called for AlCodonFrames to support recovery of
      // xRef Codon Maps
      {
        dsq = sq.getDatasetSequence();
      }
+     if (sq == null && ignoreUnrefed)
+     {
+       return;
+     }
      String sqid = vamsasSeq.getDsseqid();
      if (dsq == null)
      {