More PMD ruleset updates
diff --git a/buildtools/src/main/resources/cxf-pmd-ruleset.xml b/buildtools/src/main/resources/cxf-pmd-ruleset.xml
index 8fa2a78..e7796e2 100644
--- a/buildtools/src/main/resources/cxf-pmd-ruleset.xml
+++ b/buildtools/src/main/resources/cxf-pmd-ruleset.xml
@@ -34,6 +34,7 @@
<rule ref="category/java/bestpractices.xml">
<exclude name="AbstractClassWithoutAbstractMethod" />
+ <exclude name="AccessorClassGeneration" />
<exclude name="AccessorMethodGeneration" />
<exclude name="ArrayIsStoredDirectly" />
<exclude name="AvoidPrintStackTrace" />
@@ -41,70 +42,38 @@
<exclude name="AvoidStringBufferField" />
<exclude name="AvoidUsingHardCodedIP" />
<exclude name="ConstantsInInterface" />
+ <exclude name="ForLoopCanBeForeach" />
<exclude name="GuardLogStatement" />
<exclude name="JUnitAssertionsShouldIncludeMessage" />
<exclude name="JUnitTestContainsTooManyAsserts" />
<exclude name="JUnitTestsShouldIncludeAssert" />
<exclude name="JUnitUseExpected"/>
+ <exclude name="JUnit4TestShouldUseAfterAnnotation"/>
+ <exclude name="JUnit4TestShouldUseBeforeAnnotation" />
+ <exclude name="JUnit4TestShouldUseTestAnnotation"/>
<exclude name="MethodReturnsInternalArray" />
<exclude name="OneDeclarationPerLine" />
<exclude name="PreserveStackTrace" />
<exclude name="ReplaceEnumerationWithIterator" />
<exclude name="SwitchStmtsShouldHaveDefault" />
<exclude name="SystemPrintln" />
+ <exclude name="UnusedFormalParameter" />
+ <exclude name="UnusedPrivateMethod" />
+ <exclude name="UseAssertEqualsInsteadOfAssertTrue" />
<exclude name="UseAssertSameInsteadOfAssertTrue" />
<exclude name="UseVarargs" />
</rule>
- <rule ref="category/java/errorprone.xml">
- <exclude name="AssignmentInOperand" />
- <exclude name="AssignmentToNonFinalStatic" />
- <exclude name="AvoidBranchingStatementAsLastInLoop" />
- <exclude name="AvoidCatchingNPE" />
- <exclude name="AvoidCatchingThrowable" />
- <exclude name="AvoidDuplicateLiterals" />
- <exclude name="AvoidFieldNameMatchingMethodName" />
- <exclude name="AvoidLiteralsInIfCondition" />
- <exclude name="BeanMembersShouldSerialize" />
- <exclude name="CompareObjectsWithEquals" />
- <exclude name="ConstructorCallsOverridableMethod" />
- <exclude name="DataflowAnomalyAnalysis" />
- <exclude name="DoNotCallSystemExit" />
- <exclude name="EmptyCatchBlock" />
- <exclude name="EmptyIfStmt" />
- <exclude name="EmptySynchronizedBlock" />
- <exclude name="MissingBreakInSwitch" />
- <exclude name="MissingSerialVersionUID" />
- <exclude name="MoreThanOneLogger" />
- <exclude name="NullAssignment" />
- <exclude name="ReturnEmptyArrayRatherThanNull" />
- <exclude name="TestClassWithoutTestCases" />
- <exclude name="UseLocaleWithCaseConversions" />
- <exclude name="UseProperClassLoader" />
- </rule>
- <rule ref="category/java/multithreading.xml">
- <exclude name="AvoidUsingVolatile" />
- <exclude name="AvoidSynchronizedAtMethodLevel" />
- <exclude name="AvoidThreadGroup" />
- <exclude name="DoNotUseThreads" />
- <exclude name="DontCallThreadRun" />
- <exclude name="UseConcurrentHashMap" />
- <exclude name="UseNotifyAllInsteadOfNotify" />
- </rule>
- <rule ref="category/java/performance.xml">
- <exclude name="AvoidInstantiatingObjectsInLoops" />
- <exclude name="AvoidFileStream" />
- <exclude name="ConsecutiveLiteralAppends" />
- </rule>
- <rule ref="category/java/security.xml" />
<rule ref="category/java/design.xml" >
<exclude name="AvoidCatchingGenericException" />
<exclude name="AvoidDeeplyNestedIfStmts" />
+ <exclude name="AvoidRethrowingException" />
<exclude name="AvoidThrowingNullPointerException" />
<exclude name="AvoidThrowingRawExceptionTypes" />
<exclude name="CouplingBetweenObjects" />
<exclude name="CyclomaticComplexity" />
<exclude name="DataClass" />
+ <exclude name="ExceptionAsFlowControl" />
<exclude name="ExcessiveClassLength" />
<exclude name="ExcessiveImports" />
<exclude name="ExcessiveMethodLength" />
@@ -121,174 +90,66 @@
<exclude name="TooManyMethods" />
<exclude name="UseObjectForClearerAPI" />
<exclude name="UseUtilityClass" />
+ <exclude name="UselessOverridingMethod" />
</rule>
- <!-- Cleanup below -->
-
- <!--<rule ref="rulesets/java/design.xml/AbstractClassWithoutAbstractMethod"/>-->
- <!--<rule ref="rulesets/java/design.xml/AccessorClassGeneration"/>-->
- <!--<rule ref="rulesets/java/design.xml/AssignmentToNonFinalStatic"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidDeeplyNestedIfStmts"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
- <rule ref="rulesets/java/design.xml/AvoidProtectedFieldInFinalClass"/>
- <!--<rule ref="rulesets/java/design.xml/AvoidReassigningParameters"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
- <!--<rule ref="rulesets/java/design.xml/BadComparison"/>-->
- <!--<rule ref="rulesets/java/design.xml/CloseConnection"/>-->
- <!--<rule ref="rulesets/java/design.xml/CompareObjectsWithEquals"/>-->
- <!--<rule ref="rulesets/java/design.xml/ConfusingTernary"/>-->
- <rule ref="rulesets/java/design.xml/ConstructorCallsOverridableMethod"/>
- <!--<rule ref="rulesets/java/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
- <!--<rule ref="rulesets/java/design.xml/FinalFieldCouldBeStatic"/>-->
- <rule ref="rulesets/java/design.xml/IdempotentOperations"/>
- <!--<rule ref="rulesets/java/design.xml/ImmutableField"/>-->
- <!--<rule ref="rulesets/java/design.xml/InstantiationToGetClass"/>-->
- <!--<rule ref="rulesets/java/design.xml/MissingBreakInSwitch"/>-->
- <!--<rule ref="rulesets/java/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
- <!--<rule ref="rulesets/java/design.xml/NonCaseLabelInSwitchStatement"/>-->
- <!--<rule ref="rulesets/java/design.xml/NonStaticInitializer"/>-->
- <rule ref="rulesets/java/design.xml/PositionLiteralsFirstInComparisons"/>
- <rule ref="rulesets/java/design.xml/SimplifyBooleanExpressions"/>
- <rule ref="rulesets/java/design.xml/SimplifyBooleanReturns"/>
- <rule ref="rulesets/java/design.xml/SimplifyConditional"/>
- <!--<rule ref="rulesets/java/design.xml/SwitchDensity"/>-->
- <!--<rule ref="rulesets/java/design.xml/SwitchStmtsShouldHaveDefault"/>-->
- <rule ref="rulesets/java/design.xml/UnnecessaryLocalBeforeReturn"/>
- <!--<rule ref="rulesets/java/design.xml/UseLocaleWithCaseConversions"/>-->
- <!--<rule ref="rulesets/java/design.xml/UseNotifyAllInsteadOfNotify"/>-->
- <!--<rule ref="rulesets/java/design.xml/UseUtilityClass"/>-->
-
-
- <rule ref="rulesets/java/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/java/basic.xml/DoubleCheckedLocking"/>
- <!--<rule ref="rulesets/java/empty.xml/EmptyCatchBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyFinallyBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/java/empty.xml/EmptyStatementNotInLoop"/>
- <!--<rule ref="rulesets/java/empty.xml/EmptyInitializer"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptySwitchStatements"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptySynchronizedBlock"/>-->
- <!--<rule ref="rulesets/java/java/basic.xml/EmptyTryBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/java/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/java/basic.xml/JumbledIncrementer"/>
- <!--<rule ref="rulesets/java/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/java/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/java/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryModifier"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryReturn"/>
- <!--<rule ref="rulesets/java/unnecessary.xml/UselessOverridingMethod"/>-->
-
- <!--<rule ref="rulesets/java/braces.xml/ForLoopsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/IfElseStmtsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/IfStmtsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/WhileLoopsMustUseBraces"/>-->
-
- <!--<rule ref="rulesets/java/clone.xml/CloneMethodMustImplementCloneable"/>-->
- <!--<rule ref="rulesets/java/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
- <!--<rule ref="rulesets/java/clone.xml/ProperCloneImplementation"/>-->
-
- <!--<rule ref="rulesets/java/codesize.xml/CyclomaticComplexity"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveClassLength"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveMethodLength"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveParameterList"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessivePublicCount"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/TooManyFields"/>-->
-
- <!--<rule ref="rulesets/java/controversial.xml/AssignmentInOperand"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/AtLeastOneConstructor"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/CallSuperInConstructor"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/DontImportSun"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/NullAssignment"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/OnlyOneReturn"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/SingularField"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/SuspiciousOctalEscape"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/UnnecessaryConstructor"/>-->
- <!--<rule ref="rulesets/java/unnecessary.xml/UselessParentheses"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/UnusedModifier"/>-->
-
- <!--<rule ref="rulesets/java/coupling.xml/CouplingBetweenObjects"/>-->
- <!--<rule ref="rulesets/java/coupling.xml/ExcessiveImports"/>-->
- <!--<rule ref="rulesets/java/coupling.xml/LooseCoupling"/>-->
-
- <!--<rule ref="rulesets/java/finalizers.xml/EmptyFinalizer"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeOverloaded"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeShouldBeProtected"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/AvoidCallingFinalize"/>-->
-
- <!--<rule ref="rulesets/java/imports.xml/DuplicateImports"/>-->
- <!--<rule ref="rulesets/java/imports.xml/DontImportJavaLang"/>-->
- <!--<rule ref="rulesets/java/imports.xml/UnusedImports"/>-->
- <!--<rule ref="rulesets/java/imports.xml/ImportFromSamePackage"/>-->
-
- <!--<rule ref="rulesets/java/javabeans.xml/BeanMembersShouldSerialize"/>-->
- <!--<rule ref="rulesets/java/javabeans.xml/MissingSerialVersionUID"/>-->
-
- <!--<rule ref="rulesets/java/junit.xml/JUnitStaticSuite"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitSpelling"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
- <!--<rule ref="rulesets/java/junit.xml/TestClassWithoutTestCases"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UnnecessaryBooleanAssertion"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/java/logging-java.xml/AvoidPrintStackTrace"/>-->
- <rule ref="rulesets/java/logging-java.xml/LoggerIsNotStaticFinal"/>
- <!--<rule ref="rulesets/java/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/java/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/java/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/java/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/java/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/java/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/java/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/java/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/java/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/java/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/UseStringBuilderForStringAppends"/>-->
-
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/java/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/java/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/java/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/java/strings.xml/AvoidConcatenatingNonLiteralsInStringBuilder"/>-->
- <!--<rule ref="rulesets/java/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/java/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/java/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField"/>
- <!--<rule ref="rulesets/java/unusedcode.xml/UnusedPrivateMethod"/>-->
- <!--<rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter"/>-->
+ <rule ref="category/java/errorprone.xml">
+ <exclude name="AssignmentInOperand" />
+ <exclude name="AssignmentToNonFinalStatic" />
+ <exclude name="AvoidBranchingStatementAsLastInLoop" />
+ <exclude name="AvoidAccessibilityAlteration" />
+ <exclude name="AvoidCatchingNPE" />
+ <exclude name="AvoidCatchingThrowable" />
+ <exclude name="AvoidDuplicateLiterals" />
+ <exclude name="AvoidFieldNameMatchingMethodName" />
+ <exclude name="AvoidFieldNameMatchingTypeName" />
+ <exclude name="AvoidInstanceofChecksInCatchClause" />
+ <exclude name="AvoidLiteralsInIfCondition" />
+ <exclude name="BeanMembersShouldSerialize" />
+ <exclude name="CompareObjectsWithEquals" />
+ <exclude name="ConstructorCallsOverridableMethod" />
+ <exclude name="DataflowAnomalyAnalysis" />
+ <exclude name="DoNotCallGarbageCollectionExplicitly" />
+ <exclude name="DoNotCallSystemExit" />
+ <exclude name="DoNotThrowExceptionInFinally" />
+ <exclude name="EmptyCatchBlock" />
+ <exclude name="EmptyIfStmt" />
+ <exclude name="EmptySynchronizedBlock" />
+ <exclude name="EmptyWhileStmt" />
+ <exclude name="MissingBreakInSwitch" />
+ <exclude name="MissingSerialVersionUID" />
+ <exclude name="MoreThanOneLogger" />
+ <exclude name="NullAssignment" />
+ <exclude name="ReturnEmptyArrayRatherThanNull" />
+ <exclude name="SuspiciousEqualsMethodName" />
+ <exclude name="TestClassWithoutTestCases" />
+ <exclude name="UseLocaleWithCaseConversions" />
+ <exclude name="UseProperClassLoader" />
+ </rule>
+ <rule ref="category/java/multithreading.xml">
+ <exclude name="AvoidUsingVolatile" />
+ <exclude name="AvoidSynchronizedAtMethodLevel" />
+ <exclude name="AvoidThreadGroup" />
+ <exclude name="DoNotUseThreads" />
+ <exclude name="DontCallThreadRun" />
+ <exclude name="NonThreadSafeSingleton" />
+ <exclude name="UseConcurrentHashMap" />
+ <exclude name="UseNotifyAllInsteadOfNotify" />
+ </rule>
+ <rule ref="category/java/performance.xml">
+ <exclude name="AvoidInstantiatingObjectsInLoops" />
+ <exclude name="AvoidFileStream" />
+ <exclude name="AvoidUsingShortType" />
+ <exclude name="ConsecutiveLiteralAppends" />
+ <exclude name="ConsecutiveAppendsShouldReuse" />
+ <exclude name="InefficientEmptyStringCheck" />
+ <exclude name="RedundantFieldInitializer" />
+ <exclude name="SimplifyStartsWith" />
+ <exclude name="StringInstantiation" />
+ <exclude name="UselessStringValueOf" />
+ <exclude name="UseStringBufferForStringAppends" />
+ </rule>
+ <rule ref="category/java/security.xml" />
<rule name="DontUseLoggerGetLogger"
message="Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead"