<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.0//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_0.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="." files=".*[/\\]generated[/\\].*\.java"/>
    <suppress checks="." files=".*[/\\]org[/\\]apache[/\\]calcite[/\\].*\.java"/>
    <suppress checks="MagicNumberCheck" files=".*Test\.java"/>

    <!--
    /* Temporary Suppressions
     * The following files should be removed the suppression list after their checkstyle errors are fixed.
     */
    -->
    <suppress checks="." files=".*[/\\]metadata[/\\].*\.java"/>

    <suppress checks="LocalVariableName" files=".*Test\.java"/>
    <suppress checks="LocalVariableName"
              files="(KylinConfig|BytesUtil|SSHClient|CuboidRecommender|AggregationGroup|FunctionRule|CubingUtils|CalculateStatsFromBaseCuboidJob|KafkaInputFormati|DeployUtil|BuildCubeWithEngine|KafkaInputFormat).java"/>
    <suppress checks="LocalVariableName"
              files="(ExtractDictionaryFromGlobalJob|FactDistinctColumnsJob|UHCDictionaryJob|SparkExecutable|UnitTestSupport|AccessService|QueryService|AclEvaluate|MrJobInfoExtractor|CubeDescCreator).java"/>

    <suppress checks="LocalFinalVariableName"
              files="(StorageCleanupJob|DeployUtil).java"/>

    <suppress checks="IllegalImport"
              files="Bytes.java"/>

    <suppress checks="MemberName" files=".*Test\.java"/>
    <suppress checks="MemberName"
              files="(TrieDictionaryBuilder|SparkFactDistinct|GTScannerBenchmark|TableMetaStub|JobInstance|DimCountDistinctCounter|ColumnMeta|ColumnMetaWithType|TableMeta|BlockingReservoir|RecordEventTimeDetail|HiveProducer|HBaseScannerBenchmark|AppendDictNode|GTScannerBenchmark2).java"/>

    <suppress checks="TypeName"
              files="ColumnMetaWithType.java"/>

    <suppress checks="BooleanExpressionComplexity"
              files="(Bytes|Number2BytesConverter|CubeService).java"/>

    <suppress checks="ParameterNumber"
              files="(QueryContext|GTScanRequest|HiveTableMeta|KylinMeta).java"/>

    <suppress checks="OneStatementPerLine"
              files="UHCDictionaryReducer.java"/>

    <suppress checks="IllegalImport" files="FragmentData.java"/>

</suppressions>
