X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=061dfca64f0fad12b5c43c11ed94ac15c90a21cb;hb=266c4e2544701f88a8d21294b4a4f4cc42cf76cc;hp=48ba7f074f7a33661fa3a5771ce6b9044a5a2af5;hpb=d1279cb823245d1a412cd2f66771c6505ee538c4;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 48ba7f0..061dfca 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -520,6 +520,8 @@ public class Jalview2XML continue; } + an.setVisible(aa[i].visible); + an.setDescription(aa[i].description); if (aa[i].sequenceRef != null) @@ -986,6 +988,8 @@ public class Jalview2XML Hashtable gatherToThisFrame = new Hashtable(); + String errorMessage = null; + try { //UNMARSHALLER SEEMS TO CLOSE JARINPUTSTREAM, MOST ANNOYING @@ -1040,22 +1044,19 @@ public class Jalview2XML } while (jarentry != null); } + catch(java.io.FileNotFoundException ex) + { + ex.printStackTrace(); + errorMessage = "Couldn't locate Jalview XML file : "+file; + System.err.println("Exception whilst loading jalview XML file : " + + ex + "\n"); + } catch (java.net.UnknownHostException ex) { ex.printStackTrace(); - System.err.println("Couldn't locate Jalview XML file : " + + errorMessage = "Couldn't locate Jalview XML file : " +file; + System.err.println("Exception whilst loading jalview XML file : " + ex + "\n"); - - javax.swing.SwingUtilities.invokeLater(new Runnable() - { - public void run() - { - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't locate " + file, - "URL not found", - JOptionPane.WARNING_MESSAGE); - } - }); } catch (Exception ex) { @@ -1071,17 +1072,6 @@ public class Jalview2XML System.err.println("Exception whilst loading jalview XML file : " + ex + "\n"); - javax.swing.SwingUtilities.invokeLater(new Runnable() - { - public void run() - { - - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Error loading " + file, - "Error loading Jalview file", - JOptionPane.WARNING_MESSAGE); - } - }); } if (Desktop.instance != null) @@ -1096,6 +1086,21 @@ public class Jalview2XML (AlignFrame) en.nextElement()); } + if(errorMessage!=null) + { + final String finalErrorMessage = errorMessage; + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + JOptionPane.showInternalMessageDialog(Desktop.desktop, + finalErrorMessage, + "Error loading Jalview file", + JOptionPane.WARNING_MESSAGE); + } + }); + } + return af; } @@ -1340,10 +1345,13 @@ public class Jalview2XML if (an[i].getId() != null && annotationIds.containsKey(an[i].getId())) { - al.addAnnotation( + jalview.datamodel.AlignmentAnnotation jda = (jalview.datamodel.AlignmentAnnotation) annotationIds.get(an[i]. - getId()) - ); + getId()); + if (an[i].hasVisible()) + jda.visible = an[i].getVisible(); + + al.addAnnotation(jda); continue; } @@ -1358,6 +1366,9 @@ public class Jalview2XML for (int aa = 0; aa < ae.length && aa < anot.length; aa++) { + if(ae[aa].getPosition()>=anot.length) + continue; + anot[ae[aa].getPosition()] = new jalview.datamodel.Annotation( ae[aa].getDisplayCharacter(), @@ -1408,15 +1419,22 @@ public class Jalview2XML if (an[i].getSequenceRef() != null) { - jaa.createSequenceMapping( - al.findName(an[i].getSequenceRef()), 1, true - ); - al.findName(an[i].getSequenceRef()).addAlignmentAnnotation(jaa); + if (al.findName(an[i].getSequenceRef()) != null) + { + jaa.createSequenceMapping( + al.findName(an[i].getSequenceRef()), 1, true + ); + al.findName(an[i].getSequenceRef()).addAlignmentAnnotation(jaa); + } } if (an[i].hasScore()) { jaa.setScore(an[i].getScore()); } + + if(an[i].hasVisible()) + jaa.visible = an[i].getVisible(); + al.addAnnotation(jaa); } } @@ -1906,9 +1924,11 @@ public class Jalview2XML String pdbFile = loadPDBFile(file, ids[p].getId()); - jalview.datamodel.SequenceI[] seq = new jalview.datamodel.SequenceI[] + jalview.datamodel.SequenceI[] seq = new jalview.datamodel. + SequenceI[] { - al.getSequenceAt(i)}; + (jalview.datamodel.SequenceI) + seqRefIds.get(JSEQ[i].getId()+"")}; if (comp == null)