Use 0f rather than NaN to specify non-valued annotation elements.
[jalview.git] / src / jalview / io / vamsas / Dbref.java
index c5ac44f..c4d72c3 100644 (file)
-package jalview.io.vamsas;\r
-\r
-import jalview.datamodel.DBRefEntry;\r
-import jalview.datamodel.SequenceI;\r
-import uk.ac.vamsas.objects.core.DbRef;\r
-import uk.ac.vamsas.objects.core.Map;\r
-import uk.ac.vamsas.objects.core.Sequence;\r
-import jalview.io.VamsasAppDatastore;\r
-\r
-public class Dbref extends Rangetype\r
-{\r
-  jalview.datamodel.SequenceI sq = null;\r
-  uk.ac.vamsas.objects.core.Sequence sequence = null;\r
-  DbRef dbref = null;\r
-  DBRefEntry dbentry=null;\r
-  public Dbref(VamsasAppDatastore datastore, DBRefEntry dbentry, jalview.datamodel.SequenceI sq2, uk.ac.vamsas.objects.core.Sequence sequence2)\r
-  {\r
-    super(datastore);\r
-    dbref = (DbRef) getjv2vObj(dbentry);\r
-    sq = sq2;\r
-    sequence = sequence2;\r
-    this.dbentry = dbentry;\r
-    if (dbref==null)\r
-    {\r
-      add();\r
-    } else {\r
-      if (dbref.isUpdated())\r
-      {\r
-        conflict();\r
-      } else {\r
-        update();\r
-      }\r
-        \r
-    }\r
-    \r
-  }\r
-\r
-  public Dbref(VamsasAppDatastore datastore, DbRef ref, Sequence vdseq, SequenceI dsseq)\r
-  {\r
-    super(datastore);\r
-    dbref = ref;\r
-    sequence = vdseq;\r
-    sq = dsseq;\r
-    dbentry = (jalview.datamodel.DBRefEntry) getvObj2jv(dbref);\r
-    if (dbentry == null)\r
-    {\r
-      addFromDocument();\r
-    } else {\r
-      if (dbref.isUpdated())\r
-      {\r
-        update();\r
-      }\r
-    }\r
-  }\r
-\r
-  private void update()\r
-  {\r
-    // TODO: verify and update dbrefs in vamsas document\r
-    // there will be trouble when a dataset sequence is modified to\r
-    // contain more residues than were originally referenced - we must\r
-    // then make a number of dataset sequence entries - this info is already stored \r
-    jalview.bin.Cache.log.debug("TODO verify update of dataset sequence database references.");\r
-  }\r
-\r
-  private void conflict()\r
-  {\r
-    jalview.bin.Cache.log.debug("Conflict in dbentry update for "+dbref.getAccessionId()+dbref.getSource()+" "+dbref.getVorbaId());\r
-    // TODO Auto-generated method stub\r
-    \r
-  }\r
-  private void addFromDocument()\r
-  {\r
-    // add new dbref\r
-    sq.addDBRef(dbentry = new jalview.datamodel.DBRefEntry\r
-            (\r
-                    dbref.getSource().toString(),\r
-                 dbref.getVersion().toString(),\r
-                 dbref.getAccessionId().toString()));\r
-    if (dbref.getMapCount()>0)\r
-    {\r
-      // TODO: Jalview ignores all the other maps\r
-      if (dbref.getMapCount()>1)\r
-      {\r
-        jalview.bin.Cache.log.debug("Ignoring additional mappings on DbRef: "+dbentry.getSource()+":"+dbentry.getAccessionId());\r
-      }\r
-      jalview.datamodel.Mapping mp = new jalview.datamodel.Mapping(parsemapType(dbref.getMap(0)));\r
-      dbentry.setMap(mp);\r
-    }\r
-    // TODO: jalview ignores links and properties because it doesn't know what to do with them.\r
-    \r
-    bindjvvobj(dbentry, dbref);\r
-  }\r
-  private void add()\r
-  {\r
-    DbRef dbref = new DbRef();\r
-    bindjvvobj(dbentry, dbref);\r
-    dbref.setAccessionId(dbentry.getAccessionId());\r
-    dbref.setSource(dbentry.getSource());\r
-    dbref.setVersion(dbentry.getVersion());\r
-    if (dbentry.getMap()!=null)\r
-    {\r
-      jalview.datamodel.Mapping mp = dbentry.getMap();\r
-      if (mp.getMap()!=null)\r
-      {\r
-        Map vMap = new Map();\r
-        initMapType(vMap, mp.getMap(), true);\r
-        dbref.addMap(vMap);\r
-      } else {\r
-        jalview.bin.Cache.log.debug("Ignoring mapless DbRef.Map "+dbentry.getSrcAccString());\r
-      }\r
-    }\r
-    sequence.addDbRef(dbref);\r
-  }\r
-\r
-}\r
+package jalview.io.vamsas;
+
+import jalview.datamodel.DBRefEntry;
+import jalview.datamodel.SequenceI;
+import uk.ac.vamsas.objects.core.DbRef;
+import uk.ac.vamsas.objects.core.Map;
+import uk.ac.vamsas.objects.core.Sequence;
+import jalview.io.VamsasAppDatastore;
+
+public class Dbref extends Rangetype
+{
+  jalview.datamodel.SequenceI sq = null;
+  uk.ac.vamsas.objects.core.Sequence sequence = null;
+  DbRef dbref = null;
+  DBRefEntry dbentry=null;
+  public Dbref(VamsasAppDatastore datastore, DBRefEntry dbentry, jalview.datamodel.SequenceI sq2, uk.ac.vamsas.objects.core.Sequence sequence2)
+  {
+    super(datastore);
+    dbref = (DbRef) getjv2vObj(dbentry);
+    sq = sq2;
+    sequence = sequence2;
+    this.dbentry = dbentry;
+    if (dbref==null)
+    {
+      add();
+    } else {
+      if (dbref.isUpdated())
+      {
+        conflict();
+      } else {
+        update();
+      }
+        
+    }
+    
+  }
+
+  public Dbref(VamsasAppDatastore datastore, DbRef ref, Sequence vdseq, SequenceI dsseq)
+  {
+    super(datastore);
+    dbref = ref;
+    sequence = vdseq;
+    sq = dsseq;
+    dbentry = (jalview.datamodel.DBRefEntry) getvObj2jv(dbref);
+    if (dbentry == null)
+    {
+      addFromDocument();
+    } else {
+      if (dbref.isUpdated())
+      {
+        update();
+      }
+    }
+  }
+
+  private void update()
+  {
+    // TODO: verify and update dbrefs in vamsas document
+    // there will be trouble when a dataset sequence is modified to
+    // contain more residues than were originally referenced - we must
+    // then make a number of dataset sequence entries - this info is already stored 
+    jalview.bin.Cache.log.debug("TODO verify update of dataset sequence database references.");
+  }
+
+  private void conflict()
+  {
+    jalview.bin.Cache.log.debug("Conflict in dbentry update for "+dbref.getAccessionId()+dbref.getSource()+" "+dbref.getVorbaId());
+    // TODO Auto-generated method stub
+    
+  }
+  private void addFromDocument()
+  {
+    // add new dbref
+    sq.addDBRef(dbentry = new jalview.datamodel.DBRefEntry
+            (
+                    dbref.getSource().toString(),
+                 dbref.getVersion().toString(),
+                 dbref.getAccessionId().toString()));
+    if (dbref.getMapCount()>0)
+    {
+      // TODO: Jalview ignores all the other maps
+      if (dbref.getMapCount()>1)
+      {
+        jalview.bin.Cache.log.debug("Ignoring additional mappings on DbRef: "+dbentry.getSource()+":"+dbentry.getAccessionId());
+      }
+      jalview.datamodel.Mapping mp = new jalview.datamodel.Mapping(parsemapType(dbref.getMap(0)));
+      dbentry.setMap(mp);
+    }
+    // TODO: jalview ignores links and properties because it doesn't know what to do with them.
+    
+    bindjvvobj(dbentry, dbref);
+  }
+  private void add()
+  {
+    DbRef dbref = new DbRef();
+    bindjvvobj(dbentry, dbref);
+    dbref.setAccessionId(dbentry.getAccessionId());
+    dbref.setSource(dbentry.getSource());
+    dbref.setVersion(dbentry.getVersion());
+    if (dbentry.getMap()!=null)
+    {
+      jalview.datamodel.Mapping mp = dbentry.getMap();
+      if (mp.getMap()!=null)
+      {
+        Map vMap = new Map();
+        initMapType(vMap, mp.getMap(), true);
+        dbref.addMap(vMap);
+      } else {
+        jalview.bin.Cache.log.debug("Ignoring mapless DbRef.Map "+dbentry.getSrcAccString());
+      }
+    }
+    sequence.addDbRef(dbref);
+  }
+
+}