X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FDBRefEntry.java;h=35ada0dc2d26b65aa36468b3eefeb32b8812bed1;hb=2b3edc77ed89937505a6c1297b4264cd8b820b8b;hp=e5eecbb8bc7807b007caa07e80ff0d8e2df0064a;hpb=3de2a606531d25cfb36e42276c44e75dca32f591;p=jalview.git diff --git a/src/jalview/datamodel/DBRefEntry.java b/src/jalview/datamodel/DBRefEntry.java index e5eecbb..35ada0d 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; @@ -102,4 +122,17 @@ public Mapping getMap() { public void setMap(Mapping map) { this.map = map; } +public boolean hasMap() +{ + return map!=null; +} +/** + * + * @return source+":"+accessionId + */ +public String getSrcAccString() +{ + return ((source!=null) ? source : "") + + ":" + ((accessionId!=null) ? accessionId : ""); +} }