X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FDatasetsequence.java;h=a399c049f9d71d3d75c93bbf5be7622caacef1f8;hb=f4766a7bbcfae845fc95923b01fa14ff83d589ff;hp=841d35717c8dcdc696390c657202055e996cfd82;hpb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;p=jalview.git diff --git a/src/jalview/io/vamsas/Datasetsequence.java b/src/jalview/io/vamsas/Datasetsequence.java index 841d357..a399c04 100644 --- a/src/jalview/io/vamsas/Datasetsequence.java +++ b/src/jalview/io/vamsas/Datasetsequence.java @@ -1,26 +1,32 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * 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. + * 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 * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ 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; @@ -42,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(); } @@ -58,6 +64,7 @@ public class Datasetsequence extends DatastoreItem doJvUpdate(); } + @Override public void addFromDocument() { Sequence vseq = (Sequence) vobj; @@ -70,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 { @@ -125,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; @@ -172,15 +177,15 @@ public class Datasetsequence extends DatastoreItem boolean modifiedthedoc = false; SequenceI sq = (SequenceI) jvobj; - if (sq.getDatasetSequence() == null && sq.getDBRef() != null) + if (sq.getDatasetSequence() == null && sq.getDBRefs() != null) { // only sync database references for dataset sequences - DBRefEntry[] entries = sq.getDBRef(); + DBRefEntry[] entries = sq.getDBRefs(); // jalview.datamodel.DBRefEntry dbentry; for (int db = 0; db < entries.length; db++) { modifiedthedoc |= new jalview.io.vamsas.Dbref(datastore, - // dbentry = + // dbentry = entries[db], sq, (Sequence) vobj, dataset).docWasUpdated(); } @@ -207,22 +212,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;