<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
        "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
        "https://checkstyle.org/dtds/suppressions_1_2.dtd">

<!--
     // 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.
-->

<suppressions>
  <suppress checks="ConstantName"
            files="ApplicationStatus.java"
            lines="26-29"/>
  <suppress id="preventJavadocUnusedImports"
            files=".*samza-api.*"/>
</suppressions>

