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
This commit is contained in:
Andreas Beeker 2014-02-16 19:35:16 +00:00
parent 8689458854
commit 53c90692ee
15 changed files with 61 additions and 92 deletions

View File

@ -284,7 +284,7 @@ public class POIXMLDocumentPart {
@Override @Override
public String toString(){ public String toString(){
return packagePart == null ? null : packagePart.toString(); return packagePart == null ? "" : packagePart.toString();
} }
/** /**

View File

@ -170,7 +170,7 @@ public final class TestPOIXMLDocument extends TestCase {
assertNull(part.getRelationId(null)); assertNull(part.getRelationId(null));
assertFalse(part.removeRelation(null, true)); assertFalse(part.removeRelation(null, true));
part.removeRelation(null); part.removeRelation(null);
assertNull(part.toString()); assertEquals("",part.toString());
part.onDocumentCreate(); part.onDocumentCreate();
//part.getTargetPart(null); //part.getTargetPart(null);
} }

View File

@ -182,49 +182,20 @@ public final class Ffn
} }
@Override @Override
public boolean equals(Object o) public boolean equals(Object other) {
{ if (!(other instanceof Ffn)) return false;
boolean retVal = true; Ffn o = (Ffn)other;
if (((Ffn)o).get_cbFfnM1() == _cbFfnM1) return (
{ o._cbFfnM1 == this._cbFfnM1
if(((Ffn)o)._info == _info) && o._info == this._info
{ && o._wWeight == _wWeight
if(((Ffn)o)._wWeight == _wWeight) && o._chs == _chs
{ && o._ixchSzAlt == _ixchSzAlt
if(((Ffn)o)._chs == _chs) && Arrays.equals(o._panose,_panose)
{ && Arrays.equals(o._fontSig,_fontSig)
if(((Ffn)o)._ixchSzAlt == _ixchSzAlt) && Arrays.equals(o._xszFfn,_xszFfn)
{ );
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;
} }

View File

@ -138,29 +138,20 @@ public final class FontTable
} }
@Override @Override
public boolean equals(Object o) public boolean equals(Object other) {
{ if (!(other instanceof FontTable)) return false;
boolean retVal = true; FontTable o = (FontTable)other;
if(((FontTable)o).getStringCount() == _stringCount) if (o._stringCount != this._stringCount
{ || o._extraDataSz != this._extraDataSz
if(((FontTable)o).getExtraDataSz() == _extraDataSz) || o._fontNames.length != this._fontNames.length
{ ) return false;
Ffn[] fontNamesNew = ((FontTable)o).getFontNames();
for(int i = 0;i<_stringCount; i++) for (int i=0; i<o._fontNames.length; i++) {
{ if (!o._fontNames[i].equals(this._fontNames[i])) return false;
if(!(_fontNames[i].equals(fontNamesNew[i])))
retVal = false;
}
} }
else
retVal = false; return true;
}
else
retVal = false;
return retVal;
} }
@Override @Override

View File

@ -76,6 +76,7 @@ public final class ParagraphHeight
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof ParagraphHeight)) return false;
ParagraphHeight ph = (ParagraphHeight)o; ParagraphHeight ph = (ParagraphHeight)o;
return infoField == ph.infoField && reserved == ph.reserved && return infoField == ph.infoField && reserved == ph.reserved &&

View File

@ -163,6 +163,8 @@ public abstract class PropertyNode<T extends PropertyNode<T>> implements Compar
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof PropertyNode)) return false;
if (limitsAreEqual(o)) if (limitsAreEqual(o))
{ {
Object testBuf = ((PropertyNode<?>)o)._buf; Object testBuf = ((PropertyNode<?>)o)._buf;

View File

@ -80,6 +80,7 @@ public final class SectionDescriptor
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof SectionDescriptor)) return false;
SectionDescriptor sed = (SectionDescriptor)o; SectionDescriptor sed = (SectionDescriptor)o;
return sed.fn == fn && sed.fnMpr == fnMpr; return sed.fn == fn && sed.fnMpr == fnMpr;
} }

View File

@ -178,28 +178,22 @@ public final class StyleSheet implements HDFType {
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof StyleSheet)) return false;
StyleSheet ss = (StyleSheet)o; StyleSheet ss = (StyleSheet)o;
if (ss._stshif.equals( this._stshif ) && ss._cbStshi == _cbStshi) if (!ss._stshif.equals( this._stshif )
{ || ss._cbStshi != this._cbStshi
if (ss._styleDescriptions.length == _styleDescriptions.length) || ss._styleDescriptions.length != this._styleDescriptions.length
{ ) return false;
for (int x = 0; x < _styleDescriptions.length; x++)
{ for (int i=0; i<_styleDescriptions.length; i++) {
// check for null StyleDescription tsd = this._styleDescriptions[i];
if (ss._styleDescriptions[x] != _styleDescriptions[x]) StyleDescription osd = ss._styleDescriptions[i];
{ if (tsd == null && osd == null) continue;
// check for equality if (tsd == null || osd == null || !osd.equals(tsd)) return false;
if (!ss._styleDescriptions[x].equals(_styleDescriptions[x]))
{
return false;
}
}
}
return true;
}
} }
return false;
return true;
} }
@Override @Override

View File

@ -204,13 +204,16 @@ public class TextPiece extends PropertyNode<TextPiece>
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (limitsAreEqual(o)) if (!(o instanceof TextPiece)) return false;
{ TextPiece tp = (TextPiece)o;
TextPiece tp = (TextPiece)o; assert(_buf != null && tp._buf != null && _pd != null && tp._pd != null);
return getStringBuilder().toString().equals(tp.getStringBuilder().toString()) &&
tp._usesUnicode == _usesUnicode && _pd.equals(tp._pd); return (
} limitsAreEqual(o)
return false; && tp._usesUnicode == this._usesUnicode
&& tp._buf.toString().equals(this._buf.toString())
&& tp._pd.equals(this._pd)
);
} }
@Override @Override

View File

@ -160,6 +160,7 @@ public class TextPieceTable implements CharIndexTranslator
public boolean equals( Object o ) public boolean equals( Object o )
{ {
if (!(o instanceof TextPieceTable)) return false;
TextPieceTable tpt = (TextPieceTable) o; TextPieceTable tpt = (TextPieceTable) o;
int size = tpt._textPieces.size(); int size = tpt._textPieces.size();

View File

@ -43,6 +43,7 @@ public final class UPX
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof UPX)) return false;
UPX upx = (UPX)o; UPX upx = (UPX)o;
return Arrays.equals(_upx, upx._upx); return Arrays.equals(_upx, upx._upx);
} }

View File

@ -154,6 +154,7 @@ public final class SprmBuffer implements Cloneable
@Override @Override
public boolean equals(Object obj) public boolean equals(Object obj)
{ {
if (!(obj instanceof SprmBuffer)) return false;
SprmBuffer sprmBuf = (SprmBuffer)obj; SprmBuffer sprmBuf = (SprmBuffer)obj;
return (Arrays.equals(_buf, sprmBuf._buf)); return (Arrays.equals(_buf, sprmBuf._buf));
} }

View File

@ -71,6 +71,7 @@ public final class BorderCode implements Cloneable {
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof BorderCode)) return false;
BorderCode brc = (BorderCode)o; BorderCode brc = (BorderCode)o;
return _info == brc._info && _info2 == brc._info2; return _info == brc._info && _info2 == brc._info2;
} }

View File

@ -75,6 +75,7 @@ public final class DateAndTime
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof DateAndTime)) return false;
DateAndTime dttm = (DateAndTime)o; DateAndTime dttm = (DateAndTime)o;
return _info == dttm._info && _info2 == dttm._info2; return _info == dttm._info && _info2 == dttm._info2;
} }

View File

@ -75,6 +75,7 @@ public final class LineSpacingDescriptor
@Override @Override
public boolean equals(Object o) public boolean equals(Object o)
{ {
if (!(o instanceof LineSpacingDescriptor)) return false;
LineSpacingDescriptor lspd = (LineSpacingDescriptor)o; LineSpacingDescriptor lspd = (LineSpacingDescriptor)o;
return _dyaLine == lspd._dyaLine && _fMultiLinespace == lspd._fMultiLinespace; return _dyaLine == lspd._dyaLine && _fMultiLinespace == lspd._fMultiLinespace;