X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FDatasetsequence.java;h=03627761e8ab655d247402e4622bcb007639aebf;hb=7bb1887834cefc1a39ffd5b034b77c7984a13009;hp=9db7a8e1d430c7e060df9744bd1245889ff7fe4e;hpb=37de9310bec3501cbc6381e0c3dcb282fcaad812;p=jalview.git diff --git a/src/jalview/io/vamsas/Datasetsequence.java b/src/jalview/io/vamsas/Datasetsequence.java index 9db7a8e..0362776 100644 --- a/src/jalview/io/vamsas/Datasetsequence.java +++ b/src/jalview/io/vamsas/Datasetsequence.java @@ -21,9 +21,12 @@ package jalview.io.vamsas; import jalview.datamodel.DBRefEntry; +import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.io.VamsasAppDatastore; +import java.util.List; + import uk.ac.vamsas.objects.core.DataSet; import uk.ac.vamsas.objects.core.DbRef; import uk.ac.vamsas.objects.core.Sequence; @@ -45,12 +48,12 @@ public class Datasetsequence extends DatastoreItem // private AlignmentI jvdset; public Datasetsequence(VamsasAppDatastore vamsasAppDatastore, - SequenceI sq, String dict, DataSet dataset) + SequenceI sq, String theDict, DataSet theDataset) { super(vamsasAppDatastore, sq, uk.ac.vamsas.objects.core.Sequence.class); - this.dataset = dataset; + this.dataset = theDataset; // this.jvdset = jvdset; - this.dict = dict; + this.dict = theDict; doSync(); } @@ -61,6 +64,7 @@ public class Datasetsequence extends DatastoreItem doJvUpdate(); } + @Override public void addFromDocument() { Sequence vseq = (Sequence) vobj; @@ -73,13 +77,15 @@ public class Datasetsequence extends DatastoreItem modified = true; } + @Override public void updateFromDoc() { Sequence sq = (Sequence) vobj; SequenceI sequence = (SequenceI) jvobj; if (!sequence.getSequenceAsString().equals(sq.getSequence())) { - log.warn("Potential Client Error ! - mismatch of dataset sequence: and jalview internal dataset sequence."); + log.warn( + "Potential Client Error ! - mismatch of dataset sequence: and jalview internal dataset sequence."); } else { @@ -128,25 +134,21 @@ public class Datasetsequence extends DatastoreItem */ private boolean updateSqFeatures() { - boolean modified = false; + boolean changed = false; SequenceI sq = (SequenceI) jvobj; // add or update any new features/references on dataset sequence - if (sq.getSequenceFeatures() != null) + List sfs = sq.getSequenceFeatures(); + for (SequenceFeature sf : sfs) { - int sfSize = sq.getSequenceFeatures().length; - - for (int sf = 0; sf < sfSize; sf++) - { - modified |= new jalview.io.vamsas.Sequencefeature(datastore, - (jalview.datamodel.SequenceFeature) sq - .getSequenceFeatures()[sf], dataset, - (Sequence) vobj).docWasUpdated(); - } + changed |= new jalview.io.vamsas.Sequencefeature(datastore, sf, + dataset, (Sequence) vobj).docWasUpdated(); } - return modified; + + return changed; } + @Override public void addToDocument() { SequenceI sq = (SequenceI) jvobj; @@ -178,13 +180,14 @@ public class Datasetsequence extends DatastoreItem if (sq.getDatasetSequence() == null && sq.getDBRefs() != null) { // only sync database references for dataset sequences - DBRefEntry[] entries = sq.getDBRefs(); + List entries = sq.getDBRefs(); // jalview.datamodel.DBRefEntry dbentry; - for (int db = 0; db < entries.length; db++) + for (int db = 0, dn = entries.size(); db < dn; db++) { modifiedthedoc |= new jalview.io.vamsas.Dbref(datastore, - // dbentry = - entries[db], sq, (Sequence) vobj, dataset).docWasUpdated(); + // dbentry = + entries.get(db), sq, (Sequence) vobj, dataset) + .docWasUpdated(); } @@ -210,22 +213,25 @@ public class Datasetsequence extends DatastoreItem for (int db = 0; db < entries.length; db++) { modifiedtheseq |= new jalview.io.vamsas.Dbref(datastore, - // dbentry = + // dbentry = entries[db], vsq, sq).jvWasUpdated(); } } return modifiedtheseq; } + @Override public void conflict() { - log.warn("Conflict in dataset sequence update to document. Overwriting document"); + log.warn( + "Conflict in dataset sequence update to document. Overwriting document"); // TODO: could try to import from document data to jalview first. and then updateToDoc(); } boolean modified = false; + @Override public void updateToDoc() { SequenceI sq = (SequenceI) jvobj;