| <?xml version="1.0" encoding="utf-8"?> |
| <FindBugsFilter> |
| |
| <!-- |
| ! |
| ! This file is divided into two parts: |
| ! 1. APPROVED EXCLUSIONS |
| ! 2. TEMPORARY (UNAPPROVED) EXCLUSIONS |
| ! |
| ! Approved exclusions come in two sub-types: |
| ! 1. general exclusion of a named bug pattern, meaning that all instances that matches the bug |
| ! pattern identifier are excluded; |
| ! 2. specific exclusions for a named bug pattern, meaning that all instance exclusions are |
| ! explicitly enumerated; |
| ! |
| ! All specific exclusions must be accompanied inline (i.e., in the affected source code) by |
| ! a commented out annotation of the form: |
| ! |
| ! // @SuppressFBWarnings("pattern identifier") |
| ! |
| ! where pattern identifier is one of findbugs' named patterns. At an appropriate point in the |
| ! future, these commented out annotations will be uncommented and exclusion patterns removed |
| ! from this file. |
| ! |
| ! Temporary (unapproved) exclusions are short-term work arounds that should be removed as |
| ! soon as possible by either (1) fixing (eliminating) cause of warning, or (2) conversion to |
| ! approved exclusion. |
| ! |
| ! The organization of pattern matches employs the following levels (from top down): |
| ! 1. bug pattern |
| ! 2. or clause matching instances |
| ! 3. class name, if applies to class/interface |
| ! 4. and clause matching class/instance and single or or clause of multiple {method,field} members |
| ! |
| ! for example, |
| ! |
| ! <Match> |
| ! <Bug pattern="pattern identifier"/> |
| ! <Or> |
| ! <And> |
| ! <Class name="dotted class name"/> |
| ! <Member name="unqualified member name"/> |
| ! </And> |
| ! </Or> |
| ! </Match> |
| ! |
| --> |
| |
| <!-- START - APPROVED EXCLUSIONS --> |
| <Match> |
| <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/> |
| <!-- OK; check mainly serves to cover case where both strings are null --> |
| <And> |
| <Class name="org.apache.fop.afp.AFPResourceInfo"/> |
| <Method name="equals"/> |
| </And> |
| </Match> |
| <Match> |
| <Bug pattern="BC_BAD_CAST_TO_CONCRETE_COLLECTION"/> |
| <!-- TODO - Not sure what to do with those two... Seems messy/hacky --> |
| <And> |
| <Class name="org.apache.fop.area.AreaTreeObject"/> |
| <Method name="clone"/> |
| </And> |
| </Match> |
| <Match> |
| <Bug pattern="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE"/> |
| <!-- TODO - See if these can be solved in a better way --> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/> |
| <Or> |
| <Method name="createFootnotePages"/> |
| <Method name="finish"/> |
| </Or> |
| </And> |
| <And> |
| <Class name="org.apache.fop.render.rtf.RTFHandler"/> |
| <Or> |
| <Method name="endCell"/> |
| <Method name="endFootnoteBody"/> |
| <Method name="endPart"/> |
| <Method name="endRow"/> |
| <Method name="startCell"/> |
| <Method name="startFootnoteBody"/> |
| <Method name="startListItem"/> |
| <Method name="startListLabel"/> |
| <Method name="startPart"/> |
| <Method name="startRow"/> |
| </Or> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.render.intermediate.IFGraphicContext"/> |
| <Method name="clone"/> |
| </And> |
| <And> |
| <Class name="org.apache.fop.svg.text.BidiAttributedCharacterIterator"/> |
| <Method name="clone"/> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="DM_DEFAULT_ENCODING"/> |
| <Or> |
| <!-- default encoding used as a fallback/last resort --> |
| <Or> |
| <And> |
| <Method name="getNameBytes"/> |
| <Or> |
| <Class name="org.apache.fop.afp.fonts.CharacterSet"/> |
| <Class name="org.apache.fop.afp.modca.AbstractNamedAFPObject"/> |
| </Or> |
| </And> |
| <And> |
| <Class name="org.apache.fop.pdf.PDFDocument"/> |
| <Method name="encode"/> |
| </And> |
| </Or> |
| <!-- reads from or writes to terminal/console --> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.fonts.autodetect.WindowsFontDirFinder"/> |
| <Method name="getWinDir"/> |
| </And> |
| <And> |
| <Class name="org.apache.fop.hyphenation.HyphenationTree"/> |
| <Method name="main"/> |
| </And> |
| <And> |
| <Class name="org.apache.fop.render.rtf.rtflib.RtfFile"/> |
| <Method name="main"/> |
| </And> |
| </Or> |
| <!-- private method: byte-to-string and string-to-byte always on the same platform --> |
| <And> |
| <Class name="org.apache.fop.render.afp.AFPPainter$AFPBorderPainterAdapter"/> |
| <Method name="hash"/> |
| </And> |
| <!-- source encoding out of FOP's control (FontBox) --> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.fonts.cff.CFFDataReader"/> |
| <Method name="getString"/> |
| </And> |
| <And> |
| <Class name="org.apache.fop.fonts.truetype.OTFSubSetFile"/> |
| <Or> |
| <Method name="createCFF"/> |
| <Method name="writeROSEntry"/> |
| <Method name="writeStringIndex"/> |
| </Or> |
| </And> |
| <And> |
| <Class name="org.apache.fop.render.ps.PSFontUtils"/> |
| <Method name="embedType2CFF"/> |
| </And> |
| </Or> |
| </Or> |
| </Match> |
| <Match> |
| <!-- class only used when building? --> |
| <Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH"/> |
| <And> |
| <Class name="org.apache.fop.hyphenation.SerializeHyphPattern"/> |
| <Method name="serializeFile"/> |
| </And> |
| </Match> |
| <Match> |
| <Bug pattern="DM_EXIT"/> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.cli.CommandLineOptions"/> |
| <Or> |
| <Method name="parseCustomOutputOption"/> |
| <Method name="parseOptions"/> |
| </Or> |
| </And> |
| <And> |
| <Class name="org.apache.fop.cli.Main"/> |
| <Or> |
| <Method name="startFOP"/> |
| <Method name="startFOPWithDynamicClasspath"/> |
| </Or> |
| </And> |
| <And> |
| <Class name="org.apache.fop.tools.fontlist.FontListMain"/> |
| <Or> |
| <Method name="parseArguments"/> |
| </Or> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <!-- Only OK as long as the type of the base map remains plain HashMap... --> |
| <Bug pattern="DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS"/> |
| <And> |
| <Class name="org.apache.fop.fonts.truetype.OpenFont"/> |
| <Method name="sortDirTabMap"/> |
| </And> |
| </Match> |
| <Match> |
| <Bug pattern="EQ_ALWAYS_TRUE"/> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.fo.properties.ToBeImplementedProperty"/> |
| <Method name="equals"/> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="MS_EXPOSE_REP"/> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.fo.FOPropertyMapping"/> |
| <Method name="getGenericMappings"/> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/> |
| <Or> |
| <Class name="org.apache.fop.apps.MimeConstants"/> |
| <Class name="org.apache.fop.events.EventListener"/> |
| <Class name="org.apache.fop.render.Graphics2DImagePainter"/> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/> |
| <Or> |
| <Class name="org.apache.fop.render.ps.PSFontUtils"/> |
| <Class name="org.apache.fop.render.ps.PSImageUtils"/> |
| <Class name="org.apache.fop.svg.GraphicsConfiguration"/> |
| <Class name="org.apache.fop.svg.PDFTextUtil"/> |
| <Class name="org.apache.fop.util.QName"/> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH"/> |
| <!-- TODO - fix potential file descriptor leak --> |
| <And> |
| <Class name="org.apache.fop.hyphenation.SerializeHyphPattern"/> |
| <Method name="serializeFile"/> |
| </And> |
| </Match> |
| <Match> |
| <Bug pattern="SE_INNER_CLASS"/> |
| <Or> |
| <Class name="org.apache.fop.afp.AFPPaintingState$AFPData"/> |
| <Class name="org.apache.fop.area.inline.AbstractTextArea$TextAdjustingInfo"/> |
| <Class name="org.apache.fop.area.inline.InlineArea$InlineAdjustingInfo"/> |
| <Class name="org.apache.fop.area.LineArea$LineAdjustingInfo"/> |
| <Class name="org.apache.fop.pdf.PDFPaintingState$PDFData"/> |
| <Class name="org.apache.fop.util.AbstractPaintingState$StateStack"/> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
| <Or> |
| <And> |
| <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$Reloader"/> |
| <Method name="run"/> |
| </And> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/> |
| <Or> |
| <!-- TODO - fix later --> |
| <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement"/> |
| <!-- FOs not yet implemented --> |
| <Class name="org.apache.fop.fo.flow.MultiProperties"/> |
| <Class name="org.apache.fop.fo.flow.MultiPropertySet"/> |
| <Class name="org.apache.fop.fo.flow.MultiToggle"/> |
| <Class name="org.apache.fop.fo.flow.table.TableAndCaption"/> |
| <Class name="org.apache.fop.fo.flow.table.TableCaption"/> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/> |
| <Or> |
| <!-- TODO - Implementation incomplete? |
| If not, remove unused field(s) and unused accessors --> |
| <Class name="org.apache.fop.complexscripts.fonts.GlyphProcessingState"/> |
| <Class name="org.apache.fop.layoutmgr.inline.InlineStackingLayoutManager"/> |
| <Class name="org.apache.fop.pdf.PDFCMap"/> |
| <Class name="org.apache.fop.render.pdf.PDFSVGHandler$PDFInfo"/> |
| <Class name="org.apache.fop.svg.PDFGraphics2D"/> |
| <!-- Properties not yet implemented --> |
| <Class name="org.apache.fop.fo.flow.MultiToggle"/> |
| <Class name="org.apache.fop.fo.properties.CommonMarginInline"/> |
| <Class name="org.apache.fop.fo.properties.CommonRelativePosition"/> |
| </Or> |
| </Match> |
| <Match> |
| <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/> |
| <!-- Properties not yet implemented --> |
| <Class name="org.apache.fop.fo.properties.CommonAural"/> |
| </Match> |
| <Match> |
| <Class name="org.apache.fop.render.pdf.ImageRawPNGAdapter"/> |
| <Or> |
| <Method name="outputContents"/> |
| <Method name="setup"/> |
| </Or> |
| <Or> |
| <Bug pattern="OS_OPEN_STREAM"/> |
| <Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH"/> |
| </Or> |
| </Match> |
| <!-- END - APPROVED EXCLUSIONS --> |
| |
| <!-- START - TEMPORARY (UNAPPROVED) EXCLUSIONS --> |
| <Match> |
| <!-- 131 warnings --> |
| <Bug pattern="BC_UNCONFIRMED_CAST"/> |
| </Match> |
| <Match> |
| <!-- 15 warnings --> |
| <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/> |
| </Match> |
| <Match> |
| <!-- 27 warnings --> |
| <Bug pattern="DLS_DEAD_LOCAL_STORE"/> |
| </Match> |
| <Match> |
| <!-- 29 warnings --> |
| <Bug pattern="DM_CONVERT_CASE"/> |
| </Match> |
| <Match> |
| <!-- 17 warnings --> |
| <Bug pattern="DM_DEFAULT_ENCODING"/> |
| </Match> |
| <Match> |
| <!-- 20 warnings --> |
| <Bug pattern="DM_FP_NUMBER_CTOR"/> |
| </Match> |
| <Match> |
| <!-- 88 warnings --> |
| <Bug pattern="DM_NUMBER_CTOR"/> |
| </Match> |
| <Match> |
| <!-- 84 warnings --> |
| <Bug pattern="EI_EXPOSE_REP"/> |
| </Match> |
| <Match> |
| <!-- 55 warnings --> |
| <Bug pattern="EI_EXPOSE_REP2"/> |
| </Match> |
| <Match> |
| <!-- 12 warnings --> |
| <Bug pattern="FE_FLOATING_POINT_EQUALITY"/> |
| </Match> |
| <Match> |
| <!-- 12 warnings --> |
| <Bug pattern="MS_OOI_PKGPROTECT"/> |
| </Match> |
| <Match> |
| <!-- 15 warnings --> |
| <Bug pattern="MS_PKGPROTECT"/> |
| </Match> |
| <Match> |
| <!-- 11 warnings --> |
| <Bug pattern="NM_CONFUSING"/> |
| </Match> |
| <Match> |
| <!-- 46 warnings --> |
| <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/> |
| </Match> |
| <Match> |
| <!-- 10 warnings --> |
| <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/> |
| </Match> |
| <Match> |
| <!-- 23 warnings --> |
| <Bug pattern="REC_CATCH_EXCEPTION"/> |
| </Match> |
| <Match> |
| <!-- 11 warnings --> |
| <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/> |
| </Match> |
| <Match> |
| <!-- 33 warnings --> |
| <Bug pattern="SE_BAD_FIELD"/> |
| </Match> |
| <Match> |
| <!-- 21 warnings --> |
| <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/> |
| </Match> |
| <Match> |
| <!-- 20 warnings --> |
| <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/> |
| </Match> |
| <Match> |
| <!-- 12 warnings --> |
| <Bug pattern="URF_UNREAD_FIELD"/> |
| </Match> |
| <Match> |
| <!-- 58 warnings --> |
| <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/> |
| </Match> |
| |
| <!-- END - TEMPORARY (UNAPPROVED) EXCLUSIONS --> |
| |
| </FindBugsFilter> |