X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=7d6d519dca2cbbd6c0514e417851997092e9e9b0;hb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;hp=6652aea7fefe82ee1baf0c3617745eec1e648c24;hpb=0452450533728e478ef8c893ea2cb3483c740fb3;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 6652aea..7d6d519 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -56,6 +56,8 @@ public class Jalview2XML */ Hashtable viewportsAdded; + Hashtable annotationIds = new Hashtable(); + String uniqueSetSuffix = ""; @@ -454,9 +456,16 @@ public class Jalview2XML { Annotation an = new Annotation(); - if (aa[i].label.equals("Quality") || - aa[i].label.equals("Conservation") || - aa[i].label.equals("Consensus")) + if(aa[i].annotationId!=null) + { + annotationIds.put(aa[i].annotationId, aa[i]); + } + + an.setId(aa[i].annotationId); + + if (aa[i]==av.quality || + aa[i]==av.conservation || + aa[i]==av.consensus) { an.setLabel(aa[i].label); an.setGraph(true); @@ -957,6 +966,7 @@ public class Jalview2XML System.out.println("Successfully loaded archive file"); return af; } + ex.printStackTrace(); System.err.println("Exception whilst loading jalview XML file : " + ex + "\n"); @@ -1205,10 +1215,20 @@ public class Jalview2XML continue; } + if (an[i].getId() != null + && annotationIds.containsKey(an[i].getId())) + { + al.addAnnotation( + (jalview.datamodel.AlignmentAnnotation)annotationIds.get(an[i].getId()) + ); + + continue; + } + AnnotationElement[] ae = an[i].getAnnotationElement(); jalview.datamodel.Annotation[] anot = new jalview.datamodel.Annotation[al.getWidth()]; - for (int aa = 0; aa < ae.length; aa++) + for (int aa = 0; aa < ae.length && aa