<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE import-control PUBLIC
  "-//Checkstyle//DTD ImportControl Configuration 1.4//EN"
  "https://checkstyle.org/dtds/import_control_1_4.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.
-->
<import-control pkg="org.apache.iotdb.db.it">
  <disallow class="java.sql.DriverManager"/>
  <disallow class="javax.sql.DataSource"/>
  <disallow pkg="org.apache.iotdb.jdbc.*"/>
  <allow pkg="java.util"/>
  <allow pkg="java.sql"/>
  <allow pkg="java.io"/>
  <allow pkg="java.math"/>
  <allow pkg="java.text"/>
  <allow class="java.nio.file.Files"/>
  <allow pkg="org\.junit.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.itbase" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.it.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.db\.it\.utils\.TestUtils.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.db\.constant\.TestConstant.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.common\.rpc\.thrift.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.confignode\.rpc\.thrift.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.db\.client.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.rpc.*" regex="true"/>
  <allow pkg="org\.apache\.commons\.lang3.*" regex="true"/>
  <allow pkg="org\.apache\.thrift.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.commons\.client\.sync.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.commons\.auth\.entity.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.commons\.conf.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.db\.qp\.logical\.sys.*" regex="true"/>
  <allow pkg="org\.apache\.iotdb\.db\.mpp\.common\.header.*" regex="true" />
  <allow pkg="org\.apache\.iotdb\.tsfile\.exception\.write.*" regex="true" />
  <allow pkg="org\.apache\.iotdb\.tsfile\.file\.metadata.*" regex="true" />
  <allow pkg="org\.apache\.iotdb\.tsfile\.read.*" regex="true" />
  <allow pkg="org\.apache\.iotdb\.tsfile\.utils.*" regex="true" />
  <allow pkg="org\.apache\.iotdb\.tsfile\.write.*" regex="true" />
  <allow pkg="org\.slf4j.*" regex="true" />
</import-control>
