X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FDatasetsequence.java;h=e1340e27f775cff08ce04b6cf05b4bb54a43ab33;hb=136c0793b90b72b928c4d77dc109dd5c644e00d3;hp=9c86557d1f1242e87280f8def13b015e2d15ca6c;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/io/vamsas/Datasetsequence.java b/src/jalview/io/vamsas/Datasetsequence.java index 9c86557..e1340e2 100644 --- a/src/jalview/io/vamsas/Datasetsequence.java +++ b/src/jalview/io/vamsas/Datasetsequence.java @@ -21,8 +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; @@ -60,6 +64,7 @@ public class Datasetsequence extends DatastoreItem doJvUpdate(); } + @Override public void addFromDocument() { Sequence vseq = (Sequence) vobj; @@ -72,6 +77,7 @@ public class Datasetsequence extends DatastoreItem modified = true; } + @Override public void updateFromDoc() { Sequence sq = (Sequence) vobj; @@ -127,25 +133,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; @@ -174,10 +176,10 @@ 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++) { @@ -216,6 +218,7 @@ public class Datasetsequence extends DatastoreItem return modifiedtheseq; } + @Override public void conflict() { log.warn("Conflict in dataset sequence update to document. Overwriting document"); @@ -225,6 +228,7 @@ public class Datasetsequence extends DatastoreItem boolean modified = false; + @Override public void updateToDoc() { SequenceI sq = (SequenceI) jvobj;