X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FVamsasAppDatastore.java;h=64e40e35690ae2d7e20806216077dc258c990110;hb=59d682209891099d46b960509907c79e3fb276fe;hp=1d0b463a3aaad1acd2a6eb238bbb655b447f0473;hpb=362f2db1b01f3562784864a1d6ac5f7b9be0a18a;p=jalview.git diff --git a/src/jalview/io/VamsasAppDatastore.java b/src/jalview/io/VamsasAppDatastore.java index 1d0b463..64e40e3 100644 --- a/src/jalview/io/VamsasAppDatastore.java +++ b/src/jalview/io/VamsasAppDatastore.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -20,11 +20,7 @@ package jalview.io; import jalview.bin.Cache; import jalview.datamodel.AlignedCodonFrame; import jalview.datamodel.AlignmentAnnotation; -import jalview.datamodel.AlignmentI; -import jalview.datamodel.AlignmentView; -import jalview.datamodel.DBRefEntry; import jalview.datamodel.GraphLine; -import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.AlignViewport; @@ -34,14 +30,13 @@ import jalview.io.vamsas.Datasetsequence; import jalview.io.vamsas.DatastoreItem; import jalview.io.vamsas.DatastoreRegistry; import jalview.io.vamsas.Rangetype; -import jalview.util.UrlLink; - import java.io.IOException; import java.util.Enumeration; import java.util.HashMap; import java.util.Hashtable; import java.util.IdentityHashMap; import java.util.Iterator; +import java.util.List; import java.util.Vector; import java.util.jar.JarInputStream; import java.util.jar.JarOutputStream; @@ -51,14 +46,14 @@ import uk.ac.vamsas.objects.core.*; import uk.ac.vamsas.objects.utils.Properties; /* - * + * * static { * org.exolab.castor.util.LocalConfiguration.getInstance().getProperties().setProperty( * "org.exolab.castor.serializer", "org.apache.xml.serialize.XMLSerilazizer"); } - * + * */ /* - * TODO: check/verify consistency for vamsas sync with group associated alignment annotation + * TODO: check/verify consistency for vamsas sync with group associated alignment annotation */ public class VamsasAppDatastore { @@ -546,12 +541,8 @@ public class VamsasAppDatastore else { // first find the alignment sequence to associate this with. - SequenceI jvalsq = null; - Enumeration jval = av.getAlignment().getSequences() - .elements(); - while (jval.hasMoreElements()) + for (SequenceI jvalsq : av.getAlignment().getSequences()) { - jvalsq = (SequenceI) jval.nextElement(); // saveDatasetSequenceAnnotation(AlSeqMaps,(uk.ac.vamsas.objects.core.Sequence) // sref, aa[i]); if (jvalsq.getDatasetSequence() == aa[i].sequenceRef) @@ -884,7 +875,7 @@ public class VamsasAppDatastore * creates/syncs the jvalsq from the alignment sequence */ private boolean syncFromAlignmentSequence(AlignmentSequence valseq, - char valGapchar, char gapChar, Vector dsseqs) + char valGapchar, char gapChar, List dsseqs) { boolean modal = false; @@ -1260,7 +1251,7 @@ public class VamsasAppDatastore /** * list of alignment views created when updating Jalview from document. */ - private Vector newAlignmentViews = new Vector(); + private final Vector newAlignmentViews = new Vector(); /** * update local jalview view settings from the stored appdata (if any) @@ -1292,6 +1283,7 @@ public class VamsasAppDatastore jalview.util.jarInputStreamProvider jprovider = new jalview.util.jarInputStreamProvider() { + @Override public String getFilename() { @@ -1299,6 +1291,7 @@ public class VamsasAppDatastore return "Jalview Vamsas Document Client Data"; } + @Override public JarInputStream getJarInputStream() throws IOException { jalview.bin.Cache.log @@ -1338,6 +1331,7 @@ public class VamsasAppDatastore jalview.util.jarInputStreamProvider jarstream = new jalview.util.jarInputStreamProvider() { + @Override public String getFilename() { @@ -1345,6 +1339,7 @@ public class VamsasAppDatastore return "Jalview Vamsas Document User Data"; } + @Override public JarInputStream getJarInputStream() throws IOException { jalview.bin.Cache.log @@ -1443,7 +1438,8 @@ public class VamsasAppDatastore if (mappings != null && mappings.length > 0) { jalview.structure.StructureSelectionManager - .getStructureSelectionManager(Desktop.instance).addMappings(mappings); + .getStructureSelectionManager(Desktop.instance) + .addMappings(mappings); } } } @@ -1472,6 +1468,8 @@ public class VamsasAppDatastore Object vobject = jv2vobj.remove(oldjvobject); if (vobject == null) { + // NOTE: this happens if user deletes object in one session then updates + // from another client throw new Error( "IMPLEMENTATION ERROR: old jalview object is not bound ! (" + oldjvobject + ")"); @@ -1573,7 +1571,7 @@ public class VamsasAppDatastore // ///LOAD DATASET DataSet dataset = root.getDataSet(_ds); int i, iSize = dataset.getSequenceCount(); - Vector dsseqs; + List dsseqs; jalview.datamodel.Alignment jdataset = (jalview.datamodel.Alignment) getvObj2jv(dataset); int jremain = 0; if (jdataset == null) @@ -1620,8 +1618,8 @@ public class VamsasAppDatastore SequenceI[] seqs = new SequenceI[dsseqs.size()]; for (i = 0, iSize = dsseqs.size(); i < iSize; i++) { - seqs[i] = (SequenceI) dsseqs.elementAt(i); - dsseqs.setElementAt(null, i); + seqs[i] = dsseqs.get(i); + dsseqs.set(i, null); } jdataset = new jalview.datamodel.Alignment(seqs); Cache.log.debug("New vamsas dataset imported into jalview."); @@ -1782,8 +1780,8 @@ public class VamsasAppDatastore SequenceI[] seqs = new SequenceI[dsseqs.size()]; for (i = 0, iSize = dsseqs.size(); i < iSize; i++) { - seqs[i] = (SequenceI) dsseqs.elementAt(i); - dsseqs.setElementAt(null, i); + seqs[i] = dsseqs.get(i); + dsseqs.set(i, null); } jal = new jalview.datamodel.Alignment(seqs); Cache.log.debug("New vamsas alignment imported into jalview "