Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

FindBugs fix

- fixed "equals() method does not check for null argument"
- see http://findbugs.sourceforge.net/bugDescriptions.html#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1568812 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information...
commit 53c90692ee064f4f3355465eecdfef0eabe2c2d2 1 parent 8689458
Andreas Beeker authored
View
2  src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java
@@ -284,7 +284,7 @@ public final POIXMLDocumentPart getParent(){
@Override
public String toString(){
- return packagePart == null ? null : packagePart.toString();
+ return packagePart == null ? "" : packagePart.toString();
}
/**
View
2  src/ooxml/testcases/org/apache/poi/TestPOIXMLDocument.java
@@ -170,7 +170,7 @@ public void testCommitNullPart() throws IOException, InvalidFormatException {
assertNull(part.getRelationId(null));
assertFalse(part.removeRelation(null, true));
part.removeRelation(null);
- assertNull(part.toString());
+ assertEquals("",part.toString());
part.onDocumentCreate();
//part.getTargetPart(null);
}
View
57 src/scratchpad/src/org/apache/poi/hwpf/model/Ffn.java
@@ -182,49 +182,20 @@ public void set_cbFfnM1(int _cbFfnM1)
}
@Override
- public boolean equals(Object o)
- {
- boolean retVal = true;
-
- if (((Ffn)o).get_cbFfnM1() == _cbFfnM1)
- {
- if(((Ffn)o)._info == _info)
- {
- if(((Ffn)o)._wWeight == _wWeight)
- {
- if(((Ffn)o)._chs == _chs)
- {
- if(((Ffn)o)._ixchSzAlt == _ixchSzAlt)
- {
- if(Arrays.equals(((Ffn)o)._panose,_panose))
- {
- if(Arrays.equals(((Ffn)o)._fontSig,_fontSig))
- {
- if(!(Arrays.equals(((Ffn)o)._xszFfn,_xszFfn)))
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
- }
- else
- retVal = false;
-
- return retVal;
+ public boolean equals(Object other) {
+ if (!(other instanceof Ffn)) return false;
+ Ffn o = (Ffn)other;
+
+ return (
+ o._cbFfnM1 == this._cbFfnM1
+ && o._info == this._info
+ && o._wWeight == _wWeight
+ && o._chs == _chs
+ && o._ixchSzAlt == _ixchSzAlt
+ && Arrays.equals(o._panose,_panose)
+ && Arrays.equals(o._fontSig,_fontSig)
+ && Arrays.equals(o._xszFfn,_xszFfn)
+ );
}
View
35 src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java
@@ -138,29 +138,20 @@ public void writeTo( HWPFOutputStream tableStream ) throws IOException
}
@Override
- public boolean equals(Object o)
- {
- boolean retVal = true;
-
- if(((FontTable)o).getStringCount() == _stringCount)
- {
- if(((FontTable)o).getExtraDataSz() == _extraDataSz)
- {
- Ffn[] fontNamesNew = ((FontTable)o).getFontNames();
- for(int i = 0;i<_stringCount; i++)
- {
- if(!(_fontNames[i].equals(fontNamesNew[i])))
- retVal = false;
- }
+ public boolean equals(Object other) {
+ if (!(other instanceof FontTable)) return false;
+ FontTable o = (FontTable)other;
+
+ if (o._stringCount != this._stringCount
+ || o._extraDataSz != this._extraDataSz
+ || o._fontNames.length != this._fontNames.length
+ ) return false;
+
+ for (int i=0; i<o._fontNames.length; i++) {
+ if (!o._fontNames[i].equals(this._fontNames[i])) return false;
}
- else
- retVal = false;
- }
- else
- retVal = false;
-
-
- return retVal;
+
+ return true;
}
@Override
View
1  src/scratchpad/src/org/apache/poi/hwpf/model/ParagraphHeight.java
@@ -76,6 +76,7 @@ public void write(OutputStream out)
public boolean equals(Object o)
{
+ if (!(o instanceof ParagraphHeight)) return false;
ParagraphHeight ph = (ParagraphHeight)o;
return infoField == ph.infoField && reserved == ph.reserved &&
View
2  src/scratchpad/src/org/apache/poi/hwpf/model/PropertyNode.java
@@ -163,6 +163,8 @@ public int hashCode()
public boolean equals(Object o)
{
+ if (!(o instanceof PropertyNode)) return false;
+
if (limitsAreEqual(o))
{
Object testBuf = ((PropertyNode<?>)o)._buf;
View
1  src/scratchpad/src/org/apache/poi/hwpf/model/SectionDescriptor.java
@@ -80,6 +80,7 @@ public void setFc(int fc)
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof SectionDescriptor)) return false;
SectionDescriptor sed = (SectionDescriptor)o;
return sed.fn == fn && sed.fnMpr == fnMpr;
}
View
32 src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java
@@ -178,28 +178,22 @@ public void writeTo(HWPFOutputStream out)
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof StyleSheet)) return false;
StyleSheet ss = (StyleSheet)o;
- if (ss._stshif.equals( this._stshif ) && ss._cbStshi == _cbStshi)
- {
- if (ss._styleDescriptions.length == _styleDescriptions.length)
- {
- for (int x = 0; x < _styleDescriptions.length; x++)
- {
- // check for null
- if (ss._styleDescriptions[x] != _styleDescriptions[x])
- {
- // check for equality
- if (!ss._styleDescriptions[x].equals(_styleDescriptions[x]))
- {
- return false;
- }
- }
- }
- return true;
- }
+ if (!ss._stshif.equals( this._stshif )
+ || ss._cbStshi != this._cbStshi
+ || ss._styleDescriptions.length != this._styleDescriptions.length
+ ) return false;
+
+ for (int i=0; i<_styleDescriptions.length; i++) {
+ StyleDescription tsd = this._styleDescriptions[i];
+ StyleDescription osd = ss._styleDescriptions[i];
+ if (tsd == null && osd == null) continue;
+ if (tsd == null || osd == null || !osd.equals(tsd)) return false;
}
- return false;
+
+ return true;
}
@Override
View
17 src/scratchpad/src/org/apache/poi/hwpf/model/TextPiece.java
@@ -204,13 +204,16 @@ public int bytesLength() {
@Override
public boolean equals(Object o)
{
- if (limitsAreEqual(o))
- {
- TextPiece tp = (TextPiece)o;
- return getStringBuilder().toString().equals(tp.getStringBuilder().toString()) &&
- tp._usesUnicode == _usesUnicode && _pd.equals(tp._pd);
- }
- return false;
+ if (!(o instanceof TextPiece)) return false;
+ TextPiece tp = (TextPiece)o;
+ assert(_buf != null && tp._buf != null && _pd != null && tp._pd != null);
+
+ return (
+ limitsAreEqual(o)
+ && tp._usesUnicode == this._usesUnicode
+ && tp._buf.toString().equals(this._buf.toString())
+ && tp._pd.equals(this._pd)
+ );
}
@Override
View
1  src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java
@@ -160,6 +160,7 @@ public int adjustForInsert( int listIndex, int length )
public boolean equals( Object o )
{
+ if (!(o instanceof TextPieceTable)) return false;
TextPieceTable tpt = (TextPieceTable) o;
int size = tpt._textPieces.size();
View
1  src/scratchpad/src/org/apache/poi/hwpf/model/UPX.java
@@ -43,6 +43,7 @@ public int size()
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof UPX)) return false;
UPX upx = (UPX)o;
return Arrays.equals(_upx, upx._upx);
}
View
1  src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmBuffer.java
@@ -154,6 +154,7 @@ private void ensureCapacity( int addition )
@Override
public boolean equals(Object obj)
{
+ if (!(obj instanceof SprmBuffer)) return false;
SprmBuffer sprmBuf = (SprmBuffer)obj;
return (Arrays.equals(_buf, sprmBuf._buf));
}
View
1  src/scratchpad/src/org/apache/poi/hwpf/usermodel/BorderCode.java
@@ -71,6 +71,7 @@ public boolean isEmpty()
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof BorderCode)) return false;
BorderCode brc = (BorderCode)o;
return _info == brc._info && _info2 == brc._info2;
}
View
1  src/scratchpad/src/org/apache/poi/hwpf/usermodel/DateAndTime.java
@@ -75,6 +75,7 @@ public void serialize(byte[] buf, int offset)
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof DateAndTime)) return false;
DateAndTime dttm = (DateAndTime)o;
return _info == dttm._info && _info2 == dttm._info2;
}
View
1  src/scratchpad/src/org/apache/poi/hwpf/usermodel/LineSpacingDescriptor.java
@@ -75,6 +75,7 @@ public void setDyaLine(short dyaLine)
@Override
public boolean equals(Object o)
{
+ if (!(o instanceof LineSpacingDescriptor)) return false;
LineSpacingDescriptor lspd = (LineSpacingDescriptor)o;
return _dyaLine == lspd._dyaLine && _fMultiLinespace == lspd._fMultiLinespace;
Please sign in to comment.
Something went wrong with that request. Please try again.