X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceFeature.java;h=30e0929e7f4d7573fd481e54da13608fa8666018;hb=b74cdec4b07000bee431a7cca86a948f44d3ffbe;hp=6f514203088bf246329d5d629b62cd0bbfeaa165;hpb=6f2c3b8cb30d8ccf7ff9ab949a7b244f0c415bc1;p=jalview.git diff --git a/src/jalview/datamodel/SequenceFeature.java b/src/jalview/datamodel/SequenceFeature.java index 6f51420..30e0929 100755 --- a/src/jalview/datamodel/SequenceFeature.java +++ b/src/jalview/datamodel/SequenceFeature.java @@ -230,7 +230,7 @@ public class SequenceFeature implements FeatureLocationI @Override public boolean equalsInterval(IntervalI sf) { - return equals((SequenceFeature) sf, false); + return sf != null && equals((SequenceFeature) sf, false); } /** * Overloaded method allows the equality test to optionally ignore the @@ -244,39 +244,17 @@ public class SequenceFeature implements FeatureLocationI */ public boolean equals(SequenceFeature sf, boolean ignoreParent) { - boolean sameScore = Float.isNaN(score) ? Float.isNaN(sf.score) - : score == sf.score; - if (begin != sf.begin || end != sf.end || !sameScore) - { - return false; - } - - if (getStrand() != sf.getStrand()) - { - return false; - } - - if (!(type + description + featureGroup + getPhase()).equals( - sf.type + sf.description + sf.featureGroup + sf.getPhase())) - { - return false; - } - if (!equalAttribute(getValue("ID"), sf.getValue("ID"))) - { - return false; - } - if (!equalAttribute(getValue("Name"), sf.getValue("Name"))) - { - return false; - } - if (!ignoreParent) - { - if (!equalAttribute(getValue("Parent"), sf.getValue("Parent"))) - { - return false; - } - } - return true; + return (begin == sf.begin && end == sf.end + && getStrand() == sf.getStrand() + && (Float.isNaN(score) ? Float.isNaN(sf.score) + : score == sf.score) + && (type + description + featureGroup + getPhase()) + .equals(sf.type + sf.description + sf.featureGroup + + sf.getPhase()) + && equalAttribute(getValue("ID"), sf.getValue("ID")) + && equalAttribute(getValue("Name"), sf.getValue("Name")) + && (ignoreParent || equalAttribute(getValue("Parent"), + sf.getValue("Parent")))); } /**