diff options
-rw-r--r-- | findbugs-exclude.xml | 16 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/properties/FontFamilyProperty.java | 30 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/properties/SpaceProperty.java | 24 |
3 files changed, 40 insertions, 30 deletions
diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml index f46b0f1ba..46879d1f6 100644 --- a/findbugs-exclude.xml +++ b/findbugs-exclude.xml @@ -1,5 +1,21 @@ <?xml version="1.0" encoding="utf-8"?> <FindBugsFilter> + <Match> + <Class name="org.apache.fop.fo.properties.FontFamilyProperty"/> + <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/> + </Match> + <Match> + <Class name="org.apache.fop.fo.properties.CondLengthProperty"/> + <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/> + </Match> + <Match> + <Class name="org.apache.fop.pdf.xref.TrailerDictionary$1FileID"/> + <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/> + </Match> + <Match> + <Class name="org.apache.fop.fo.properties.ToBeImplementedProperty"/> + <Bug pattern="EQ_ALWAYS_TRUE"/> + </Match> <Match> <Class name="org.apache.fop.render.intermediate.IFStructureTreeBuilder"/> <Field name="delegate"/> diff --git a/src/java/org/apache/fop/fo/properties/FontFamilyProperty.java b/src/java/org/apache/fop/fo/properties/FontFamilyProperty.java index ff7619928..b59c22de6 100644 --- a/src/java/org/apache/fop/fo/properties/FontFamilyProperty.java +++ b/src/java/org/apache/fop/fo/properties/FontFamilyProperty.java @@ -19,8 +19,6 @@ package org.apache.fop.fo.properties; -import java.util.Iterator; - import org.apache.fop.fo.FObj; import org.apache.fop.fo.PropertyList; import org.apache.fop.fo.expr.PropertyException; @@ -34,8 +32,6 @@ public final class FontFamilyProperty extends ListProperty { private static final PropertyCache<FontFamilyProperty> CACHE = new PropertyCache<FontFamilyProperty>(); - private int hash = 0; - /** * Inner class for creating instances of ListProperty */ @@ -151,30 +147,4 @@ public final class FontFamilyProperty extends ListProperty { } } - /** {@inheritDoc} */ - public boolean equals(Object o) { - if (this == o) { - return true; - } - - if (o instanceof FontFamilyProperty) { - FontFamilyProperty ffp = (FontFamilyProperty) o; - return (this.list != null - && this.list.equals(ffp.list)); - } - return false; - } - - /** {@inheritDoc} */ - public int hashCode() { - if (this.hash == 0) { - int hash = 17; - for (Iterator i = list.iterator(); i.hasNext();) { - Property p = (Property) i.next(); - hash = 37 * hash + (p == null ? 0 : p.hashCode()); - } - this.hash = hash; - } - return this.hash; - } } diff --git a/src/java/org/apache/fop/fo/properties/SpaceProperty.java b/src/java/org/apache/fop/fo/properties/SpaceProperty.java index 641ec3baf..f7bdc60d7 100644 --- a/src/java/org/apache/fop/fo/properties/SpaceProperty.java +++ b/src/java/org/apache/fop/fo/properties/SpaceProperty.java @@ -23,6 +23,7 @@ import org.apache.fop.fo.Constants; import org.apache.fop.fo.FObj; import org.apache.fop.fo.PropertyList; import org.apache.fop.fo.expr.PropertyException; +import org.apache.fop.util.CompareUtil; /** * Base class used for handling properties of the fo:space-before and @@ -168,4 +169,27 @@ public class SpaceProperty extends LengthRangeProperty { return this; } + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + CompareUtil.getHashCode(precedence); + result = prime * result + CompareUtil.getHashCode(conditionality); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof SpaceProperty)) { + return false; + } + SpaceProperty other = (SpaceProperty) obj; + return super.equals(obj) + && CompareUtil.equal(precedence, other.precedence) + && CompareUtil.equal(conditionality, other.conditionality); + } + } |