<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<FindBugsFilter
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="https://github.com/spotbugs/filter/3.0.0"
        xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 https://raw.githubusercontent.com/spotbugs/spotbugs/3.1.0/spotbugs/etc/findbugsfilter.xsd">

    <!-- Protobuf generated files would be under the .generated package -->
    <Match>
        <Class name="~.*\.generated.*"/>
        <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
    </Match>
    <Match>
        <Class name="~.*\.generated.*"/>
        <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
    </Match>
    <Match>
        <Class name="~.*\.generated.*"/>
        <Bug pattern="UC_USELESS_CONDITION"/>
    </Match>
    <Match>
        <Class name="~.*\.generated.*"/>
        <Bug pattern="UCF_USELESS_CONTROL_FLOW_NEXT_LINE"/>
    </Match>
    <Match>
        <Class name="~.*\.generated.*"/>
        <Bug pattern="SE_BAD_FIELD"/>
    </Match>
    
    <!-- Launcher would be removed when we move to Flink-1.10 -->
    <Match>
        <Class name="~org\.apache.flink\.statefun\.flink\.launcher.*"/>
        <Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME"/>
    </Match>

    <!-- These fields are used for padding, to avoid false cache lines sharing -->
    <Match>
        <Class name="~org\.apache.flink\.statefun\.flink\.core\.queue\.Locks.*"/>
        <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/>
    </Match>

    <!-- These fields are initialized on #set -->
    <Match>
        <Class name="~org\.apache.flink\.statefun\.flink\.common\.protobuf.*StreamView"/>
        <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
    </Match>

    <Match>
        <Class name="~org\.apache.flink\.statefun\.flink\.state\.processor\.operator\.FunctionsStateBootstrapOperator"/>
        <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
    </Match>

    <!-- These classes allow setting / getting fields with modifiable types without a defensive copy -->
    <Match>
        <Class name="~org\.apache.flink\.statefun\.sdk\.kinesis\.ingress\.IngressRecord"/>
        <Bug pattern="EI_EXPOSE_REP"/>
    </Match>
    <Match>
        <Class name="~org\.apache.flink\.statefun\.sdk\.kinesis\.ingress\.IngressRecord\$Builder"/>
        <Bug pattern="EI_EXPOSE_REP2"/>
    </Match>
    <Match>
        <Class name="~org\.apache.flink\.statefun\.sdk\.kinesis\.egress\.EgressRecord"/>
        <Bug pattern="EI_EXPOSE_REP"/>
    </Match>
    <Match>
        <Class name="~org\.apache.flink\.statefun\.sdk\.kinesis\.egress\.EgressRecord\$Builder"/>
        <Bug pattern="EI_EXPOSE_REP2"/>
    </Match>

    <!-- 3rd party -->
    <Match>
        <Class name="~it\.unimi\.dsi\.fastutil\.objects\.ObjectOpenHashMap"/>
        <Bug pattern="HE_HASHCODE_USE_OBJECT_EQUALS"/>
    </Match>

    <!-- 
         This inspection is disabled globally because, in Flink world it is very common
         to have transient fields that are initialized on open, initializeState or alike.
    -->
    <Match>
        <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
    </Match>
    
    <Match>
        <Package name="~org\.apache\.flink\.statefun\.examples\.ridesharing\.simulator.*" />
    </Match>


</FindBugsFilter>
