aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--findbugs-exclude.xml16
-rw-r--r--src/java/org/apache/fop/fo/properties/FontFamilyProperty.java30
-rw-r--r--src/java/org/apache/fop/fo/properties/SpaceProperty.java24
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);
+ }
+
}