forked from phoedos/pmd
work on option panes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6917 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
240
pmd-jedit/PMDPlugin/default_rules.props
Normal file
240
pmd-jedit/PMDPlugin/default_rules.props
Normal file
@@ -0,0 +1,240 @@
|
||||
# select some default rules to help new users get started. The selected rules
|
||||
# are those suggested by PMD best practices -- unused code, basic rules, some
|
||||
# design rules, a few controversial rules, and imports rules.
|
||||
options.pmd.rules.AbstractClassWithoutAbstractMethod=false
|
||||
options.pmd.rules.AbstractClassWithoutAnyMethod=false
|
||||
options.pmd.rules.AbstractNaming=false
|
||||
options.pmd.rules.AccessorClassGeneration=false
|
||||
options.pmd.rules.AddEmptyString=false
|
||||
options.pmd.rules.AppendCharacterWithChar=true
|
||||
options.pmd.rules.ArrayIsStoredDirectly=true
|
||||
options.pmd.rules.AssignmentInOperand=false
|
||||
options.pmd.rules.AssignmentToNonFinalStatic=false
|
||||
options.pmd.rules.AtLeastOneConstructor=false
|
||||
options.pmd.rules.AvoidAccessibilityAlteration=false
|
||||
options.pmd.rules.AvoidArrayLoops=false
|
||||
options.pmd.rules.AvoidAssertAsIdentifier=false
|
||||
options.pmd.rules.AvoidCallingFinalize=false
|
||||
options.pmd.rules.AvoidCatchingNPE=true
|
||||
options.pmd.rules.AvoidCatchingThrowable=true
|
||||
options.pmd.rules.AvoidConstantsInterface=false
|
||||
options.pmd.rules.AvoidDecimalLiteralsInBigDecimalConstructor=true
|
||||
options.pmd.rules.AvoidDeeplyNestedIfStmts=false
|
||||
options.pmd.rules.AvoidDollarSigns=false
|
||||
options.pmd.rules.AvoidDuplicateLiterals=true
|
||||
options.pmd.rules.AvoidEnumAsIdentifier=false
|
||||
options.pmd.rules.AvoidFieldNameMatchingMethodName=false
|
||||
options.pmd.rules.AvoidFieldNameMatchingTypeName=false
|
||||
options.pmd.rules.AvoidFinalLocalVariable=false
|
||||
options.pmd.rules.AvoidInstanceofChecksInCatchClause=false
|
||||
options.pmd.rules.AvoidInstantiatingObjectsInLoops=false
|
||||
options.pmd.rules.AvoidMultipleUnaryOperators=true
|
||||
options.pmd.rules.AvoidPrintStackTrace=false
|
||||
options.pmd.rules.AvoidProtectedFieldInFinalClass=false
|
||||
options.pmd.rules.AvoidReassigningParameters=false
|
||||
options.pmd.rules.AvoidRethrowingException=true
|
||||
options.pmd.rules.AvoidStringBufferField=true
|
||||
options.pmd.rules.AvoidSynchronizedAtMethodLevel=false
|
||||
options.pmd.rules.AvoidThreadGroup=true
|
||||
options.pmd.rules.AvoidThrowingNewInstanceOfSameException=true
|
||||
options.pmd.rules.AvoidThrowingNullPointerException=true
|
||||
options.pmd.rules.AvoidThrowingRawExceptionTypes=true
|
||||
options.pmd.rules.AvoidUsingHardCodedIP=true
|
||||
options.pmd.rules.AvoidUsingNativeCode=false
|
||||
options.pmd.rules.AvoidUsingOctalValues=true
|
||||
options.pmd.rules.AvoidUsingShortType=false
|
||||
options.pmd.rules.AvoidUsingVolatile=false
|
||||
options.pmd.rules.BadComparison=false
|
||||
options.pmd.rules.BeanMembersShouldSerialize=false
|
||||
options.pmd.rules.BigIntegerInstantiation=true
|
||||
options.pmd.rules.BooleanGetMethodName=false
|
||||
options.pmd.rules.BooleanInstantiation=true
|
||||
options.pmd.rules.BooleanInversion=false
|
||||
options.pmd.rules.BrokenNullCheck=true
|
||||
options.pmd.rules.ByteInstantiation=false
|
||||
options.pmd.rules.CallSuperFirst=false
|
||||
options.pmd.rules.CallSuperInConstructor=false
|
||||
options.pmd.rules.CallSuperLast=false
|
||||
options.pmd.rules.CheckResultSet=true
|
||||
options.pmd.rules.ClassCastExceptionWithToArray=true
|
||||
options.pmd.rules.ClassNamingConventions=false
|
||||
options.pmd.rules.ClassWithOnlyPrivateConstructorsShouldBeFinal=false
|
||||
options.pmd.rules.CloneMethodMustImplementCloneable=false
|
||||
options.pmd.rules.CloneThrowsCloneNotSupportedException=false
|
||||
options.pmd.rules.CloseResource=false
|
||||
options.pmd.rules.CollapsibleIfStatements=true
|
||||
options.pmd.rules.CompareObjectsWithEquals=false
|
||||
options.pmd.rules.ConfusingTernary=false
|
||||
options.pmd.rules.ConsecutiveLiteralAppends=true
|
||||
options.pmd.rules.ConstructorCallsOverridableMethod=false
|
||||
options.pmd.rules.CouplingBetweenObjects=false
|
||||
options.pmd.rules.CyclomaticComplexity=false
|
||||
options.pmd.rules.DataflowAnomalyAnalysis=false
|
||||
options.pmd.rules.DefaultLabelNotLastInSwitchStmt=false
|
||||
options.pmd.rules.DefaultPackage=false
|
||||
options.pmd.rules.DoNotCallGarbageCollectionExplicitly=false
|
||||
options.pmd.rules.DoNotCallSystemExit=false
|
||||
options.pmd.rules.DoNotExtendJavaLangError=true
|
||||
options.pmd.rules.DoNotThrowExceptionInFinally=true
|
||||
options.pmd.rules.DoNotUseThreads=false
|
||||
options.pmd.rules.DontImportJavaLang=true
|
||||
options.pmd.rules.DontImportSun=false
|
||||
options.pmd.rules.DoubleCheckedLocking=true
|
||||
options.pmd.rules.DuplicateImports=true
|
||||
options.pmd.rules.EmptyCatchBlock=true
|
||||
options.pmd.rules.EmptyFinalizer=false
|
||||
options.pmd.rules.EmptyFinallyBlock=true
|
||||
options.pmd.rules.EmptyIfStmt=true
|
||||
options.pmd.rules.EmptyInitializer=true
|
||||
options.pmd.rules.EmptyMethodInAbstractClassShouldBeAbstract=false
|
||||
options.pmd.rules.EmptyStatementNotInLoop=true
|
||||
options.pmd.rules.EmptyStaticInitializer=true
|
||||
options.pmd.rules.EmptySwitchStatements=true
|
||||
options.pmd.rules.EmptySynchronizedBlock=true
|
||||
options.pmd.rules.EmptyTryBlock=true
|
||||
options.pmd.rules.EmptyWhileStmt=true
|
||||
options.pmd.rules.EqualsNull=false
|
||||
options.pmd.rules.ExceptionAsFlowControl=true
|
||||
options.pmd.rules.ExcessiveClassLength=false
|
||||
options.pmd.rules.ExcessiveImports=false
|
||||
options.pmd.rules.ExcessiveMethodLength=false
|
||||
options.pmd.rules.ExcessiveParameterList=false
|
||||
options.pmd.rules.ExcessivePublicCount=false
|
||||
options.pmd.rules.FinalFieldCouldBeStatic=false
|
||||
options.pmd.rules.FinalizeDoesNotCallSuperFinalize=false
|
||||
options.pmd.rules.FinalizeOnlyCallsSuperFinalize=false
|
||||
options.pmd.rules.FinalizeOverloaded=false
|
||||
options.pmd.rules.FinalizeShouldBeProtected=false
|
||||
options.pmd.rules.ForLoopShouldBeWhileLoop=true
|
||||
options.pmd.rules.ForLoopsMustUseBraces=false
|
||||
options.pmd.rules.IdempotentOperations=false
|
||||
options.pmd.rules.IfElseStmtsMustUseBraces=false
|
||||
options.pmd.rules.IfStmtsMustUseBraces=false
|
||||
options.pmd.rules.ImmutableField=false
|
||||
options.pmd.rules.ImportFromSamePackage=true
|
||||
options.pmd.rules.InefficientEmptyStringCheck=true
|
||||
options.pmd.rules.InefficientStringBuffering=true
|
||||
options.pmd.rules.InstantiationToGetClass=false
|
||||
options.pmd.rules.InsufficientStringBufferDeclaration=true
|
||||
options.pmd.rules.IntegerInstantiation=false
|
||||
options.pmd.rules.JUnit4SuitesShouldUseSuiteAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseAfterAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseBeforeAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseTestAnnotation=false
|
||||
options.pmd.rules.JUnitAssertionsShouldIncludeMessage=false
|
||||
options.pmd.rules.JUnitSpelling=false
|
||||
options.pmd.rules.JUnitStaticSuite=false
|
||||
options.pmd.rules.JUnitTestsShouldIncludeAssert=false
|
||||
options.pmd.rules.JUnitUseExpected=false
|
||||
options.pmd.rules.JumbledIncrementer=true
|
||||
options.pmd.rules.LocalHomeNamingConvention=false
|
||||
options.pmd.rules.LocalInterfaceSessionNamingConvention=false
|
||||
options.pmd.rules.LocalVariableCouldBeFinal=false
|
||||
options.pmd.rules.LoggerIsNotStaticFinal=false
|
||||
options.pmd.rules.LongInstantiation=false
|
||||
options.pmd.rules.LongVariable=false
|
||||
options.pmd.rules.LooseCoupling=false
|
||||
options.pmd.rules.MDBAndSessionBeanNamingConvention=false
|
||||
options.pmd.rules.MethodArgumentCouldBeFinal=false
|
||||
options.pmd.rules.MethodNamingConventions=false
|
||||
options.pmd.rules.MethodReturnsInternalArray=true
|
||||
options.pmd.rules.MethodWithSameNameAsEnclosingClass=false
|
||||
options.pmd.rules.MisleadingVariableName=false
|
||||
options.pmd.rules.MisplacedNullCheck=true
|
||||
options.pmd.rules.MissingBreakInSwitch=false
|
||||
options.pmd.rules.MissingSerialVersionUID=false
|
||||
options.pmd.rules.MissingStaticMethodInNonInstantiatableClass=false
|
||||
options.pmd.rules.MoreThanOneLogger=false
|
||||
options.pmd.rules.NPathComplexity=false
|
||||
options.pmd.rules.NcssConstructorCount=false
|
||||
options.pmd.rules.NcssMethodCount=false
|
||||
options.pmd.rules.NcssTypeCount=false
|
||||
options.pmd.rules.NoPackage=false
|
||||
options.pmd.rules.NonCaseLabelInSwitchStatement=false
|
||||
options.pmd.rules.NonStaticInitializer=false
|
||||
options.pmd.rules.NonThreadSafeSingleton=false
|
||||
options.pmd.rules.NullAssignment=false
|
||||
options.pmd.rules.OnlyOneReturn=false
|
||||
options.pmd.rules.OptimizableToArrayCall=false
|
||||
options.pmd.rules.OverrideBothEqualsAndHashcode=true
|
||||
options.pmd.rules.PackageCase=false
|
||||
options.pmd.rules.PositionLiteralsFirstInComparisons=false
|
||||
options.pmd.rules.PreserveStackTrace=false
|
||||
options.pmd.rules.ProperCloneImplementation=false
|
||||
options.pmd.rules.ProperLogger=false
|
||||
options.pmd.rules.ProtectLogD=false
|
||||
options.pmd.rules.ProtectLogV=false
|
||||
options.pmd.rules.RemoteInterfaceNamingConvention=false
|
||||
options.pmd.rules.RemoteSessionInterfaceNamingConvention=false
|
||||
options.pmd.rules.ReplaceEnumerationWithIterator=false
|
||||
options.pmd.rules.ReplaceHashtableWithMap=false
|
||||
options.pmd.rules.ReplaceVectorWithList=false
|
||||
options.pmd.rules.ReturnEmptyArrayRatherThanNull=false
|
||||
options.pmd.rules.ReturnFromFinallyBlock=true
|
||||
options.pmd.rules.ShortInstantiation=false
|
||||
options.pmd.rules.ShortMethodName=false
|
||||
options.pmd.rules.ShortVariable=false
|
||||
options.pmd.rules.SignatureDeclareThrowsException=true
|
||||
options.pmd.rules.SimpleDateFormatNeedsLocale=false
|
||||
options.pmd.rules.SimplifyBooleanAssertion=false
|
||||
options.pmd.rules.SimplifyBooleanExpressions=false
|
||||
options.pmd.rules.SimplifyBooleanReturns=false
|
||||
options.pmd.rules.SimplifyConditional=false
|
||||
options.pmd.rules.SimplifyStartsWith=false
|
||||
options.pmd.rules.SingularField=true
|
||||
options.pmd.rules.StaticEJBFieldShouldBeFinal=false
|
||||
options.pmd.rules.StringBufferInstantiationWithChar=true
|
||||
options.pmd.rules.StringInstantiation=true
|
||||
options.pmd.rules.StringToString=true
|
||||
options.pmd.rules.SuspiciousConstantFieldName=false
|
||||
options.pmd.rules.SuspiciousEqualsMethodName=false
|
||||
options.pmd.rules.SuspiciousHashcodeMethodName=false
|
||||
options.pmd.rules.SuspiciousOctalEscape=false
|
||||
options.pmd.rules.SwitchDensity=false
|
||||
options.pmd.rules.SwitchStmtsShouldHaveDefault=false
|
||||
options.pmd.rules.SystemPrintln=false
|
||||
options.pmd.rules.TestClassWithoutTestCases=false
|
||||
options.pmd.rules.TooFewBranchesForASwitchStatement=false
|
||||
options.pmd.rules.TooManyFields=false
|
||||
options.pmd.rules.TooManyMethods=true
|
||||
options.pmd.rules.TooManyStaticImports=true
|
||||
options.pmd.rules.UncommentedEmptyConstructor=false
|
||||
options.pmd.rules.UncommentedEmptyMethod=false
|
||||
options.pmd.rules.UnconditionalIfStatement=true
|
||||
options.pmd.rules.UnnecessaryBooleanAssertion=false
|
||||
options.pmd.rules.UnnecessaryCaseChange=true
|
||||
options.pmd.rules.UnnecessaryConstructor=false
|
||||
options.pmd.rules.UnnecessaryConversionTemporary=true
|
||||
options.pmd.rules.UnnecessaryFinalModifier=true
|
||||
options.pmd.rules.UnnecessaryLocalBeforeReturn=false
|
||||
options.pmd.rules.UnnecessaryParentheses=false
|
||||
options.pmd.rules.UnnecessaryReturn=true
|
||||
options.pmd.rules.UnnecessaryWrapperObjectCreation=false
|
||||
options.pmd.rules.UnsynchronizedStaticDateFormatter=false
|
||||
options.pmd.rules.UnusedFormalParameter=true
|
||||
options.pmd.rules.UnusedImports=true
|
||||
options.pmd.rules.UnusedLocalVariable=true
|
||||
options.pmd.rules.UnusedModifier=false
|
||||
options.pmd.rules.UnusedNullCheckInEquals=true
|
||||
options.pmd.rules.UnusedPrivateField=true
|
||||
options.pmd.rules.UnusedPrivateMethod=true
|
||||
options.pmd.rules.UseArrayListInsteadOfVector=false
|
||||
options.pmd.rules.UseArraysAsList=false
|
||||
options.pmd.rules.UseAssertEqualsInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseAssertNullInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseAssertSameInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseCollectionIsEmpty=false
|
||||
options.pmd.rules.UseCorrectExceptionLogging=false
|
||||
options.pmd.rules.UseEqualsToCompareStrings=true
|
||||
options.pmd.rules.UseIndexOfChar=true
|
||||
options.pmd.rules.UseLocaleWithCaseConversions=false
|
||||
options.pmd.rules.UseNotifyAllInsteadOfNotify=false
|
||||
options.pmd.rules.UseProperClassLoader=false
|
||||
options.pmd.rules.UseSingleton=false
|
||||
options.pmd.rules.UseStringBufferForStringAppends=false
|
||||
options.pmd.rules.UseStringBufferLength=true
|
||||
options.pmd.rules.UselessOperationOnImmutable=true
|
||||
options.pmd.rules.UselessOverridingMethod=true
|
||||
options.pmd.rules.UselessStringValueOf=true
|
||||
options.pmd.rules.VariableNamingConventions=false
|
||||
options.pmd.rules.WhileLoopsMustUseBraces=false
|
@@ -70,245 +70,5 @@ pmd.progressbar.foreground=#000000
|
||||
pmd.progressbar.background=#FFC800
|
||||
|
||||
|
||||
# select some default rules to help new users get started. The selected rules
|
||||
# are those suggested by PMD best practices -- unused code, basic rules, some
|
||||
# design rules, a few controversial rules, and imports rules.
|
||||
options.pmd.rules.AbstractClassWithoutAbstractMethod=false
|
||||
options.pmd.rules.AbstractClassWithoutAnyMethod=false
|
||||
options.pmd.rules.AbstractNaming=false
|
||||
options.pmd.rules.AccessorClassGeneration=false
|
||||
options.pmd.rules.AddEmptyString=false
|
||||
options.pmd.rules.AppendCharacterWithChar=true
|
||||
options.pmd.rules.ArrayIsStoredDirectly=true
|
||||
options.pmd.rules.AssignmentInOperand=false
|
||||
options.pmd.rules.AssignmentToNonFinalStatic=false
|
||||
options.pmd.rules.AtLeastOneConstructor=false
|
||||
options.pmd.rules.AvoidAccessibilityAlteration=false
|
||||
options.pmd.rules.AvoidArrayLoops=false
|
||||
options.pmd.rules.AvoidAssertAsIdentifier=false
|
||||
options.pmd.rules.AvoidCallingFinalize=false
|
||||
options.pmd.rules.AvoidCatchingNPE=true
|
||||
options.pmd.rules.AvoidCatchingThrowable=true
|
||||
options.pmd.rules.AvoidConstantsInterface=false
|
||||
options.pmd.rules.AvoidDecimalLiteralsInBigDecimalConstructor=true
|
||||
options.pmd.rules.AvoidDeeplyNestedIfStmts=false
|
||||
options.pmd.rules.AvoidDollarSigns=false
|
||||
options.pmd.rules.AvoidDuplicateLiterals=true
|
||||
options.pmd.rules.AvoidEnumAsIdentifier=false
|
||||
options.pmd.rules.AvoidFieldNameMatchingMethodName=false
|
||||
options.pmd.rules.AvoidFieldNameMatchingTypeName=false
|
||||
options.pmd.rules.AvoidFinalLocalVariable=false
|
||||
options.pmd.rules.AvoidInstanceofChecksInCatchClause=false
|
||||
options.pmd.rules.AvoidInstantiatingObjectsInLoops=false
|
||||
options.pmd.rules.AvoidMultipleUnaryOperators=true
|
||||
options.pmd.rules.AvoidPrintStackTrace=false
|
||||
options.pmd.rules.AvoidProtectedFieldInFinalClass=false
|
||||
options.pmd.rules.AvoidReassigningParameters=false
|
||||
options.pmd.rules.AvoidRethrowingException=true
|
||||
options.pmd.rules.AvoidStringBufferField=true
|
||||
options.pmd.rules.AvoidSynchronizedAtMethodLevel=false
|
||||
options.pmd.rules.AvoidThreadGroup=true
|
||||
options.pmd.rules.AvoidThrowingNewInstanceOfSameException=true
|
||||
options.pmd.rules.AvoidThrowingNullPointerException=true
|
||||
options.pmd.rules.AvoidThrowingRawExceptionTypes=true
|
||||
options.pmd.rules.AvoidUsingHardCodedIP=true
|
||||
options.pmd.rules.AvoidUsingNativeCode=false
|
||||
options.pmd.rules.AvoidUsingOctalValues=true
|
||||
options.pmd.rules.AvoidUsingShortType=false
|
||||
options.pmd.rules.AvoidUsingVolatile=false
|
||||
options.pmd.rules.BadComparison=false
|
||||
options.pmd.rules.BeanMembersShouldSerialize=false
|
||||
options.pmd.rules.BigIntegerInstantiation=true
|
||||
options.pmd.rules.BooleanGetMethodName=false
|
||||
options.pmd.rules.BooleanInstantiation=true
|
||||
options.pmd.rules.BooleanInversion=false
|
||||
options.pmd.rules.BrokenNullCheck=true
|
||||
options.pmd.rules.ByteInstantiation=false
|
||||
options.pmd.rules.CallSuperFirst=false
|
||||
options.pmd.rules.CallSuperInConstructor=false
|
||||
options.pmd.rules.CallSuperLast=false
|
||||
options.pmd.rules.CheckResultSet=true
|
||||
options.pmd.rules.ClassCastExceptionWithToArray=true
|
||||
options.pmd.rules.ClassNamingConventions=false
|
||||
options.pmd.rules.ClassWithOnlyPrivateConstructorsShouldBeFinal=false
|
||||
options.pmd.rules.CloneMethodMustImplementCloneable=false
|
||||
options.pmd.rules.CloneThrowsCloneNotSupportedException=false
|
||||
options.pmd.rules.CloseResource=false
|
||||
options.pmd.rules.CollapsibleIfStatements=true
|
||||
options.pmd.rules.CompareObjectsWithEquals=false
|
||||
options.pmd.rules.ConfusingTernary=false
|
||||
options.pmd.rules.ConsecutiveLiteralAppends=true
|
||||
options.pmd.rules.ConstructorCallsOverridableMethod=false
|
||||
options.pmd.rules.CouplingBetweenObjects=false
|
||||
options.pmd.rules.CyclomaticComplexity=false
|
||||
options.pmd.rules.DataflowAnomalyAnalysis=false
|
||||
options.pmd.rules.DefaultLabelNotLastInSwitchStmt=false
|
||||
options.pmd.rules.DefaultPackage=false
|
||||
options.pmd.rules.DoNotCallGarbageCollectionExplicitly=false
|
||||
options.pmd.rules.DoNotCallSystemExit=false
|
||||
options.pmd.rules.DoNotExtendJavaLangError=true
|
||||
options.pmd.rules.DoNotThrowExceptionInFinally=true
|
||||
options.pmd.rules.DoNotUseThreads=false
|
||||
options.pmd.rules.DontImportJavaLang=true
|
||||
options.pmd.rules.DontImportSun=false
|
||||
options.pmd.rules.DoubleCheckedLocking=true
|
||||
options.pmd.rules.DuplicateImports=true
|
||||
options.pmd.rules.EmptyCatchBlock=true
|
||||
options.pmd.rules.EmptyFinalizer=false
|
||||
options.pmd.rules.EmptyFinallyBlock=true
|
||||
options.pmd.rules.EmptyIfStmt=true
|
||||
options.pmd.rules.EmptyInitializer=true
|
||||
options.pmd.rules.EmptyMethodInAbstractClassShouldBeAbstract=false
|
||||
options.pmd.rules.EmptyStatementNotInLoop=true
|
||||
options.pmd.rules.EmptyStaticInitializer=true
|
||||
options.pmd.rules.EmptySwitchStatements=true
|
||||
options.pmd.rules.EmptySynchronizedBlock=true
|
||||
options.pmd.rules.EmptyTryBlock=true
|
||||
options.pmd.rules.EmptyWhileStmt=true
|
||||
options.pmd.rules.EqualsNull=false
|
||||
options.pmd.rules.ExceptionAsFlowControl=true
|
||||
options.pmd.rules.ExcessiveClassLength=false
|
||||
options.pmd.rules.ExcessiveImports=false
|
||||
options.pmd.rules.ExcessiveMethodLength=false
|
||||
options.pmd.rules.ExcessiveParameterList=false
|
||||
options.pmd.rules.ExcessivePublicCount=false
|
||||
options.pmd.rules.FinalFieldCouldBeStatic=false
|
||||
options.pmd.rules.FinalizeDoesNotCallSuperFinalize=false
|
||||
options.pmd.rules.FinalizeOnlyCallsSuperFinalize=false
|
||||
options.pmd.rules.FinalizeOverloaded=false
|
||||
options.pmd.rules.FinalizeShouldBeProtected=false
|
||||
options.pmd.rules.ForLoopShouldBeWhileLoop=true
|
||||
options.pmd.rules.ForLoopsMustUseBraces=false
|
||||
options.pmd.rules.IdempotentOperations=false
|
||||
options.pmd.rules.IfElseStmtsMustUseBraces=false
|
||||
options.pmd.rules.IfStmtsMustUseBraces=false
|
||||
options.pmd.rules.ImmutableField=false
|
||||
options.pmd.rules.ImportFromSamePackage=true
|
||||
options.pmd.rules.InefficientEmptyStringCheck=true
|
||||
options.pmd.rules.InefficientStringBuffering=true
|
||||
options.pmd.rules.InstantiationToGetClass=false
|
||||
options.pmd.rules.InsufficientStringBufferDeclaration=true
|
||||
options.pmd.rules.IntegerInstantiation=false
|
||||
options.pmd.rules.JUnit4SuitesShouldUseSuiteAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseAfterAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseBeforeAnnotation=false
|
||||
options.pmd.rules.JUnit4TestShouldUseTestAnnotation=false
|
||||
options.pmd.rules.JUnitAssertionsShouldIncludeMessage=false
|
||||
options.pmd.rules.JUnitSpelling=false
|
||||
options.pmd.rules.JUnitStaticSuite=false
|
||||
options.pmd.rules.JUnitTestsShouldIncludeAssert=false
|
||||
options.pmd.rules.JUnitUseExpected=false
|
||||
options.pmd.rules.JumbledIncrementer=true
|
||||
options.pmd.rules.LocalHomeNamingConvention=false
|
||||
options.pmd.rules.LocalInterfaceSessionNamingConvention=false
|
||||
options.pmd.rules.LocalVariableCouldBeFinal=false
|
||||
options.pmd.rules.LoggerIsNotStaticFinal=false
|
||||
options.pmd.rules.LongInstantiation=false
|
||||
options.pmd.rules.LongVariable=false
|
||||
options.pmd.rules.LooseCoupling=false
|
||||
options.pmd.rules.MDBAndSessionBeanNamingConvention=false
|
||||
options.pmd.rules.MethodArgumentCouldBeFinal=false
|
||||
options.pmd.rules.MethodNamingConventions=false
|
||||
options.pmd.rules.MethodReturnsInternalArray=true
|
||||
options.pmd.rules.MethodWithSameNameAsEnclosingClass=false
|
||||
options.pmd.rules.MisleadingVariableName=false
|
||||
options.pmd.rules.MisplacedNullCheck=true
|
||||
options.pmd.rules.MissingBreakInSwitch=false
|
||||
options.pmd.rules.MissingSerialVersionUID=false
|
||||
options.pmd.rules.MissingStaticMethodInNonInstantiatableClass=false
|
||||
options.pmd.rules.MoreThanOneLogger=false
|
||||
options.pmd.rules.NPathComplexity=false
|
||||
options.pmd.rules.NcssConstructorCount=false
|
||||
options.pmd.rules.NcssMethodCount=false
|
||||
options.pmd.rules.NcssTypeCount=false
|
||||
options.pmd.rules.NoPackage=false
|
||||
options.pmd.rules.NonCaseLabelInSwitchStatement=false
|
||||
options.pmd.rules.NonStaticInitializer=false
|
||||
options.pmd.rules.NonThreadSafeSingleton=false
|
||||
options.pmd.rules.NullAssignment=false
|
||||
options.pmd.rules.OnlyOneReturn=false
|
||||
options.pmd.rules.OptimizableToArrayCall=false
|
||||
options.pmd.rules.OverrideBothEqualsAndHashcode=true
|
||||
options.pmd.rules.PackageCase=false
|
||||
options.pmd.rules.PositionLiteralsFirstInComparisons=false
|
||||
options.pmd.rules.PreserveStackTrace=false
|
||||
options.pmd.rules.ProperCloneImplementation=false
|
||||
options.pmd.rules.ProperLogger=false
|
||||
options.pmd.rules.ProtectLogD=false
|
||||
options.pmd.rules.ProtectLogV=false
|
||||
options.pmd.rules.RemoteInterfaceNamingConvention=false
|
||||
options.pmd.rules.RemoteSessionInterfaceNamingConvention=false
|
||||
options.pmd.rules.ReplaceEnumerationWithIterator=false
|
||||
options.pmd.rules.ReplaceHashtableWithMap=false
|
||||
options.pmd.rules.ReplaceVectorWithList=false
|
||||
options.pmd.rules.ReturnEmptyArrayRatherThanNull=false
|
||||
options.pmd.rules.ReturnFromFinallyBlock=true
|
||||
options.pmd.rules.ShortInstantiation=false
|
||||
options.pmd.rules.ShortMethodName=false
|
||||
options.pmd.rules.ShortVariable=false
|
||||
options.pmd.rules.SignatureDeclareThrowsException=true
|
||||
options.pmd.rules.SimpleDateFormatNeedsLocale=false
|
||||
options.pmd.rules.SimplifyBooleanAssertion=false
|
||||
options.pmd.rules.SimplifyBooleanExpressions=false
|
||||
options.pmd.rules.SimplifyBooleanReturns=false
|
||||
options.pmd.rules.SimplifyConditional=false
|
||||
options.pmd.rules.SimplifyStartsWith=false
|
||||
options.pmd.rules.SingularField=true
|
||||
options.pmd.rules.StaticEJBFieldShouldBeFinal=false
|
||||
options.pmd.rules.StringBufferInstantiationWithChar=true
|
||||
options.pmd.rules.StringInstantiation=true
|
||||
options.pmd.rules.StringToString=true
|
||||
options.pmd.rules.SuspiciousConstantFieldName=false
|
||||
options.pmd.rules.SuspiciousEqualsMethodName=false
|
||||
options.pmd.rules.SuspiciousHashcodeMethodName=false
|
||||
options.pmd.rules.SuspiciousOctalEscape=false
|
||||
options.pmd.rules.SwitchDensity=false
|
||||
options.pmd.rules.SwitchStmtsShouldHaveDefault=false
|
||||
options.pmd.rules.SystemPrintln=false
|
||||
options.pmd.rules.TestClassWithoutTestCases=false
|
||||
options.pmd.rules.TooFewBranchesForASwitchStatement=false
|
||||
options.pmd.rules.TooManyFields=false
|
||||
options.pmd.rules.TooManyMethods=true
|
||||
options.pmd.rules.TooManyStaticImports=true
|
||||
options.pmd.rules.UncommentedEmptyConstructor=false
|
||||
options.pmd.rules.UncommentedEmptyMethod=false
|
||||
options.pmd.rules.UnconditionalIfStatement=true
|
||||
options.pmd.rules.UnnecessaryBooleanAssertion=false
|
||||
options.pmd.rules.UnnecessaryCaseChange=true
|
||||
options.pmd.rules.UnnecessaryConstructor=false
|
||||
options.pmd.rules.UnnecessaryConversionTemporary=true
|
||||
options.pmd.rules.UnnecessaryFinalModifier=true
|
||||
options.pmd.rules.UnnecessaryLocalBeforeReturn=false
|
||||
options.pmd.rules.UnnecessaryParentheses=false
|
||||
options.pmd.rules.UnnecessaryReturn=true
|
||||
options.pmd.rules.UnnecessaryWrapperObjectCreation=false
|
||||
options.pmd.rules.UnsynchronizedStaticDateFormatter=false
|
||||
options.pmd.rules.UnusedFormalParameter=true
|
||||
options.pmd.rules.UnusedImports=true
|
||||
options.pmd.rules.UnusedLocalVariable=true
|
||||
options.pmd.rules.UnusedModifier=false
|
||||
options.pmd.rules.UnusedNullCheckInEquals=true
|
||||
options.pmd.rules.UnusedPrivateField=true
|
||||
options.pmd.rules.UnusedPrivateMethod=true
|
||||
options.pmd.rules.UseArrayListInsteadOfVector=false
|
||||
options.pmd.rules.UseArraysAsList=false
|
||||
options.pmd.rules.UseAssertEqualsInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseAssertNullInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseAssertSameInsteadOfAssertTrue=false
|
||||
options.pmd.rules.UseCollectionIsEmpty=false
|
||||
options.pmd.rules.UseCorrectExceptionLogging=false
|
||||
options.pmd.rules.UseEqualsToCompareStrings=true
|
||||
options.pmd.rules.UseIndexOfChar=true
|
||||
options.pmd.rules.UseLocaleWithCaseConversions=false
|
||||
options.pmd.rules.UseNotifyAllInsteadOfNotify=false
|
||||
options.pmd.rules.UseProperClassLoader=false
|
||||
options.pmd.rules.UseSingleton=false
|
||||
options.pmd.rules.UseStringBufferForStringAppends=false
|
||||
options.pmd.rules.UseStringBufferLength=true
|
||||
options.pmd.rules.UselessOperationOnImmutable=true
|
||||
options.pmd.rules.UselessOverridingMethod=true
|
||||
options.pmd.rules.UselessStringValueOf=true
|
||||
options.pmd.rules.VariableNamingConventions=false
|
||||
options.pmd.rules.WhileLoopsMustUseBraces=false
|
||||
|
||||
|
||||
|
1356
pmd-jedit/PMDPlugin/src/net/sourceforge/pmd/jedit/KappaLayout.java
Normal file
1356
pmd-jedit/PMDPlugin/src/net/sourceforge/pmd/jedit/KappaLayout.java
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,17 +13,11 @@ import org.gjt.sp.jedit.OptionPane;
|
||||
import org.gjt.sp.jedit.jEdit;
|
||||
import org.gjt.sp.util.StringList;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JTextField;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import javax.swing.tree.TreePath;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,11 +25,13 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
|
||||
SelectedRules rules;
|
||||
|
||||
JTextArea exampleTextArea = new JTextArea( 15, 50 );
|
||||
|
||||
JTextArea exampleTextArea = new JTextArea( 15, 80 );
|
||||
JTextField txtCustomRules;
|
||||
|
||||
CheckboxTree tree;
|
||||
JCheckBox useDefaultRules;
|
||||
JLabel exampleLabel;
|
||||
|
||||
static final String USE_DEFAULT_RULES_KEY = "pmd.use-default-rules";
|
||||
|
||||
|
||||
public PMDRulesOptionPane() {
|
||||
@@ -51,11 +47,11 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
public void _init() {
|
||||
removeAll();
|
||||
|
||||
setLayout( new FlowLayout( FlowLayout.LEADING ) );
|
||||
setLayout( new KappaLayout() );
|
||||
|
||||
JPanel rulesPanel = new JPanel( new BorderLayout() );
|
||||
rulesPanel.add( new JLabel( "Please see http://pmd.sf.net/ for more information" ), BorderLayout.NORTH );
|
||||
rulesPanel.setBorder( BorderFactory.createTitledBorder( "Rules" ) );
|
||||
JLabel rules_label = new JLabel( "Rules" );
|
||||
useDefaultRules = new JCheckBox( "Select default rules" );
|
||||
useDefaultRules.setSelected( jEdit.getBooleanProperty( USE_DEFAULT_RULES_KEY, false ) );
|
||||
|
||||
// use a checkbox tree for displaying the rules. This lets the rules be
|
||||
// grouped by ruleset, and makes it very easy to select an entire set of
|
||||
@@ -64,35 +60,67 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
// individual rules. Using the PROPAGATE_PRESERVING_UNCHECK checking mode
|
||||
// means the ruleset will be checked if one or more of the rules it contains
|
||||
// is checked.
|
||||
JScrollPane rules_pane = null;
|
||||
if ( rules == null ) {
|
||||
JOptionPane.showMessageDialog( null, "Error loading rules. Check any custom rulesets for errors.", "Error Loading Rules", JOptionPane.ERROR_MESSAGE );
|
||||
}
|
||||
else {
|
||||
if ( jEdit.getBooleanProperty( USE_DEFAULT_RULES_KEY, false ) ) {
|
||||
rules.loadGoodRulesTree();
|
||||
}
|
||||
tree = new CheckboxTree( rules.getRoot() );
|
||||
tree.getCheckingModel().setCheckingMode( TreeCheckingModel.CheckingMode.PROPAGATE_PRESERVING_UNCHECK );
|
||||
tree.setCheckingPaths( rules.getCheckingModel().getCheckingPaths() );
|
||||
tree.setRootVisible( false );
|
||||
tree.addMouseMotionListener( new MyMouseMotionAdapter() );
|
||||
rulesPanel.add( new JScrollPane( tree ), BorderLayout.CENTER );
|
||||
rules_pane = new JScrollPane( tree );
|
||||
}
|
||||
|
||||
useDefaultRules.addActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed( final ActionEvent ae ) {
|
||||
SwingUtilities.invokeLater( new Runnable() {
|
||||
public void run() {
|
||||
if ( ( ( JCheckBox ) ae.getSource() ).isSelected() ) {
|
||||
rules.loadGoodRulesTree();
|
||||
}
|
||||
else {
|
||||
rules.loadTree();
|
||||
}
|
||||
tree.setModel( rules.getTreeModel() );
|
||||
tree.getCheckingModel().setCheckingMode( TreeCheckingModel.CheckingMode.PROPAGATE_PRESERVING_UNCHECK );
|
||||
tree.setCheckingPaths( rules.getCheckingModel().getCheckingPaths() );
|
||||
tree.invalidate();
|
||||
tree.validate();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Custom Rule Panel Definition.
|
||||
/// TODO: make custom rules a separate panel
|
||||
/*
|
||||
JPanel pnlCustomRules = new JPanel( new FlowLayout( FlowLayout.LEFT ) );
|
||||
pnlCustomRules.add( new JLabel( "Path to custom rules.xml files(seperated by comma)" ) );
|
||||
pnlCustomRules.add( new JLabel( "Path to custom rules.xml files(separated by comma)" ) );
|
||||
pnlCustomRules.add( ( txtCustomRules = new JTextField( jEdit.getProperty( PMDJEditPlugin.CUSTOM_RULES_PATH_KEY, "" ), 30 ) ) );
|
||||
|
||||
rulesPanel.add( pnlCustomRules, BorderLayout.SOUTH );
|
||||
*/
|
||||
|
||||
JPanel textPanel = new JPanel( new BorderLayout() );
|
||||
textPanel.setBorder( BorderFactory.createTitledBorder( "Example" ) );
|
||||
textPanel.add( new JScrollPane( exampleTextArea ), BorderLayout.CENTER );
|
||||
exampleLabel = new JLabel( "Example" );
|
||||
JScrollPane example_pane = new JScrollPane( exampleTextArea );
|
||||
|
||||
JPanel mainPanel = new JPanel();
|
||||
mainPanel.setLayout( new BorderLayout() );
|
||||
mainPanel.add( rulesPanel, BorderLayout.CENTER );
|
||||
mainPanel.add( textPanel, BorderLayout.SOUTH );
|
||||
JLabel more_info_label = new JLabel( "Please see http://pmd.sf.net/ for more information" );
|
||||
|
||||
addComponent( mainPanel );
|
||||
setBorder( BorderFactory.createEmptyBorder( 12, 11, 11, 12 ) );
|
||||
add( "0, 0, 1, 1, W, w, 3", rules_label );
|
||||
add( "0, 1, 1, 1, W, w, 3", useDefaultRules );
|
||||
add( "0, 2, 1, 10, 0, wh, 3", rules_pane );
|
||||
add( "0, 12, 1, 1, W, w, 3", exampleLabel );
|
||||
add( "0, 13, 1, 6, 0, wh, 3", example_pane );
|
||||
add( "0, 19, 1, 1, W, w, 3", more_info_label );
|
||||
}
|
||||
|
||||
public void _save() {
|
||||
@@ -104,6 +132,7 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
jEdit.setProperty( PMDJEditPlugin.CUSTOM_RULES_PATH_KEY, txtCustomRules
|
||||
.getText() );
|
||||
}
|
||||
jEdit.setBooleanProperty( USE_DEFAULT_RULES_KEY, useDefaultRules.isSelected() );
|
||||
}
|
||||
|
||||
private class MyMouseMotionAdapter extends java.awt.event.MouseMotionAdapter {
|
||||
@@ -114,6 +143,7 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
if ( node != null ) {
|
||||
Object userObject = node.getUserObject();
|
||||
if ( userObject instanceof RuleNode ) {
|
||||
changeExampleLabel( "Example" );
|
||||
List<String> examples = ( ( RuleNode ) userObject ).getRule().getExamples();
|
||||
exampleTextArea.setLineWrap( false );
|
||||
exampleTextArea.setWrapStyleWord( false );
|
||||
@@ -121,6 +151,7 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
exampleTextArea.setCaretPosition( 0 );
|
||||
}
|
||||
else if ( userObject instanceof RuleSetNode ) {
|
||||
changeExampleLabel( "Description" );
|
||||
String description = ( ( RuleSetNode ) userObject ).getRuleSet().getDescription();
|
||||
description = description.trim();
|
||||
description = description.replaceAll( "\n", " " );
|
||||
@@ -133,4 +164,14 @@ public class PMDRulesOptionPane extends AbstractOptionPane implements OptionPane
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void changeExampleLabel( final String text ) {
|
||||
SwingUtilities.invokeLater( new Runnable() {
|
||||
public void run() {
|
||||
exampleLabel.setText( text );
|
||||
exampleLabel.repaint();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
@@ -32,6 +32,9 @@ public class SelectedRules {
|
||||
// root of tree to show rule sets and rules
|
||||
private DefaultMutableTreeNode root = new DefaultMutableTreeNode();
|
||||
|
||||
// model for the checkbox tree
|
||||
private TreeModel treeModel = null;
|
||||
|
||||
// model of the checkboxes for the tree that shows the rule sets and rules
|
||||
private TreeCheckingModel checkingModel = null;
|
||||
|
||||
@@ -148,8 +151,47 @@ public class SelectedRules {
|
||||
return rulesets;
|
||||
}
|
||||
|
||||
private void loadTree() {
|
||||
TreeModel treeModel = new DefaultTreeModel( root );
|
||||
protected void loadGoodRulesTree() {
|
||||
|
||||
Properties goodRules = new Properties();
|
||||
try {
|
||||
goodRules.load(getClass().getClassLoader().getResourceAsStream("default_rules.props"));
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
treeModel = new DefaultTreeModel( root );
|
||||
checkingModel = new DefaultTreeCheckingModel( treeModel );
|
||||
selectedRules = new RuleSets();
|
||||
|
||||
// load the selected rules from a list of good rules, this
|
||||
// builds the checking model for the tree as well as the RuleSets for the
|
||||
// selected rules to pass to PMD.
|
||||
for ( int i = 0; i < root.getChildCount(); i++ ) {
|
||||
DefaultMutableTreeNode ruleSetNode = ( DefaultMutableTreeNode ) root.getChildAt( i );
|
||||
RuleSet ruleset = new RuleSet();
|
||||
boolean hadCheckedRule = false;
|
||||
for ( int j = 0; j < ruleSetNode.getChildCount(); j++ ) {
|
||||
DefaultMutableTreeNode ruleNode = ( DefaultMutableTreeNode ) ruleSetNode.getChildAt( j );
|
||||
TreePath path = new TreePath( ruleNode.getPath() );
|
||||
RuleNode rn = ( RuleNode ) ruleNode.getUserObject();
|
||||
String goodRuleChecked = goodRules.getProperty(PMDJEditPlugin.OPTION_RULES_PREFIX + rn.getRule().getName());
|
||||
boolean checked = goodRuleChecked == null ? false : "true".equals(goodRuleChecked);
|
||||
if ( checked ) {
|
||||
checkingModel.addCheckingPath( path );
|
||||
ruleset.addRule( rn.getRule() );
|
||||
hadCheckedRule = true;
|
||||
}
|
||||
}
|
||||
if ( hadCheckedRule ) {
|
||||
selectedRules.addRuleSet( ruleset );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void loadTree() {
|
||||
treeModel = new DefaultTreeModel( root );
|
||||
checkingModel = new DefaultTreeCheckingModel( treeModel );
|
||||
selectedRules = new RuleSets();
|
||||
|
||||
@@ -158,7 +200,7 @@ public class SelectedRules {
|
||||
// selected rules to pass to PMD.
|
||||
for ( int i = 0; i < root.getChildCount(); i++ ) {
|
||||
DefaultMutableTreeNode ruleSetNode = ( DefaultMutableTreeNode ) root.getChildAt( i );
|
||||
RuleSet ruleset = new RuleSet();//( ( RuleSetNode ) ruleSetNode.getUserObject() ).getRuleSet();
|
||||
RuleSet ruleset = new RuleSet();
|
||||
boolean hadCheckedRule = false;
|
||||
for ( int j = 0; j < ruleSetNode.getChildCount(); j++ ) {
|
||||
DefaultMutableTreeNode ruleNode = ( DefaultMutableTreeNode ) ruleSetNode.getChildAt( j );
|
||||
@@ -177,6 +219,10 @@ public class SelectedRules {
|
||||
}
|
||||
}
|
||||
|
||||
public TreeModel getTreeModel() {
|
||||
return treeModel;
|
||||
}
|
||||
|
||||
public TreeCheckingModel getCheckingModel() {
|
||||
return checkingModel;
|
||||
}
|
||||
@@ -185,28 +231,15 @@ public class SelectedRules {
|
||||
public void save( TreeCheckingModel tcm ) {
|
||||
checkingModel = tcm;
|
||||
root = ( DefaultMutableTreeNode ) checkingModel.getTreeModel().getRoot();
|
||||
selectedRules = new RuleSets();
|
||||
|
||||
// need to go through all the tree nodes to turn off those that may have
|
||||
// been on and to turn on those that may have been off. The tree is only
|
||||
// 2 levels deep, so no need for recursion.
|
||||
for ( int i = 0; i < root.getChildCount(); i++ ) {
|
||||
DefaultMutableTreeNode ruleSetNode = ( DefaultMutableTreeNode ) root.getChildAt( i );
|
||||
RuleSet ruleset = ( ( RuleSetNode ) ruleSetNode.getUserObject() ).getRuleSet();
|
||||
boolean hadCheckedRule = false;
|
||||
for ( int j = 0; j < ruleSetNode.getChildCount(); j++ ) {
|
||||
DefaultMutableTreeNode ruleNode = ( DefaultMutableTreeNode ) ruleSetNode.getChildAt( j );
|
||||
TreePath path = new TreePath( ruleNode.getPath() );
|
||||
boolean checked = checkingModel.isPathChecked( path );
|
||||
RuleNode rn = ( RuleNode ) ruleNode.getUserObject();
|
||||
jEdit.setBooleanProperty( PMDJEditPlugin.OPTION_RULES_PREFIX + rn.getRule().getName(), checked );
|
||||
if ( checked ) {
|
||||
ruleset.addRule( rn.getRule() );
|
||||
hadCheckedRule = true;
|
||||
}
|
||||
}
|
||||
if ( hadCheckedRule ) {
|
||||
selectedRules.addRuleSet( ruleset );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user