prevent dbref->map->to->datasetsequence->dbref-> type cycles
authorjprocter <Jim Procter>
Fri, 12 Jun 2009 15:57:08 +0000 (15:57 +0000)
committerjprocter <Jim Procter>
Fri, 12 Jun 2009 15:57:08 +0000 (15:57 +0000)
src/jalview/io/vamsas/Dbref.java

index 11c62b5..5698228 100644 (file)
@@ -106,15 +106,18 @@ public class Dbref extends Rangetype
     {
       if (mp.getTo().getDatasetSequence() == null)
       {
-        // sync the dataset sequence, if it hasn't been done already.
-        Datasetsequence dssync = new Datasetsequence(
+        if (!dsReg.isInvolvedInDsitem(mp.getTo()))
+        {
+          // sync the dataset sequence, if it hasn't been done already.
+          Datasetsequence dssync = new Datasetsequence(
                 datastore, mp.getTo(),
                 (mp.getMappedWidth() == mp.getWidth()) ? sequence
                         .getDictionary()
                         : ((mp.getMappedWidth() == 3) ? uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_AA
                                 : uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_NA),
                 ds);
-        // add a mapping between new dataset sequence and sequence associated with the database reference
+          // add a mapping between new dataset sequence and sequence associated with the database reference
+        }
         
       } else {
         log.debug("Ignoring non-dataset sequence mapping.");