Hmm, I 've done it too fast.
<xsl:template match="Match">
<xsl:if test="preceding-sibling::Match[
Class/@name = current()/Class/@name
and Bug/@pattern = current()/Bug/@pattern
and (Field/@name = current()/Field/@name
or Method/@name = current()/Method/@name
or (not(Method) and not(current()/Method) and not(Field) and
not(current()/Field)))]">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
This gives a more complete list (see atteched output)
Le 19/01/2012 13:33, Pascal Sancho a écrit :
> Hi Chris,
>
> found just one duplication:
> <Match>
> <Class name="org.apache.fop.afp.AFPPaintingState"/>
> <Field name="colorConverter"/>
> <Bug pattern="SE_BAD_FIELD_STORE"/>
> </Match>
>
> using following template:
> <xsl:template match="Match">
> <xsl:if test="preceding-sibling::Match[
> Class/@name = current()/Class/@name
> and Field/@name = current()/Field/@name
> and Bug/@pattern = current()/Bug/@pattern]">
> <xsl:copy-of select="."/>
> </xsl:if>
> </xsl:template>
>
> HTH,
>
>
> Le 18/01/2012 18:07, Chris Bowditch a écrit :
>> On 18/01/2012 15:51, Glenn Adams wrote:
>>> I recall that someone (Jeremias or Simon?) had mechanically generated
>>> some exclusions to add to this file. It is possible that duplicates
>>> got inserted in that process. I know of no reason to retain duplicates.
>>
>> Thanks Glenn. I've removed the duplicates that I noticed initially, but
>> I can see there are some more. Due to the size of the file, it will
>> probably require some automated process to remove all the duplicates.
>>
>> Thanks,
>>
>> Chris
>>
>>>
>>> On Wed, Jan 18, 2012 at 6:39 AM, Chris Bowditch
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>
>>> Hi Fellow Committers,
>>>
>>> I was reviewing the current set of warnings generated by FindBugs
>>> and found myself needing to add an extra exclusion. I noticed that
>>> the exclusions file contains a lot of duplicates, e.g.
>>>
>>> <Match>
>>> <Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
>>> <Method name="setAdditionalParameters"/>
>>> <Bug pattern="BC_UNCONFIRMED_CAST"/>
>>> </Match>
>>> <Match>
>>> <Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
>>> <Method name="setAdditionalParameters"/>
>>> <Bug pattern="BC_UNCONFIRMED_CAST"/>
>>> </Match>
>>>
>>> Does anyone know why the duplicates exist? I confirmed that
>>> removing the duplicates does not re-introduce any warnings with
>>> FindBugs 1.3.9.
>>>
>>> Thanks,
>>>
>>> Chris
>>>
>>>
>>
>
--
Pascal
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
<Match>
<Class name="java.net.URLClassLoader"/>
<!--Neither method nor field-->
<Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/>
</Match>
<Match>
<Class name="org.apache.fop.afp.AFPPaintingState"/>
<Field name="colorConverter"/>
<Bug pattern="SE_BAD_FIELD_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.ByteVector"/>
<Method name="<init>"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.hyphenation.CharVector"/>
<Method name="<init>"/>
<Bug pattern="EI_EXPOSE_REP2"/>
</Match>
<Match>
<Class name="org.apache.fop.pdf.StreamCacheFactory"/>
<Method name="getInstance"/>
<Bug pattern="LI_LAZY_INIT_STATIC"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.properties.NumberProperty"/>
<Method name="<init>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.properties.NumberProperty"/>
<Method name="<init>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.CIDSubset"/>
<Method name="mapSubsetChar"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.Helvetica"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.HelveticaBold"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.HelveticaBoldOblique"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.HelveticaOblique"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.TimesBold"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.TimesBoldItalic"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.TimesItalic"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fonts.base14.TimesRoman"/>
<Method name="<clinit>"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
<Method name="startPage"/>
<Bug pattern="DM_NUMBER_CTOR"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.flow.Footnote"/>
<Method name="addChildNode"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.flow.ListItem"/>
<Method name="addChildNode"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.flow.ListItem"/>
<Method name="addChildNode"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.pagination.PageSequence"/>
<Method name="addChildNode"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.pagination.PageSequence"/>
<Method name="addChildNode"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.pdf.PDFFactory"/>
<Method name="makeFont"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
<Method name="setAdditionalParameters"/>
<Bug pattern="BC_UNCONFIRMED_CAST"/>
</Match>
<Match>
<Class name="org.apache.fop.fo.FOText"/>
<Method name="isWordChar"/>
<Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.inline.AlignmentContext"/>
<Method name="<init>"/>
<Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
</Match>
<Match>
<Class name="org.apache.fop.tools.anttasks.Fop"/>
<Method name="execute"/>
<Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.AbstractBreaker"/>
<Method name="justifyBoxes"/>
<Bug pattern="DLS_DEAD_LOCAL_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
<Method name="getNextKnuthElements"/>
<Bug pattern="DLS_DEAD_LOCAL_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.inline.ContentLayoutManager"/>
<Method name="fillArea"/>
<Bug pattern="DLS_DEAD_LOCAL_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer"/>
<Method name="addChild"/>
<Bug pattern="DLS_DEAD_LOCAL_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
<Method name="addCloseGroupMark"/>
<Bug pattern="DLS_DEAD_LOCAL_STORE"/>
</Match>
<Match>
<Class name="org.apache.fop.render.awt.viewer.ImageProxyPanel"/>
<Method name="paintComponent"/>
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
</Match>
<Match>
<Class name="org.apache.fop.render.pcl.PCLGenerator"/>
<Method name="paintBitmap"/>
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>
</Match>
<Match>
<Class name="org.apache.fop.layoutmgr.BlockLevelLayoutManager"/>
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
<Match>
<Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
<Match>
<Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
<Match>
<Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
<!--Neither method nor field-->
<Bug pattern="RI_REDUNDANT_INTERFACES"/>
</Match>
</FindBugsFilter>