123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- <?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>
|