<?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.
-->
<ruleset name="ranger-pmd" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
  <description>
     Apache Ranger - PMD rule set
  </description>

  <rule ref="rulesets/java/basic.xml">
	<exclude name="AvoidBranchingStatementAsLastInLoop" />
	<exclude name="AvoidThreadGroup" />
	<exclude name="AvoidUsingHardCodedIP" />
	<exclude name="ClassCastExceptionWithToArray" />
	<exclude name="CollapsibleIfStatements" />
	<exclude name="DoubleCheckedLocking" />
	<exclude name="ExtendsObject" />
	<exclude name="OverrideBothEqualsAndHashcode" />
  </rule>
  <rule ref="rulesets/java/unusedcode.xml">
	<exclude name="UnusedPrivateField" />
	<exclude name="UnusedPrivateMethod" />
  </rule>
  <rule ref="rulesets/java/imports.xml" />
  <rule ref="rulesets/java/braces.xml">
	<exclude name="ForLoopsMustUseBraces" />
	<exclude name="IfElseStmtsMustUseBraces" />
	<exclude name="IfStmtsMustUseBraces" />
  </rule>
  <rule ref="rulesets/java/empty.xml">
	<exclude name="EmptyCatchBlock" />
  </rule>
  <rule ref="rulesets/java/migrating.xml" />
  <rule ref="rulesets/java/unnecessary.xml">
	<exclude name="UselessParentheses" />
  </rule>

</ruleset>
