- // We dont care about version
- //if ((refa.getVersion()==null || refb.getVersion()==null)
- // || refb.getVersion().equals(refa.getVersion()))
- //{
- if (refa.getAccessionId()!=null && refb.getAccessionId()!=null
- || refb.getAccessionId().equals(refa.getAccessionId()))
- {
- if ((refa.getMap()==null && refb.getMap()==null)
- || (refa.getMap()!=null && refb.getMap()!=null))
- if ((refb.getMap().getMap()==null && refa.getMap().getMap()==null)
- || (refb.getMap().getMap()!=null && refa.getMap().getMap()!=null
- && refb.getMap().getMap().getInverse().equals(refa.getMap().getMap())))
- {
- return true;
- }
- }
- }
- return false;
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ };
+
+ /**
+ * accession ID and DB must be identical. Version is ignored. No map on both
+ * or or map but no maplist on either or maplist of map on a is equivalent to
+ * the maplist of map on b.
+ */
+ public static DbRefComp matchDbAndIdAndEquivalentMapList = new DbRefComp()
+ {
+ public boolean matches(DBRefEntry refa, DBRefEntry refb)
+ {
+ if (refa.getSource() != null && refb.getSource() != null
+ && refb.getSource().equals(refa.getSource()))
+ {
+ // We dont care about version
+ // if ((refa.getVersion()==null || refb.getVersion()==null)
+ // || refb.getVersion().equals(refa.getVersion()))
+ // {
+ if (refa.getAccessionId() != null && refb.getAccessionId() != null
+ || refb.getAccessionId().equals(refa.getAccessionId()))
+ {
+ if (refa.getMap() == null && refb.getMap() == null)
+ {
+ return true;
+ }
+ if (refa.getMap() != null
+ && refb.getMap() != null
+ && ((refb.getMap().getMap() == null && refa.getMap()
+ .getMap() == null) || (refb.getMap().getMap() != null
+ && refa.getMap().getMap() != null && refb
+ .getMap().getMap().equals(refa.getMap().getMap()))))
+ {
+ return true;