<?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.
-->
<!-- 
  Modified version of the cxf ruleset to turn off warnings that are common 
  in generated code.   Some code generators (like SDO) output some code
  that generate some PMD warnings.   We run PMD as part of the maven 
  build prior to generating code, so it's not a problem there.   But in 
  Eclipse, we need a PMD ruleset that turns off those warnings as the
  PMD eclipse plugin doesn't have a way to not run on certain files
  -->
<ruleset name="pmd-eclipse-generated">
    <description>PMD Plugin preferences rule set</description>


    <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
    <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
    <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
    <!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
    <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
    <!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
    <!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
    <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
    <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
    <!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
    <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
    <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
    <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
    <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
    <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
    <!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->

    <!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
    <!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
    <!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
    <!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->

    <!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
    <!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
    <!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->

    <!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
    <!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
    <!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
    <!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
    <!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
    <!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->

    <!--<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>-->
    <!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
    <!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
    <!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
    <!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
    <!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
    <!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
    <!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
    <!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
    <!--<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>-->
    <!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->

    <!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
    <!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
    <!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->

    <!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
    <!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
    <!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
    <!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
    <!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
    <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
    <!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
    <!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
    <!--<rule ref="rulesets/design.xml/BadComparison"/>-->
    <!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
    <!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
    <!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
    <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
    <!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
    <!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
    <rule ref="rulesets/design.xml/IdempotentOperations"/>
    <!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
    <!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
    <!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
    <!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
    <!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
    <!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
    <rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
    <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
    <rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
    <rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
    <rule ref="rulesets/design.xml/SimplifyConditional"/>
    <!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
    <!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
    <!--rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/-->
    <!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
    <!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
    <!--<rule ref="rulesets/design.xml/UseSingleton"/>-->

    <!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
    <!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
    <!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
    <!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
    <!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
    <!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->

    <!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
    <!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
    <!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
    <!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->

    <!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
    <!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->

    <!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
    <!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
    <!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
    <!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
    <!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
    <!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
    <!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
    <!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->

    <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
    <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>
    <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
    <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
    <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
    <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
    <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
    <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->

    <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
    <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
    <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
    <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
    <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
    <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
    <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
    <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
    <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
    <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
    <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
    <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
    <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
    <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->

    <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
    <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
    <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
    <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
    <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
    <!--<rule ref="rulesets/optimizations.xml/UseStringBuilderForStringAppends"/>-->

    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
    <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
    <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->

    <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
    <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
    <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
    <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuilder"/>-->
    <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->

    <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
    <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->

    <!--rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/-->
    <!--rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/-->
    <!--rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/-->
    <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->

    <rule name="DontUseLoggerGetLogger"
          message="Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead"
          class="net.sourceforge.pmd.rules.XPathRule">
        <priority>2</priority>
        <description>Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead</description>
        <properties>
            <property name="xpath">
                <value>
<![CDATA[
//PrimaryPrefix/Name[ends-with(@Image, 'Logger.getLogger') and //PackageDeclaration/Name[starts-with(@Image, 'org.apache.cxf')]]
]]>
                </value>
            </property>
        </properties>
    </rule>

</ruleset>
