From 202c28a9c7cdcb1ffe878627bf8d2d3f98fafbb6 Mon Sep 17 00:00:00 2001 From: jprocter Date: Tue, 31 Jul 2007 17:02:48 +0000 Subject: [PATCH] debugging cross references and duplicate sequence db refs --- src/jalview/datamodel/DBRefEntry.java | 32 ++++++++++++++++++++----- src/jalview/datamodel/Sequence.java | 10 +++++++- src/jalview/datamodel/SequenceI.java | 6 +++++ src/jalview/datamodel/xdb/embl/EmblEntry.java | 8 +++---- 4 files changed, 45 insertions(+), 11 deletions(-) diff --git a/src/jalview/datamodel/DBRefEntry.java b/src/jalview/datamodel/DBRefEntry.java index 8bbb5f7..b9a9b98 100755 --- a/src/jalview/datamodel/DBRefEntry.java +++ b/src/jalview/datamodel/DBRefEntry.java @@ -47,17 +47,37 @@ public class DBRefEntry return true; if (entry==null) return false; - if ((source!=null && entry.source!=null && source.equals(entry.source)) - && - (accessionId!=null && entry.accessionId!=null && accessionId.equals(entry.accessionId)) - && - (version!=null && entry.version!=null && version.equals(entry.version)) - && + if (equalRef(entry) + && ((map==null && entry.map==null) || (map!=null && entry.map!=null && map.equals(entry.map)))) { return true; } return false; } + /** + * test for similar DBRef attributes, except for the map object. + * @param entry + * @return true if source, accession and version are equal with those of entry + */ + public boolean equalRef(DBRefEntry entry) + { + if (entry==null) + { + return false; + } + if (entry==this) + return true; + if ((source!=null && entry.source!=null && source.equals(entry.source)) + && + (accessionId!=null && entry.accessionId!=null && accessionId.equals(entry.accessionId)) + && + (version!=null && entry.version!=null && version.equals(entry.version)) + ) + { + return true; + } + return false; + } public String getSource() { return source; diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index 0e72690..ec135d0 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -760,8 +760,16 @@ public class Sequence for(i=0; i