ensure lastSeq is refreshed if new feature added
[jalview.git] / src / jalview / gui / Jalview2XML.java
index e6191de..a9763d3 100755 (executable)
@@ -142,7 +142,7 @@ public class Jalview2XML
     }
 
     // USE THIS METHOD TO SAVE A SINGLE ALIGNMENT WINDOW
-    public void SaveAlignment(AlignFrame af, String jarFile,
+    public boolean SaveAlignment(AlignFrame af, String jarFile,
         String fileName)
     {
         try
@@ -163,10 +163,12 @@ public class Jalview2XML
 
           out.close();
           jout.close();
+          return true;
         }
         catch (Exception ex)
         {
           ex.printStackTrace();
+          return false;
         }
     }
 
@@ -230,7 +232,7 @@ public class Jalview2XML
               vamsasSeq = new Sequence();
               vamsasSeq.setId(id + "");
               vamsasSeq.setName(jds.getName());
-              vamsasSeq.setSequence(jds.getSequence());
+              vamsasSeq.setSequence(jds.getSequenceAsString());
               vamsasSeq.setDescription(jds.getDescription());
 
               if (jds.getDatasetSequence().getDBRef() != null)
@@ -335,19 +337,20 @@ public class Jalview2XML
                 pdb.setId(entry.getId());
                 pdb.setType(entry.getType());
 
+
                 if(entry.getFile()!=null)
                 {
+                  pdb.setFile(entry.getFile());
                   if(pdbfiles==null)
                     pdbfiles = new Vector();
 
-
                   if(!pdbfiles.contains(entry.getId()))
                   {
                     pdbfiles.addElement(entry.getId());
                     try
                     {
                       File file = new File(entry.getFile());
-                      if(file.exists())
+                      if(file.exists() && jout!=null)
                       {
                         byte[] data = new byte[ (int) file.length()];
                         jout.putNextEntry(new JarEntry(entry.getId()));
@@ -981,6 +984,7 @@ public class Jalview2XML
 
     String loadPDBFile(String file, String pdbId)
     {
+      System.out.println(file +" "+pdbId);
       try
       {
         JarInputStream jin = null;
@@ -1410,8 +1414,7 @@ public class Jalview2XML
         }
         af.setBounds(view.getXpos(), view.getYpos(), view.getWidth(),
             view.getHeight());
-        af.viewport.setStartRes(view.getStartRes());
-        af.viewport.setStartSeq(view.getStartSeq());
+
         af.viewport.setShowAnnotation(view.getShowAnnotation());
         af.viewport.setAbovePIDThreshold(view.getPidSelected());
 
@@ -1437,6 +1440,8 @@ public class Jalview2XML
         af.viewport.textColour2 = new java.awt.Color(view.getTextCol2());
         af.viewport.thresholdTextColour = view.getTextColThreshold();
 
+        af.viewport.setStartRes(view.getStartRes());
+        af.viewport.setStartSeq(view.getStartSeq());
 
         ColourSchemeI cs = null;