<?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="BooleanInstantiation" />
	<exclude name="ClassCastExceptionWithToArray" />
	<exclude name="CollapsibleIfStatements" />
	<exclude name="DoubleCheckedLocking" />
	<exclude name="ExtendsObject" />
	<exclude name="OverrideBothEqualsAndHashcode" />
  </rule>
  <rule ref="rulesets/java/unusedcode.xml">
	<exclude name="UnusedFormalParameter" />
	<exclude name="UnusedLocalVariable" />
	<exclude name="UnusedModifier" />
	<exclude name="UnusedPrivateField" />
	<exclude name="UnusedPrivateMethod" />
  </rule>
  <rule ref="rulesets/java/imports.xml" >
	<exclude name="ImportFromSamePackage" />
	<exclude name="UnnecessaryFullyQualifiedName" />
  </rule>
  <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" />
	<exclude name="EmptyIfStmt" />
	<exclude name="EmptyStatementNotInLoop" />
	<exclude name="EmptyWhileStmt" />
  </rule>
  <rule ref="rulesets/java/migrating.xml" />
  <rule ref="rulesets/java/unnecessary.xml">
	<exclude name="UnnecessaryConversionTemporary" />
	<exclude name="UnnecessaryReturn" />
	<exclude name="UnusedNullCheckInEquals" />
	<exclude name="UselessOverridingMethod" />
	<exclude name="UselessParentheses" />
	<exclude name="UnnecessaryFinalModifier" />
  </rule>

</ruleset>
