PMD Results

The following document contains the results of PMD 6.29.0.

Violations By Priority

Priority 1

org/apache/fulcrum/security/BaseSecurityService.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 78
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 99
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 120
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 141
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 162

org/apache/fulcrum/security/model/basic/BasicACLFactory.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 82

org/apache/fulcrum/security/model/dynamic/DynamicACLFactory.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 76

org/apache/fulcrum/security/model/turbine/TurbineACLFactory.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 89
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 93

org/apache/fulcrum/security/model/turbine/TurbineAccessControlListImpl.java

Rule Violation Line
ConstructorCallsOverridableMethod Overridable method 'getPermissions' called during object construction 150

org/apache/fulcrum/security/spi/AbstractManager.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 190

org/apache/fulcrum/security/util/SecuritySet.java

Rule Violation Line
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 263

Priority 2

org/apache/fulcrum/security/model/turbine/TurbineAccessControlListImpl.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 81

Priority 3

org/apache/fulcrum/security/BaseSecurityService.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 41–212
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 43
RedundantFieldInitializer Avoid using redundant field initializer for 'manager' 43
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the userClassName field if you want a default access modifier 47
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 47
DefaultPackage Use explicit scoping instead of the default package private level 47
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the groupClassName field if you want a default access modifier 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 48
DefaultPackage Use explicit scoping instead of the default package private level 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 49
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the permissionClassName field if you want a default access modifier 49
LongVariable Avoid excessively long variable names like permissionClassName 49
DefaultPackage Use explicit scoping instead of the default package private level 49
DefaultPackage Use explicit scoping instead of the default package private level 50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the roleClassName field if you want a default access modifier 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 51
DefaultPackage Use explicit scoping instead of the default package private level 51
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the aclClassName field if you want a default access modifier 51
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 53
RedundantFieldInitializer Avoid using redundant field initializer for 'userManager' 53
RedundantFieldInitializer Avoid using redundant field initializer for 'roleManager' 55
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 55
RedundantFieldInitializer Avoid using redundant field initializer for 'groupManager' 57
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 57
RedundantFieldInitializer Avoid using redundant field initializer for 'permissionManager' 59
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 59
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 61
RedundantFieldInitializer Avoid using redundant field initializer for 'modelManager' 61
MissingOverride The method 'getUserManager()' is missing an @Override annotation. 68–82
MissingOverride The method 'getGroupManager()' is missing an @Override annotation. 89–103
MissingOverride The method 'getRoleManager()' is missing an @Override annotation. 110–124
MissingOverride The method 'getPermissionManager()' is missing an @Override annotation. 131–145
MissingOverride The method 'getModelManager()' is missing an @Override annotation. 152–166
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 179
MissingOverride The method 'service(ServiceManager)' is missing an @Override annotation. 179–182
MissingOverride The method 'initialize()' is missing an @Override annotation. 191–198
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 191
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 193
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 194
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 195
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 196
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 197
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 210

org/apache/fulcrum/security/GroupManager.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 105

org/apache/fulcrum/security/ModelManager.java

Rule Violation Line
ConstantsInInterface Avoid constants in interfaces. Interfaces define types, constants are implementation details better placed in classes or enums. See Effective Java, item 19. 34

org/apache/fulcrum/security/PermissionManager.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 106

org/apache/fulcrum/security/RoleManager.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 104

org/apache/fulcrum/security/UserManager.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 129

org/apache/fulcrum/security/acl/AccessControlException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 43

org/apache/fulcrum/security/authenticator/Authenticator.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'ROLE': the field is declared in an interface type 35
UnnecessaryModifier Unnecessary modifier 'public' on method 'authenticate': the method is declared in an interface type 37

org/apache/fulcrum/security/authenticator/CryptoAuthenticator.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 47–114
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the composed field if you want a default access modifier 49
DefaultPackage Use explicit scoping instead of the default package private level 49
RedundantFieldInitializer Avoid using redundant field initializer for 'composed' 49
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 50
RedundantFieldInitializer Avoid using redundant field initializer for 'cryptoService' 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 51
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 52
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 67
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 67
LocalVariableCouldBeFinal Local variable 'ca' could be declared final 71
ShortVariable Avoid variables with short names like ca 71
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 72
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 73
LocalVariableCouldBeFinal Local variable 'output' could be declared final 73
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 74
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 80
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 91
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 93
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 94
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 101
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 112

org/apache/fulcrum/security/authenticator/NoOpAuthenticator.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 37–46
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 43
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 43

org/apache/fulcrum/security/authenticator/TextMatchAuthenticator.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 36–55
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 46
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 48
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 51
LocalVariableCouldBeFinal Local variable 'referenced' could be declared final 51
LocalVariableCouldBeFinal Local variable 'tested' could be declared final 52
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 53

org/apache/fulcrum/security/entity/SecurityEntity.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 66

org/apache/fulcrum/security/entity/impl/SecurityEntityImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 34–127
ShortVariable Avoid variables with short names like id 43
MissingOverride The method 'getId()' is missing an @Override annotation. 48–51
ShortVariable Avoid variables with short names like id 56
MissingOverride The method 'setId(Object)' is missing an @Override annotation. 56–59
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 56
MissingOverride The method 'getName()' is missing an @Override annotation. 64–67
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 75
MissingOverride The method 'setName(String)' is missing an @Override annotation. 75–83
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 75
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 81
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 88
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 97
ShortVariable Avoid variables with short names like o 97
UnusedAssignment The initializer for variable 'equals' is never used (overwritten on lines 104, 108 and 112) 99
LocalVariableCouldBeFinal Local variable 'id' could be declared final 100
ShortVariable Avoid variables with short names like id 100
ConfusingTernary Avoid if (x != y) ..; else ..; 106–113

org/apache/fulcrum/security/model/basic/BasicACLFactory.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 36–85
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 51
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 59
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 70
MissingOverride The method 'getAccessControlList(User)' is missing an @Override annotation. 70–84
LocalVariableCouldBeFinal Local variable 'groupSet' could be declared final 72
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 77

org/apache/fulcrum/security/model/basic/BasicAccessControlListImpl.java

Rule Violation Line
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 42
UnusedAssignment The field initializer for 'groupSet' is never used (overwritten on line 61) 42
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 42
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 59
MissingOverride The method 'getGroups()' is missing an @Override annotation. 69–72
MissingOverride The method 'hasGroup(Group)' is missing an @Override annotation. 81–84
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 81
MissingOverride The method 'hasGroup(String)' is missing an @Override annotation. 93–103
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 93
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 97
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 99

org/apache/fulcrum/security/model/basic/BasicModelManager.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'grant': the method is declared in an interface type 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'revoke': the method is declared in an interface type 62
UnnecessaryModifier Unnecessary modifier 'public' on method 'revokeAll': the method is declared in an interface type 76

org/apache/fulcrum/security/model/basic/entity/BasicGroup.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUsers': the method is declared in an interface type 42
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUsers': the method is declared in an interface type 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUsersAsSet': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUsersAsSet': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'addUser': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeUser': the method is declared in an interface type 83

org/apache/fulcrum/security/model/basic/entity/BasicUser.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroups': the method is declared in an interface type 42
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroups': the method is declared in an interface type 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeGroup': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'addGroup': the method is declared in an interface type 66
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroupsAsSet': the method is declared in an interface type 74
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroupsAsSet': the method is declared in an interface type 81

org/apache/fulcrum/security/model/basic/entity/impl/BasicGroupImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 36–125
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 44
MissingOverride The method 'getUsers()' is missing an @Override annotation. 51–62
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 55
MissingOverride The method 'setUsers(UserSet)' is missing an @Override annotation. 70–80
MethodArgumentCouldBeFinal Parameter 'userSet' is not assigned and could be declared final 70
ConfusingTernary Avoid if (x != y) ..; else ..; 72–79
MissingOverride The method 'getUsersAsSet()' is missing an @Override annotation. 88–91
MissingOverride The method 'setUsersAsSet(Set)' is missing an @Override annotation. 99–102
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 99
MissingOverride The method 'addUser(User)' is missing an @Override annotation. 110–113
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 110
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 112
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 121
MissingOverride The method 'removeUser(User)' is missing an @Override annotation. 121–124
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 123

org/apache/fulcrum/security/model/basic/entity/impl/BasicUserImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 38–181
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 49
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 80
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 95
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 111
ConfusingTernary Avoid if (x != y) ..; else ..; 113–120
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 130
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 132
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 142
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 144
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 154
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 177

org/apache/fulcrum/security/model/dynamic/AbstractDynamicModelManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 43–223
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 43–223
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 57
MissingOverride The method 'revokeAll(Permission)' is missing an @Override annotation. 57–75
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 57–75
UnusedAssignment The initializer for variable 'permissionExists' is never used (overwritten on line 60) 59
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 60
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 63
LocalVariableCouldBeFinal Local variable 'role2' could be declared final 64
MissingOverride The method 'revokeAll(Group)' is missing an @Override annotation. 89–113
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 89–113
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 89
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 92) 91
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 92
LocalVariableCouldBeFinal Local variable 'users' could be declared final 95
LocalVariableCouldBeFinal Local variable 'user' could be declared final 96
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 101
LocalVariableCouldBeFinal Local variable 'role2' could be declared final 102
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 127–145
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 127
MissingOverride The method 'revokeAll(User)' is missing an @Override annotation. 127–145
UnusedAssignment The initializer for variable 'userExists' is never used (overwritten on line 130) 129
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 130
LocalVariableCouldBeFinal Local variable 'groups' could be declared final 133
LocalVariableCouldBeFinal Local variable 'group' could be declared final 134
MissingOverride The method 'revokeAll(Role)' is missing an @Override annotation. 159–182
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 159–182
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 159
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 162) 161
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 162
LocalVariableCouldBeFinal Local variable 'groups' could be declared final 165
LocalVariableCouldBeFinal Local variable 'group' could be declared final 166
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 171
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 172
MethodArgumentCouldBeFinal Parameter 'delegator' is not assigned and could be declared final 189
MissingOverride The method 'addDelegate(User, User)' is missing an @Override annotation. 189–201
MethodArgumentCouldBeFinal Parameter 'delegatee' is not assigned and could be declared final 189
LocalVariableCouldBeFinal Local variable 'dynamicDelegator' could be declared final 191
LocalVariableCouldBeFinal Local variable 'dynamicDelegatee' could be declared final 192
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 196
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 196
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 198
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 199
MethodArgumentCouldBeFinal Parameter 'delegatee' is not assigned and could be declared final 207
MethodArgumentCouldBeFinal Parameter 'delegator' is not assigned and could be declared final 207
MissingOverride The method 'removeDelegate(User, User)' is missing an @Override annotation. 207–222
LocalVariableCouldBeFinal Local variable 'dynamicDelegator' could be declared final 209
LocalVariableCouldBeFinal Local variable 'dynamicDelegatee' could be declared final 210
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 212
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 212
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 214
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 215

org/apache/fulcrum/security/model/dynamic/DynamicACLFactory.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 47–155
MissingOverride The method 'getAccessControlList(User)' is missing an @Override annotation. 52–78
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 52
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 54
LocalVariableCouldBeFinal Local variable 'roleSets' could be declared final 54
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 54
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 55
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 55
LocalVariableCouldBeFinal Local variable 'permissionSets' could be declared final 55
LocalVariableCouldBeFinal Local variable 'users' could be declared final 57
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 57
LocalVariableCouldBeFinal Local variable 'aUser' could be declared final 63
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 71
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 95
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 96
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 103
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 118
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 118
LocalVariableCouldBeFinal Local variable 'u' could be declared final 120
LocalVariableCouldBeFinal Local variable 'delegatorUser' could be declared final 123
MethodArgumentCouldBeFinal Parameter 'roleSets' is not assigned and could be declared final 142
MethodArgumentCouldBeFinal Parameter 'permissionSets' is not assigned and could be declared final 142
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 142
LocalVariableCouldBeFinal Local variable 'group' could be declared final 144
LocalVariableCouldBeFinal Local variable 'roleSet' could be declared final 146
LocalVariableCouldBeFinal Local variable 'r' could be declared final 148
LocalVariableCouldBeFinal Local variable 'role' could be declared final 150
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 151

org/apache/fulcrum/security/model/dynamic/DynamicAccessControlList.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–227

org/apache/fulcrum/security/model/dynamic/DynamicAccessControlListImpl.java

Rule Violation Line
GodClass Possible God Class (WMC=53, ATFD=11, TCC=22.059%) 38–429
TooManyMethods This class has too many methods, consider refactoring it. 39–429
ImmutableField Private field 'roleSets' could be made final; it is only initialized in the declaration or constructor. 49
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 49
ImmutableField Private field 'permissionSets' could be made final; it is only initialized in the declaration or constructor. 52
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 52
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 55
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 55
ImmutableField Private field 'roleSet' could be made final; it is only initialized in the declaration or constructor. 58
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 58
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 61
ImmutableField Private field 'permissionSet' could be made final; it is only initialized in the declaration or constructor. 61
MethodArgumentCouldBeFinal Parameter 'roleSets' is not assigned and could be declared final 80
MethodArgumentCouldBeFinal Parameter 'permissionSets' is not assigned and could be declared final 81
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 84
LocalVariableCouldBeFinal Local variable 'group' could be declared final 86
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 88
ShortVariable Avoid variables with short names like rs 88
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 92
LocalVariableCouldBeFinal Local variable 'role' could be declared final 94
ShortVariable Avoid variables with short names like ps 96
LocalVariableCouldBeFinal Local variable 'ps' could be declared final 96
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 107
MissingOverride The method 'getRoles(Group)' is missing an @Override annotation. 107–114
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 110
MissingOverride The method 'getRoles()' is missing an @Override annotation. 121–123
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 131
MissingOverride The method 'getPermissions(Group)' is missing an @Override annotation. 131–144
LocalVariableCouldBeFinal Local variable 'permissionSet' could be declared final 132
LocalVariableCouldBeFinal Local variable 'role' could be declared final 135
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 151–153
MissingOverride The method 'hasRole(Role, Group)' is missing an @Override annotation. 162–169
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 162
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 162
LocalVariableCouldBeFinal Local variable 'set' could be declared final 163
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 166
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 168
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 179
MissingOverride The method 'hasRole(Role, GroupSet)' is missing an @Override annotation. 179–194
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 179
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 182
LocalVariableCouldBeFinal Local variable 'group' could be declared final 185
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 187
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 188
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 190
MissingOverride The method 'hasRole(String, String)' is missing an @Override annotation. 203–222
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 203
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 203
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 207
ShortVariable Avoid variables with short names like g 209
LocalVariableCouldBeFinal Local variable 'g' could be declared final 209
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 210
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 210
ShortVariable Avoid variables with short names like rs 212
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 212
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 217
MissingOverride The method 'hasRole(String, GroupSet)' is missing an @Override annotation. 232–257
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 232
MethodArgumentCouldBeFinal Parameter 'rolename' is not assigned and could be declared final 232
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 238
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 240
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 245
LocalVariableCouldBeFinal Local variable 'group' could be declared final 248
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 250
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 251
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 253
MissingOverride The method 'hasRole(Role)' is missing an @Override annotation. 266–268
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 266
MissingOverride The method 'hasRole(String)' is missing an @Override annotation. 276–285
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 276
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 279
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 281
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 295
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 295
MissingOverride The method 'hasPermission(Permission, Group)' is missing an @Override annotation. 295–302
LocalVariableCouldBeFinal Local variable 'set' could be declared final 296
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 299
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 301
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 313
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 313
MissingOverride The method 'hasPermission(Permission, GroupSet)' is missing an @Override annotation. 313–328
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 316
LocalVariableCouldBeFinal Local variable 'group' could be declared final 319
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 321
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 322
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 324
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 338
MissingOverride The method 'hasPermission(String, String)' is missing an @Override annotation. 338–347
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 338
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 341
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 343
MissingOverride The method 'hasPermission(String, Group)' is missing an @Override annotation. 357–366
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 357
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 357
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 360
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 362
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 377
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 377
MissingOverride The method 'hasPermission(String, GroupSet)' is missing an @Override annotation. 377–400
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 382
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 383
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 388
LocalVariableCouldBeFinal Local variable 'group' could be declared final 391
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 393
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 394
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 396
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 408
MissingOverride The method 'hasPermission(Permission)' is missing an @Override annotation. 408–410
MissingOverride The method 'hasPermission(String)' is missing an @Override annotation. 419–428
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 419
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 422
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 424

org/apache/fulcrum/security/model/dynamic/DynamicModelManager.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 38–212

org/apache/fulcrum/security/model/dynamic/entity/DynamicGroup.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 82

org/apache/fulcrum/security/model/dynamic/entity/DynamicPermission.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 82

org/apache/fulcrum/security/model/dynamic/entity/DynamicRole.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissions': the method is declared in an interface type 45
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissionsAsSet': the method is declared in an interface type 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissions': the method is declared in an interface type 60
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissionsAsSet': the method is declared in an interface type 68
UnnecessaryModifier Unnecessary modifier 'public' on method 'addPermission': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'removePermission': the method is declared in an interface type 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroups': the method is declared in an interface type 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroups': the method is declared in an interface type 97
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeGroup': the method is declared in an interface type 104
UnnecessaryModifier Unnecessary modifier 'public' on method 'addGroup': the method is declared in an interface type 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroupsAsSet': the method is declared in an interface type 119
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroupsAsSet': the method is declared in an interface type 126

org/apache/fulcrum/security/model/dynamic/entity/DynamicUser.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getDelegatees': the method is declared in an interface type 47
UnnecessaryModifier Unnecessary modifier 'public' on method 'setDelegatees': the method is declared in an interface type 55
UnnecessaryModifier Unnecessary modifier 'public' on method 'getDelegators': the method is declared in an interface type 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'setDelegators': the method is declared in an interface type 71

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicGroupImpl.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 37–120
AtLeastOneConstructor Each class should declare at least one constructor 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 85
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 94–97
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 94
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 96
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 105–108
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 105
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 116–119

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicPermissionImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 37–120
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 85
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 94–97
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 94
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 96
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 105–108
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 105
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 116–119

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicRoleImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 39–200
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 39–200
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 41
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 43
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 50–61
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 54
MissingOverride The method 'getPermissionsAsSet()' is missing an @Override annotation. 69–72
MethodArgumentCouldBeFinal Parameter 'permissionSet' is not assigned and could be declared final 80
MissingOverride The method 'setPermissions(PermissionSet)' is missing an @Override annotation. 80–90
ConfusingTernary Avoid if (x != y) ..; else ..; 82–89
MissingOverride The method 'setPermissionsAsSet(Set)' is missing an @Override annotation. 98–101
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 98
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 108
MissingOverride The method 'addPermission(Permission)' is missing an @Override annotation. 108–111
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 110
MissingOverride The method 'removePermission(Permission)' is missing an @Override annotation. 118–121
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 118
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 120
MissingOverride The method 'getGroups()' is missing an @Override annotation. 128–139
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 132
MissingOverride The method 'setGroups(GroupSet)' is missing an @Override annotation. 147–157
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 147
ConfusingTernary Avoid if (x != y) ..; else ..; 149–156
MissingOverride The method 'removeGroup(Group)' is missing an @Override annotation. 164–167
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 164
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 166
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 174
MissingOverride The method 'addGroup(Group)' is missing an @Override annotation. 174–177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 176
MissingOverride The method 'setGroupsAsSet(Set)' is missing an @Override annotation. 185–188
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 185
MissingOverride The method 'getGroupsAsSet()' is missing an @Override annotation. 196–199

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicUserImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 41–95
DataClass The class 'DynamicUserImpl' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) 41–95
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 48
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 50
MissingOverride The method 'getDelegatees()' is missing an @Override annotation. 58–61
MethodArgumentCouldBeFinal Parameter 'delegatees' is not assigned and could be declared final 69
MissingOverride The method 'setDelegatees(Set)' is missing an @Override annotation. 69–72
MissingOverride The method 'getDelegators()' is missing an @Override annotation. 80–83
MissingOverride The method 'setDelegators(Set)' is missing an @Override annotation. 91–94
MethodArgumentCouldBeFinal Parameter 'delegators' is not assigned and could be declared final 91

org/apache/fulcrum/security/model/turbine/AbstractTurbineModelManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 45–232
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 54
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 62
UnusedAssignment The initializer for variable 'g' is never used (overwritten on lines 82 and 86) 79
ShortVariable Avoid variables with short names like g 79
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 82
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 89
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 93
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 113–116
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 113
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 134
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 134–160
MethodArgumentCouldBeFinal Parameter 'cascadeDelete' is not assigned and could be declared final 134
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 137) 136
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 137
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 141
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 142
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 147
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 148
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 150
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 151
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 151
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 175
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 175–193
UnusedAssignment The initializer for variable 'userExists' is never used (overwritten on line 178) 177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 178
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 182
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 183
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 185
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 186
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 186
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 208–226
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 208
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 211) 210
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 211
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 215
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 216
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 218
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 219
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 219

org/apache/fulcrum/security/model/turbine/TurbineACLFactory.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 46–163
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 49
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 76
LocalVariableCouldBeFinal Local variable 'tu' could be declared final 80
ShortVariable Avoid variables with short names like tu 80
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 81
LocalVariableCouldBeFinal Local variable 'tugr' could be declared final 81
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 84
LongVariable Avoid excessively long variable names like turbineUserGroupRoleSet 110
MethodArgumentCouldBeFinal Parameter 'turbineUserGroupRoleSet' is not assigned and could be declared final 110
ShortVariable Avoid variables with short names like g 125
UnusedAssignment The initializer for variable 'g' is never used (overwritten on lines 128 and 132) 125
UnusedAssignment The value assigned to variable 'g' is never used 128
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 139
EmptyCatchBlock Avoid empty catch blocks 144–147
ExceptionAsFlowControl Avoid using exceptions as flow control. 144

org/apache/fulcrum/security/model/turbine/TurbineAccessControlList.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 48–218

org/apache/fulcrum/security/model/turbine/TurbineAccessControlListImpl.java

Rule Violation Line
GodClass Possible God Class (WMC=57, ATFD=12, TCC=10.526%) 53–528
TooManyMethods This class has too many methods, consider refactoring it. 55–528
ImmutableField Private field 'roleSets' could be made final; it is only initialized in the declaration or constructor. 60
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 60
ImmutableField Private field 'permissionSets' could be made final; it is only initialized in the declaration or constructor. 63
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 63
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 66
ImmutableField Private field 'groupManager' could be made final; it is only initialized in the declaration or constructor. 69
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 69
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 72
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 72
ImmutableField Private field 'roleSet' could be made final; it is only initialized in the declaration or constructor. 75
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 75
ImmutableField Private field 'permissionSet' could be made final; it is only initialized in the declaration or constructor. 78
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 78
ImmutableField Private field 'logger' could be made final; it is only initialized in the declaration or constructor. 81
SingularField Perhaps 'logger' could be replaced by a local variable. 81
CyclomaticComplexity The constructor 'TurbineAccessControlListImpl(Set, GroupManager, RoleManager, TurbineModelManager, Logger)' has a cyclomatic complexity of 11. 102–167
MethodArgumentCouldBeFinal Parameter 'turbineUserGroupRoleSet' is not assigned and could be declared final 103
LongVariable Avoid excessively long variable names like turbineUserGroupRoleSet 103
MethodArgumentCouldBeFinal Parameter 'groupManager' is not assigned and could be declared final 104
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 104
MethodArgumentCouldBeFinal Parameter 'roleManager' is not assigned and could be declared final 104
MethodArgumentCouldBeFinal Parameter 'modelManager' is not assigned and could be declared final 104
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 106
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 107
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 112
LocalVariableCouldBeFinal Local variable 'group' could be declared final 114
ConfusingTernary Avoid if (x != y) ..; else ..; 124–137
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 144
ShortVariable Avoid variables with short names like rs 144
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 144
LocalVariableCouldBeFinal Local variable 'ps' could be declared final 150
ShortVariable Avoid variables with short names like ps 150
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 176
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 180
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 203
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 207
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 231
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 231
LocalVariableCouldBeFinal Local variable 'set' could be declared final 233
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 236
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 238
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 251
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 251
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 255
LocalVariableCouldBeFinal Local variable 'group' could be declared final 258
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 260
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 261
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 263
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 278
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 278
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 282
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 284
MethodArgumentCouldBeFinal Parameter 'rolename' is not assigned and could be declared final 300
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 300
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 306
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 319
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 331
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 335
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 337
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 351
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 351
LocalVariableCouldBeFinal Local variable 'set' could be declared final 353
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 356
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 358
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 371
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 371
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 375
LocalVariableCouldBeFinal Local variable 'group' could be declared final 378
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 380
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 381
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 383
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 398
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 398
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 402
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 404
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 418
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 418
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 422
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 424
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 440
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 440
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 447
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 449
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 454
LocalVariableCouldBeFinal Local variable 'group' could be declared final 457
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 459
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 460
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 462
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 475
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 487
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 491
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 493
ConfusingTernary Avoid if (x != y) ..; else ..; 514–515
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 514–515

org/apache/fulcrum/security/model/turbine/TurbineModelManager.java

Rule Violation Line
LongVariable Avoid excessively long variable names like GLOBAL_GROUP_ATTR_NAME 43
UnnecessaryModifier Unnecessary modifier 'public' on field 'GLOBAL_GROUP_NAME': the field is declared in an interface type 48
UnnecessaryModifier Unnecessary modifier 'public' on enum 'Privilege': the enum is declared in an interface type 54–56
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGlobalGroupName': the method is declared in an interface type 78

org/apache/fulcrum/security/model/turbine/entity/TurbinePermission.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 76
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 84

org/apache/fulcrum/security/model/turbine/entity/TurbineRole.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissions': the method is declared in an interface type 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissionsAsSet': the method is declared in an interface type 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissions': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissionsAsSet': the method is declared in an interface type 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'addPermission': the method is declared in an interface type 74
UnnecessaryModifier Unnecessary modifier 'public' on method 'removePermission': the method is declared in an interface type 81

org/apache/fulcrum/security/model/turbine/entity/TurbineRolePermissionoff.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 33–72
DataClass The class 'TurbineRolePermissionoff' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) 33–72
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 59
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 68

org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 37–204
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 86
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 97
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 108
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 12. 114–162
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 114
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 118
ConfusingTernary Avoid if (x != y) ..; else ..; 120–161
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 122
LocalVariableCouldBeFinal Local variable 'mObj' could be declared final 126
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 127
ConfusingTernary Avoid if (x != y) ..; else ..; 127–137
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 129
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 131
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 136
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 138
ConfusingTernary Avoid if (x != y) ..; else ..; 138–148
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 140
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 142
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 147
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 149
ConfusingTernary Avoid if (x != y) ..; else ..; 149–159
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 151
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 153
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 158
LocalVariableCouldBeFinal Local variable 'hcBuilder' could be declared final 167
LocalVariableCouldBeFinal Local variable 'role' could be declared final 169
LocalVariableCouldBeFinal Local variable 'user' could be declared final 175
LocalVariableCouldBeFinal Local variable 'group' could be declared final 181
ShortVariable Avoid variables with short names like sb 193
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 193
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 195
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 195
ConfusingTernary Avoid if (x != y) ..; else ..; 195
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 197
ConfusingTernary Avoid if (x != y) ..; else ..; 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 198
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 199
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 199
ConfusingTernary Avoid if (x != y) ..; else ..; 199

org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRoleEntity.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUserGroupRoleSet': the method is declared in an interface type 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUserGroupRoleSet': the method is declared in an interface type 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addUserGroupRole': the method is declared in an interface type 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeUserGroupRole': the method is declared in an interface type 67

org/apache/fulcrum/security/model/turbine/entity/impl/AbstractTurbineSecurityEntityImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 37–88
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 43
MissingOverride The method 'getUserGroupRoleSet()' is missing an @Override annotation. 51–54
MethodArgumentCouldBeFinal Parameter 'userGroupRoleSet' is not assigned and could be declared final 62
MissingOverride The method 'setUserGroupRoleSet(Set)' is missing an @Override annotation. 62–65
MethodArgumentCouldBeFinal Parameter 'userGroupRole' is not assigned and could be declared final 73
MissingOverride The method 'addUserGroupRole(TurbineUserGroupRole)' is missing an @Override annotation. 73–76
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 75
MissingOverride The method 'removeUserGroupRole(TurbineUserGroupRole)' is missing an @Override annotation. 84–87
MethodArgumentCouldBeFinal Parameter 'userGroupRole' is not assigned and could be declared final 84
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 86

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineGroupImpl.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 32–35
AtLeastOneConstructor Each class should declare at least one constructor 32–35

org/apache/fulcrum/security/model/turbine/entity/impl/TurbinePermissionImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 37–120
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 85
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 94
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 94–97
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 96
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 105
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 105–108
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 116–119

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineRoleImpl.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 36–118
AtLeastOneConstructor Each class should declare at least one constructor 36–118
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 38
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 45–56
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 49
MissingOverride The method 'getPermissionsAsSet()' is missing an @Override annotation. 64–67
MethodArgumentCouldBeFinal Parameter 'permissionSet' is not assigned and could be declared final 75
MissingOverride The method 'setPermissions(PermissionSet)' is missing an @Override annotation. 75–85
ConfusingTernary Avoid if (x != y) ..; else ..; 77–84
MissingOverride The method 'setPermissionsAsSet(Set)' is missing an @Override annotation. 94–97
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 94
MissingOverride The method 'addPermission(Permission)' is missing an @Override annotation. 104–107
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 104
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 106
MissingOverride The method 'removePermission(Permission)' is missing an @Override annotation. 114–117
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 114
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 116

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 33–174
DataClass The class 'TurbineUserImpl' is suspected to be a Data Class (WOC=9.091%, NOPA=0, NOAM=10, WMC=11) 33–174
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 63
MethodArgumentCouldBeFinal Parameter 'firstName' is not assigned and could be declared final 85
MethodArgumentCouldBeFinal Parameter 'lastName' is not assigned and could be declared final 107
MethodArgumentCouldBeFinal Parameter 'email' is not assigned and could be declared final 129
MethodReturnsInternalArray Returning 'objectData' may expose an internal array. 145
MethodArgumentCouldBeFinal Parameter 'objectdata' is not assigned and could be declared final 154
ArrayIsStoredDirectly The user-supplied array 'objectdata' is stored directly. 154
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 165

org/apache/fulcrum/security/spi/AbstractEntityManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 33–62
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 41
MissingOverride The method 'configure(Configuration)' is missing an @Override annotation. 41–44
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 43
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 57

org/apache/fulcrum/security/spi/AbstractGroupManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 35–192
LocalVariableCouldBeFinal Local variable 'group' could be declared final 60
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 60
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 63
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 84
LocalVariableCouldBeFinal Local variable 'group' could be declared final 86
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 87
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 103
LocalVariableCouldBeFinal Local variable 'group' could be declared final 106
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 106
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 128
ShortVariable Avoid variables with short names like id 128
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 131
LocalVariableCouldBeFinal Local variable 'group' could be declared final 131
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 151–173
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 151
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 162) 153
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 153
ConfusingTernary Avoid if (x != y) ..; else ..; 163–172
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 187

org/apache/fulcrum/security/spi/AbstractManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 41–196
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the composed field if you want a default access modifier 43
DefaultPackage Use explicit scoping instead of the default package private level 43
RedundantFieldInitializer Avoid using redundant field initializer for 'composed' 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 45
RedundantFieldInitializer Avoid using redundant field initializer for 'manager' 45
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 46
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 47
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 49
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 148
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 161
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 167
MethodArgumentCouldBeFinal Parameter 'lookup' is not assigned and could be declared final 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 180
UnusedAssignment The initializer for variable 'component' is never used (overwritten on line 186) 182

org/apache/fulcrum/security/spi/AbstractPermissionManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 36–196
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 61
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 61
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 64
MethodArgumentCouldBeFinal Parameter 'permName' is not assigned and could be declared final 84
LocalVariableCouldBeFinal Local variable 'perm' could be declared final 86
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 87
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 103
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 106
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 106
ShortVariable Avoid variables with short names like id 128
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 128
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 131
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 131
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 151–177
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 151
UnusedAssignment The initializer for variable 'permissionExists' is never used (overwritten on line 164) 153
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 153
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 170
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 191

org/apache/fulcrum/security/spi/AbstractRoleManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 36–213
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 66
LocalVariableCouldBeFinal Local variable 'role' could be declared final 66
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 69
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 92
LocalVariableCouldBeFinal Local variable 'role' could be declared final 94
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 95
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 116
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 119
LocalVariableCouldBeFinal Local variable 'role' could be declared final 119
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 143
ShortVariable Avoid variables with short names like id 143
LocalVariableCouldBeFinal Local variable 'role' could be declared final 146
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 146
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 168
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 168–195
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 170
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 181) 170
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 187
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 209

org/apache/fulcrum/security/spi/AbstractUserManager.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 42–337
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 55
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 55
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 56
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 56
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 62
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 64
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 79
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 102
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 102
LocalVariableCouldBeFinal Local variable 'user' could be declared final 104
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 110
LocalVariableCouldBeFinal Local variable 'user' could be declared final 113
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 113
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 135
ShortVariable Avoid variables with short names like id 135
LocalVariableCouldBeFinal Local variable 'user' could be declared final 138
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 138
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 163
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 163
MethodArgumentCouldBeFinal Parameter 'newPassword' is not assigned and could be declared final 194
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 194
MethodArgumentCouldBeFinal Parameter 'oldPassword' is not assigned and could be declared final 194
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 230
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 230
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 259
LocalVariableCouldBeFinal Local variable 'user' could be declared final 259
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 262
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 283
LocalVariableCouldBeFinal Local variable 'user' could be declared final 285
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 286
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 304
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 319

org/apache/fulcrum/security/util/DataBackendException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 42
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 57
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 57

org/apache/fulcrum/security/util/EntityExistsException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 42

org/apache/fulcrum/security/util/FulcrumSecurityException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 41
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 56
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 56

org/apache/fulcrum/security/util/GroupSet.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 77
MethodArgumentCouldBeFinal Parameter 'groupId' is not assigned and could be declared final 92
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 106
ShortVariable Avoid variables with short names like sb 106
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 107

org/apache/fulcrum/security/util/PasswordMismatchException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 42

org/apache/fulcrum/security/util/PermissionSet.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 78
MethodArgumentCouldBeFinal Parameter 'permissionId' is not assigned and could be declared final 94
ShortVariable Avoid variables with short names like sb 108
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 108
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 109

org/apache/fulcrum/security/util/RoleSet.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 77
MethodArgumentCouldBeFinal Parameter 'roleId' is not assigned and could be declared final 92
ShortVariable Avoid variables with short names like sb 106
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 106
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 107

org/apache/fulcrum/security/util/SecuritySet.java

Rule Violation Line
AbstractNaming Abstract classes should be named AbstractXXX 48–347
TooManyMethods This class has too many methods, consider refactoring it. 48–347
RedundantFieldInitializer Avoid using redundant field initializer for 'nameMap' 53
UnusedAssignment The field initializer for 'nameMap' is never used (overwritten on line 63) 53
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 53
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 56
UnusedAssignment The field initializer for 'idMap' is never used (overwritten on line 64) 56
RedundantFieldInitializer Avoid using redundant field initializer for 'idMap' 56
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 63
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 64
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 114
SimplifiedTernary Ternary operators that can be simplified with || or && 116
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 125
ShortVariable Avoid variables with short names like id 125
SimplifiedTernary Ternary operators that can be simplified with || or && 127
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 138
LocalVariableCouldBeFinal Local variable 'sbuf' could be declared final 160
LocalVariableCouldBeFinal Local variable 'it' could be declared final 162
LocalVariableCouldBeFinal Local variable 'se' could be declared final 163
ShortVariable Avoid variables with short names like se 163
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 165
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 167
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 182
ShortVariable Avoid variables with short names like o 182
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 186
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 209
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 215
ForLoopsMustUseBraces Avoid using for statements without curly braces 219–220
ControlStatementBraces This statement should have braces 219–220
LocalVariableCouldBeFinal Local variable 'o' could be declared final 219
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 232
LocalVariableCouldBeFinal Local variable 'object' could be declared final 234
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 238
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 245
LocalVariableCouldBeFinal Local variable 'object' could be declared final 248
LocalVariableCouldBeFinal Local variable 'result' could be declared final 250
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 261
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 274
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 284
ShortVariable Avoid variables with short names like o 284
SimplifyConditional No need to check for null before an instanceof 286
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 288
ShortVariable Avoid variables with short names like o 303
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 303
LocalVariableCouldBeFinal Local variable 'res' could be declared final 307
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 310
ShortVariable Avoid variables with short names like a 320
MethodArgumentCouldBeFinal Parameter 'a' is not assigned and could be declared final 320
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 322
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 332
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 343
ShortVariable Avoid variables with short names like id 343

org/apache/fulcrum/security/util/UnknownEntityException.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 42
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 57
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 57

org/apache/fulcrum/security/util/UserSet.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 58
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 74
MethodArgumentCouldBeFinal Parameter 'userId' is not assigned and could be declared final 89
ShortVariable Avoid variables with short names like sb 103
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 103
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 104

Priority 4

org/apache/fulcrum/security/RoleManager.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'org.apache.fulcrum.security.entity.Group' 23

org/apache/fulcrum/security/entity/Role.java

Rule Violation Line
ShortClassName Avoid short class names like Role 31–34

org/apache/fulcrum/security/entity/User.java

Rule Violation Line
ShortClassName Avoid short class names like User 29–57

Priority 5

org/apache/fulcrum/security/entity/impl/SecurityEntityImpl.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'104'). 99–104
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'108'). 99–108
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'112'). 99–112

org/apache/fulcrum/security/model/basic/BasicACLFactory.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '57'-'65'). 57–65

org/apache/fulcrum/security/model/dynamic/AbstractDynamicModelManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'permissionExists' (lines '59'-'60'). 59–60
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '91'-'92'). 91–92
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'userExists' (lines '129'-'130'). 129–130
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '161'-'162'). 161–162

org/apache/fulcrum/security/model/dynamic/DynamicACLFactory.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '101'-'108'). 101–108

org/apache/fulcrum/security/model/dynamic/DynamicAccessControlListImpl.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '204'-'219'). 204–219
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '204'-'213'). 204–213
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '213'-'219'). 213–219
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '213'-'213'). 213
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'role' (lines '236'-'257'). 236–257
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permission' (lines '381'-'400'). 381–400

org/apache/fulcrum/security/model/turbine/AbstractTurbineModelManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '79'-'82'). 79–82
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '82'-'86'). 82–86
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '136'-'137'). 136–137
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'userExists' (lines '177'-'178'). 177–178
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '210'-'211'). 210–211

org/apache/fulcrum/security/model/turbine/TurbineACLFactory.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupManager' (lines '112'-'119'). 112–119
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleManager' (lines '113'-'118'). 113–118
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'modelManager' (lines '114'-'120'). 114–120
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'roleManager' (lines '118'-'161'). 118–161
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '125'-'128'). 125–128
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '128'-'132'). 128–132
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '152'-'161'). 152–161

org/apache/fulcrum/security/model/turbine/TurbineAccessControlListImpl.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permission' (lines '445'-'466'). 445–466

org/apache/fulcrum/security/spi/AbstractGroupManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '153'-'162'). 153–162
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'groupExists' (lines '153'-'173'). 153–173

org/apache/fulcrum/security/spi/AbstractManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'component' (lines '182'-'186'). 182–186
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'component' (lines '186'-'194'). 186–194

org/apache/fulcrum/security/spi/AbstractPermissionManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'permissionExists' (lines '153'-'164'). 153–164
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permissionExists' (lines '153'-'177'). 153–177

org/apache/fulcrum/security/spi/AbstractRoleManager.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '170'-'181'). 170–181
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'roleExists' (lines '170'-'195'). 170–195

org/apache/fulcrum/security/util/SecuritySet.java

Rule Violation Line
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'changed' (lines '247'-'253'). 247–253
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'changed' (lines '253'-'253'). 253

Files

org/apache/fulcrum/security/BaseSecurityService.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 41–212
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 43
RedundantFieldInitializer Avoid using redundant field initializer for 'manager' 3 43
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the userClassName field if you want a default access modifier 3 47
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 47
DefaultPackage Use explicit scoping instead of the default package private level 3 47
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the groupClassName field if you want a default access modifier 3 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 48
DefaultPackage Use explicit scoping instead of the default package private level 3 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 49
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the permissionClassName field if you want a default access modifier 3 49
LongVariable Avoid excessively long variable names like permissionClassName 3 49
DefaultPackage Use explicit scoping instead of the default package private level 3 49
DefaultPackage Use explicit scoping instead of the default package private level 3 50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the roleClassName field if you want a default access modifier 3 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 51
DefaultPackage Use explicit scoping instead of the default package private level 3 51
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the aclClassName field if you want a default access modifier 3 51
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 53
RedundantFieldInitializer Avoid using redundant field initializer for 'userManager' 3 53
RedundantFieldInitializer Avoid using redundant field initializer for 'roleManager' 3 55
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 55
RedundantFieldInitializer Avoid using redundant field initializer for 'groupManager' 3 57
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 57
RedundantFieldInitializer Avoid using redundant field initializer for 'permissionManager' 3 59
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 59
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 61
RedundantFieldInitializer Avoid using redundant field initializer for 'modelManager' 3 61
MissingOverride The method 'getUserManager()' is missing an @Override annotation. 3 68–82
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 78
MissingOverride The method 'getGroupManager()' is missing an @Override annotation. 3 89–103
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 99
MissingOverride The method 'getRoleManager()' is missing an @Override annotation. 3 110–124
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 120
MissingOverride The method 'getPermissionManager()' is missing an @Override annotation. 3 131–145
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 141
MissingOverride The method 'getModelManager()' is missing an @Override annotation. 3 152–166
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 162
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 3 179
MissingOverride The method 'service(ServiceManager)' is missing an @Override annotation. 3 179–182
MissingOverride The method 'initialize()' is missing an @Override annotation. 3 191–198
SignatureDeclareThrowsException A method/constructor should not explicitly throw java.lang.Exception 3 191
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 193
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 194
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 195
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 196
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 197
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 210

org/apache/fulcrum/security/GroupManager.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like id 3 105

org/apache/fulcrum/security/ModelManager.java

Rule Violation Priority Line
ConstantsInInterface Avoid constants in interfaces. Interfaces define types, constants are implementation details better placed in classes or enums. See Effective Java, item 19. 3 34

org/apache/fulcrum/security/PermissionManager.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like id 3 106

org/apache/fulcrum/security/RoleManager.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'org.apache.fulcrum.security.entity.Group' 4 23
ShortVariable Avoid variables with short names like id 3 104

org/apache/fulcrum/security/UserManager.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like id 3 129

org/apache/fulcrum/security/acl/AccessControlException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 43

org/apache/fulcrum/security/authenticator/Authenticator.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'ROLE': the field is declared in an interface type 3 35
UnnecessaryModifier Unnecessary modifier 'public' on method 'authenticate': the method is declared in an interface type 3 37

org/apache/fulcrum/security/authenticator/CryptoAuthenticator.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 47–114
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the composed field if you want a default access modifier 3 49
DefaultPackage Use explicit scoping instead of the default package private level 3 49
RedundantFieldInitializer Avoid using redundant field initializer for 'composed' 3 49
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 50
RedundantFieldInitializer Avoid using redundant field initializer for 'cryptoService' 3 50
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 51
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 52
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 67
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 67
LocalVariableCouldBeFinal Local variable 'ca' could be declared final 3 71
ShortVariable Avoid variables with short names like ca 3 71
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 72
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 73
LocalVariableCouldBeFinal Local variable 'output' could be declared final 3 73
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 74
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 80
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 3 91
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 93
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 94
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 3 101
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 112

org/apache/fulcrum/security/authenticator/NoOpAuthenticator.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 37–46
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 43
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 43

org/apache/fulcrum/security/authenticator/TextMatchAuthenticator.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 36–55
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 46
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 48
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 51
LocalVariableCouldBeFinal Local variable 'referenced' could be declared final 3 51
LocalVariableCouldBeFinal Local variable 'tested' could be declared final 3 52
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 53

org/apache/fulcrum/security/entity/Role.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Role 4 31–34

org/apache/fulcrum/security/entity/SecurityEntity.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like id 3 66

org/apache/fulcrum/security/entity/User.java

Rule Violation Priority Line
ShortClassName Avoid short class names like User 4 29–57

org/apache/fulcrum/security/entity/impl/SecurityEntityImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 34–127
ShortVariable Avoid variables with short names like id 3 43
MissingOverride The method 'getId()' is missing an @Override annotation. 3 48–51
ShortVariable Avoid variables with short names like id 3 56
MissingOverride The method 'setId(Object)' is missing an @Override annotation. 3 56–59
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 56
MissingOverride The method 'getName()' is missing an @Override annotation. 3 64–67
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 75
MissingOverride The method 'setName(String)' is missing an @Override annotation. 3 75–83
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 75
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 81
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 88
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 3 97
ShortVariable Avoid variables with short names like o 3 97
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'104'). 5 99–104
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'108'). 5 99–108
UnusedAssignment The initializer for variable 'equals' is never used (overwritten on lines 104, 108 and 112) 3 99
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'equals' (lines '99'-'112'). 5 99–112
LocalVariableCouldBeFinal Local variable 'id' could be declared final 3 100
ShortVariable Avoid variables with short names like id 3 100
ConfusingTernary Avoid if (x != y) ..; else ..; 3 106–113

org/apache/fulcrum/security/model/basic/BasicACLFactory.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 36–85
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 3 51
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '57'-'65'). 5 57–65
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 59
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 70
MissingOverride The method 'getAccessControlList(User)' is missing an @Override annotation. 3 70–84
LocalVariableCouldBeFinal Local variable 'groupSet' could be declared final 3 72
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 3 77
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 82

org/apache/fulcrum/security/model/basic/BasicAccessControlListImpl.java

Rule Violation Priority Line
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 3 42
UnusedAssignment The field initializer for 'groupSet' is never used (overwritten on line 61) 3 42
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 42
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 3 59
MissingOverride The method 'getGroups()' is missing an @Override annotation. 3 69–72
MissingOverride The method 'hasGroup(Group)' is missing an @Override annotation. 3 81–84
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 81
MissingOverride The method 'hasGroup(String)' is missing an @Override annotation. 3 93–103
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 93
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 97
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 99

org/apache/fulcrum/security/model/basic/BasicModelManager.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'grant': the method is declared in an interface type 3 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'revoke': the method is declared in an interface type 3 62
UnnecessaryModifier Unnecessary modifier 'public' on method 'revokeAll': the method is declared in an interface type 3 76

org/apache/fulcrum/security/model/basic/entity/BasicGroup.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUsers': the method is declared in an interface type 3 42
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUsers': the method is declared in an interface type 3 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUsersAsSet': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUsersAsSet': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'addUser': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeUser': the method is declared in an interface type 3 83

org/apache/fulcrum/security/model/basic/entity/BasicUser.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroups': the method is declared in an interface type 3 42
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroups': the method is declared in an interface type 3 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeGroup': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'addGroup': the method is declared in an interface type 3 66
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroupsAsSet': the method is declared in an interface type 3 74
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroupsAsSet': the method is declared in an interface type 3 81

org/apache/fulcrum/security/model/basic/entity/impl/BasicGroupImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 36–125
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 44
MissingOverride The method 'getUsers()' is missing an @Override annotation. 3 51–62
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 55
MissingOverride The method 'setUsers(UserSet)' is missing an @Override annotation. 3 70–80
MethodArgumentCouldBeFinal Parameter 'userSet' is not assigned and could be declared final 3 70
ConfusingTernary Avoid if (x != y) ..; else ..; 3 72–79
MissingOverride The method 'getUsersAsSet()' is missing an @Override annotation. 3 88–91
MissingOverride The method 'setUsersAsSet(Set)' is missing an @Override annotation. 3 99–102
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 3 99
MissingOverride The method 'addUser(User)' is missing an @Override annotation. 3 110–113
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 110
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 112
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 121
MissingOverride The method 'removeUser(User)' is missing an @Override annotation. 3 121–124
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 123

org/apache/fulcrum/security/model/basic/entity/impl/BasicUserImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 38–181
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 49
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 80
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 95
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 3 111
ConfusingTernary Avoid if (x != y) ..; else ..; 3 113–120
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 130
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 132
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 142
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 144
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 3 154
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 3 177

org/apache/fulcrum/security/model/dynamic/AbstractDynamicModelManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 43–223
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 43–223
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 57
MissingOverride The method 'revokeAll(Permission)' is missing an @Override annotation. 3 57–75
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 57–75
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'permissionExists' (lines '59'-'60'). 5 59–60
UnusedAssignment The initializer for variable 'permissionExists' is never used (overwritten on line 60) 3 59
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 60
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 3 63
LocalVariableCouldBeFinal Local variable 'role2' could be declared final 3 64
MissingOverride The method 'revokeAll(Group)' is missing an @Override annotation. 3 89–113
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 89–113
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 89
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '91'-'92'). 5 91–92
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 92) 3 91
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 92
LocalVariableCouldBeFinal Local variable 'users' could be declared final 3 95
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 96
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 3 101
LocalVariableCouldBeFinal Local variable 'role2' could be declared final 3 102
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 127–145
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 127
MissingOverride The method 'revokeAll(User)' is missing an @Override annotation. 3 127–145
UnusedAssignment The initializer for variable 'userExists' is never used (overwritten on line 130) 3 129
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'userExists' (lines '129'-'130'). 5 129–130
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 130
LocalVariableCouldBeFinal Local variable 'groups' could be declared final 3 133
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 134
MissingOverride The method 'revokeAll(Role)' is missing an @Override annotation. 3 159–182
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 159–182
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 159
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 162) 3 161
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '161'-'162'). 5 161–162
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 162
LocalVariableCouldBeFinal Local variable 'groups' could be declared final 3 165
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 166
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 171
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 3 172
MethodArgumentCouldBeFinal Parameter 'delegator' is not assigned and could be declared final 3 189
MissingOverride The method 'addDelegate(User, User)' is missing an @Override annotation. 3 189–201
MethodArgumentCouldBeFinal Parameter 'delegatee' is not assigned and could be declared final 3 189
LocalVariableCouldBeFinal Local variable 'dynamicDelegator' could be declared final 3 191
LocalVariableCouldBeFinal Local variable 'dynamicDelegatee' could be declared final 3 192
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 196
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 196
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 198
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 199
MethodArgumentCouldBeFinal Parameter 'delegatee' is not assigned and could be declared final 3 207
MethodArgumentCouldBeFinal Parameter 'delegator' is not assigned and could be declared final 3 207
MissingOverride The method 'removeDelegate(User, User)' is missing an @Override annotation. 3 207–222
LocalVariableCouldBeFinal Local variable 'dynamicDelegator' could be declared final 3 209
LocalVariableCouldBeFinal Local variable 'dynamicDelegatee' could be declared final 3 210
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 212
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 212
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 214
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 215

org/apache/fulcrum/security/model/dynamic/DynamicACLFactory.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 47–155
MissingOverride The method 'getAccessControlList(User)' is missing an @Override annotation. 3 52–78
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 52
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 54
LocalVariableCouldBeFinal Local variable 'roleSets' could be declared final 3 54
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 54
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 55
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 55
LocalVariableCouldBeFinal Local variable 'permissionSets' could be declared final 3 55
LocalVariableCouldBeFinal Local variable 'users' could be declared final 3 57
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 57
LocalVariableCouldBeFinal Local variable 'aUser' could be declared final 3 63
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 3 71
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 76
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 3 95
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 3 96
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '101'-'108'). 5 101–108
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 103
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 3 118
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 118
LocalVariableCouldBeFinal Local variable 'u' could be declared final 3 120
LocalVariableCouldBeFinal Local variable 'delegatorUser' could be declared final 3 123
MethodArgumentCouldBeFinal Parameter 'roleSets' is not assigned and could be declared final 3 142
MethodArgumentCouldBeFinal Parameter 'permissionSets' is not assigned and could be declared final 3 142
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 142
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 144
LocalVariableCouldBeFinal Local variable 'roleSet' could be declared final 3 146
LocalVariableCouldBeFinal Local variable 'r' could be declared final 3 148
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 150
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 151

org/apache/fulcrum/security/model/dynamic/DynamicAccessControlList.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–227

org/apache/fulcrum/security/model/dynamic/DynamicAccessControlListImpl.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=53, ATFD=11, TCC=22.059%) 3 38–429
TooManyMethods This class has too many methods, consider refactoring it. 3 39–429
ImmutableField Private field 'roleSets' could be made final; it is only initialized in the declaration or constructor. 3 49
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 49
ImmutableField Private field 'permissionSets' could be made final; it is only initialized in the declaration or constructor. 3 52
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 52
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 55
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 3 55
ImmutableField Private field 'roleSet' could be made final; it is only initialized in the declaration or constructor. 3 58
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 58
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 61
ImmutableField Private field 'permissionSet' could be made final; it is only initialized in the declaration or constructor. 3 61
MethodArgumentCouldBeFinal Parameter 'roleSets' is not assigned and could be declared final 3 80
MethodArgumentCouldBeFinal Parameter 'permissionSets' is not assigned and could be declared final 3 81
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 3 84
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 86
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 3 88
ShortVariable Avoid variables with short names like rs 3 88
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 3 92
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 94
ShortVariable Avoid variables with short names like ps 3 96
LocalVariableCouldBeFinal Local variable 'ps' could be declared final 3 96
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 107
MissingOverride The method 'getRoles(Group)' is missing an @Override annotation. 3 107–114
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 110
MissingOverride The method 'getRoles()' is missing an @Override annotation. 3 121–123
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 131
MissingOverride The method 'getPermissions(Group)' is missing an @Override annotation. 3 131–144
LocalVariableCouldBeFinal Local variable 'permissionSet' could be declared final 3 132
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 135
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 3 151–153
MissingOverride The method 'hasRole(Role, Group)' is missing an @Override annotation. 3 162–169
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 162
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 162
LocalVariableCouldBeFinal Local variable 'set' could be declared final 3 163
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 166
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 168
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 179
MissingOverride The method 'hasRole(Role, GroupSet)' is missing an @Override annotation. 3 179–194
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 179
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 182
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 185
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 3 187
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 188
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 190
MissingOverride The method 'hasRole(String, String)' is missing an @Override annotation. 3 203–222
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 203
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 203
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '204'-'219'). 5 204–219
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '204'-'213'). 5 204–213
LocalVariableCouldBeFinal Local variable 'entry' could be declared final 3 207
ShortVariable Avoid variables with short names like g 3 209
LocalVariableCouldBeFinal Local variable 'g' could be declared final 3 209
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 210
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 210
ShortVariable Avoid variables with short names like rs 3 212
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 3 212
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '213'-'219'). 5 213–219
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleFound' (lines '213'-'213'). 5 213
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 217
MissingOverride The method 'hasRole(String, GroupSet)' is missing an @Override annotation. 3 232–257
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 232
MethodArgumentCouldBeFinal Parameter 'rolename' is not assigned and could be declared final 3 232
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'role' (lines '236'-'257'). 5 236–257
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 238
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 240
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 245
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 248
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 3 250
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 251
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 253
MissingOverride The method 'hasRole(Role)' is missing an @Override annotation. 3 266–268
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 266
MissingOverride The method 'hasRole(String)' is missing an @Override annotation. 3 276–285
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 276
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 279
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 281
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 295
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 295
MissingOverride The method 'hasPermission(Permission, Group)' is missing an @Override annotation. 3 295–302
LocalVariableCouldBeFinal Local variable 'set' could be declared final 3 296
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 299
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 301
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 313
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 313
MissingOverride The method 'hasPermission(Permission, GroupSet)' is missing an @Override annotation. 3 313–328
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 316
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 319
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 321
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 322
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 324
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 338
MissingOverride The method 'hasPermission(String, String)' is missing an @Override annotation. 3 338–347
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 338
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 341
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 343
MissingOverride The method 'hasPermission(String, Group)' is missing an @Override annotation. 3 357–366
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 357
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 357
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 360
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 362
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 3 377
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 377
MissingOverride The method 'hasPermission(String, GroupSet)' is missing an @Override annotation. 3 377–400
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permission' (lines '381'-'400'). 5 381–400
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 382
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 383
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 388
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 391
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 393
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 394
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 396
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 408
MissingOverride The method 'hasPermission(Permission)' is missing an @Override annotation. 3 408–410
MissingOverride The method 'hasPermission(String)' is missing an @Override annotation. 3 419–428
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 419
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 422
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 424

org/apache/fulcrum/security/model/dynamic/DynamicModelManager.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 38–212

org/apache/fulcrum/security/model/dynamic/entity/DynamicGroup.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 3 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 3 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 3 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 3 82

org/apache/fulcrum/security/model/dynamic/entity/DynamicPermission.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 3 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 3 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 3 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 3 82

org/apache/fulcrum/security/model/dynamic/entity/DynamicRole.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissions': the method is declared in an interface type 3 45
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissionsAsSet': the method is declared in an interface type 3 52
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissions': the method is declared in an interface type 3 60
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissionsAsSet': the method is declared in an interface type 3 68
UnnecessaryModifier Unnecessary modifier 'public' on method 'addPermission': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifier 'public' on method 'removePermission': the method is declared in an interface type 3 82
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroups': the method is declared in an interface type 3 89
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroups': the method is declared in an interface type 3 97
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeGroup': the method is declared in an interface type 3 104
UnnecessaryModifier Unnecessary modifier 'public' on method 'addGroup': the method is declared in an interface type 3 111
UnnecessaryModifier Unnecessary modifier 'public' on method 'setGroupsAsSet': the method is declared in an interface type 3 119
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGroupsAsSet': the method is declared in an interface type 3 126

org/apache/fulcrum/security/model/dynamic/entity/DynamicUser.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getDelegatees': the method is declared in an interface type 3 47
UnnecessaryModifier Unnecessary modifier 'public' on method 'setDelegatees': the method is declared in an interface type 3 55
UnnecessaryModifier Unnecessary modifier 'public' on method 'getDelegators': the method is declared in an interface type 3 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'setDelegators': the method is declared in an interface type 3 71

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicGroupImpl.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 37–120
AtLeastOneConstructor Each class should declare at least one constructor 3 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 3 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 3 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 3 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 3 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 3 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 85
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 3 94–97
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 94
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 96
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 3 105–108
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 3 105
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 3 116–119

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicPermissionImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 37–120
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 3 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 3 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 3 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 3 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 3 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 85
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 3 94–97
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 94
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 96
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 3 105–108
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 3 105
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 3 116–119

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicRoleImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 39–200
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 39–200
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 41
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 43
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 3 50–61
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 54
MissingOverride The method 'getPermissionsAsSet()' is missing an @Override annotation. 3 69–72
MethodArgumentCouldBeFinal Parameter 'permissionSet' is not assigned and could be declared final 3 80
MissingOverride The method 'setPermissions(PermissionSet)' is missing an @Override annotation. 3 80–90
ConfusingTernary Avoid if (x != y) ..; else ..; 3 82–89
MissingOverride The method 'setPermissionsAsSet(Set)' is missing an @Override annotation. 3 98–101
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 3 98
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 108
MissingOverride The method 'addPermission(Permission)' is missing an @Override annotation. 3 108–111
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 110
MissingOverride The method 'removePermission(Permission)' is missing an @Override annotation. 3 118–121
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 118
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 120
MissingOverride The method 'getGroups()' is missing an @Override annotation. 3 128–139
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 132
MissingOverride The method 'setGroups(GroupSet)' is missing an @Override annotation. 3 147–157
MethodArgumentCouldBeFinal Parameter 'groupSet' is not assigned and could be declared final 3 147
ConfusingTernary Avoid if (x != y) ..; else ..; 3 149–156
MissingOverride The method 'removeGroup(Group)' is missing an @Override annotation. 3 164–167
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 164
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 166
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 174
MissingOverride The method 'addGroup(Group)' is missing an @Override annotation. 3 174–177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 176
MissingOverride The method 'setGroupsAsSet(Set)' is missing an @Override annotation. 3 185–188
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 3 185
MissingOverride The method 'getGroupsAsSet()' is missing an @Override annotation. 3 196–199

org/apache/fulcrum/security/model/dynamic/entity/impl/DynamicUserImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 41–95
DataClass The class 'DynamicUserImpl' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) 3 41–95
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 48
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 50
MissingOverride The method 'getDelegatees()' is missing an @Override annotation. 3 58–61
MethodArgumentCouldBeFinal Parameter 'delegatees' is not assigned and could be declared final 3 69
MissingOverride The method 'setDelegatees(Set)' is missing an @Override annotation. 3 69–72
MissingOverride The method 'getDelegators()' is missing an @Override annotation. 3 80–83
MissingOverride The method 'setDelegators(Set)' is missing an @Override annotation. 3 91–94
MethodArgumentCouldBeFinal Parameter 'delegators' is not assigned and could be declared final 3 91

org/apache/fulcrum/security/model/turbine/AbstractTurbineModelManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 45–232
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 54
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 3 62
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '79'-'82'). 5 79–82
UnusedAssignment The initializer for variable 'g' is never used (overwritten on lines 82 and 86) 3 79
ShortVariable Avoid variables with short names like g 3 79
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '82'-'86'). 5 82–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 82
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 89
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 93
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 113–116
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 113
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 134
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 134–160
MethodArgumentCouldBeFinal Parameter 'cascadeDelete' is not assigned and could be declared final 3 134
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 137) 3 136
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '136'-'137'). 5 136–137
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 137
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 141
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 3 142
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 3 147
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 3 148
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 3 150
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 151
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 151
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 175
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 175–193
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'userExists' (lines '177'-'178'). 5 177–178
UnusedAssignment The initializer for variable 'userExists' is never used (overwritten on line 178) 3 177
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 178
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 3 182
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 3 183
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 3 185
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 186
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 186
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 208–226
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 208
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 211) 3 210
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '210'-'211'). 5 210–211
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 211
LocalVariableCouldBeFinal Local variable 'userGroupRoles' could be declared final 3 215
LocalVariableCouldBeFinal Local variable 'userGroupRole' could be declared final 3 216
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 3 218
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 219
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 219

org/apache/fulcrum/security/model/turbine/TurbineACLFactory.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 46–163
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 49
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 76
LocalVariableCouldBeFinal Local variable 'tu' could be declared final 3 80
ShortVariable Avoid variables with short names like tu 3 80
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 81
LocalVariableCouldBeFinal Local variable 'tugr' could be declared final 3 81
LocalVariableCouldBeFinal Local variable 'aclInstance' could be declared final 3 84
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 89
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 93
LongVariable Avoid excessively long variable names like turbineUserGroupRoleSet 3 110
MethodArgumentCouldBeFinal Parameter 'turbineUserGroupRoleSet' is not assigned and could be declared final 3 110
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupManager' (lines '112'-'119'). 5 112–119
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleManager' (lines '113'-'118'). 5 113–118
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'modelManager' (lines '114'-'120'). 5 114–120
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'roleManager' (lines '118'-'161'). 5 118–161
ShortVariable Avoid variables with short names like g 3 125
UnusedAssignment The initializer for variable 'g' is never used (overwritten on lines 128 and 132) 3 125
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '125'-'128'). 5 125–128
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'g' (lines '128'-'132'). 5 128–132
UnusedAssignment The value assigned to variable 'g' is never used 3 128
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 139
EmptyCatchBlock Avoid empty catch blocks 3 144–147
ExceptionAsFlowControl Avoid using exceptions as flow control. 3 144
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'accessControlList' (lines '152'-'161'). 5 152–161

org/apache/fulcrum/security/model/turbine/TurbineAccessControlList.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 48–218

org/apache/fulcrum/security/model/turbine/TurbineAccessControlListImpl.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=57, ATFD=12, TCC=10.526%) 3 53–528
TooManyMethods This class has too many methods, consider refactoring it. 3 55–528
ImmutableField Private field 'roleSets' could be made final; it is only initialized in the declaration or constructor. 3 60
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 60
ImmutableField Private field 'permissionSets' could be made final; it is only initialized in the declaration or constructor. 3 63
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 63
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 66
ImmutableField Private field 'groupManager' could be made final; it is only initialized in the declaration or constructor. 3 69
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 69
ImmutableField Private field 'groupSet' could be made final; it is only initialized in the declaration or constructor. 3 72
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 72
ImmutableField Private field 'roleSet' could be made final; it is only initialized in the declaration or constructor. 3 75
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 75
ImmutableField Private field 'permissionSet' could be made final; it is only initialized in the declaration or constructor. 3 78
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 78
ImmutableField Private field 'logger' could be made final; it is only initialized in the declaration or constructor. 3 81
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 81
SingularField Perhaps 'logger' could be replaced by a local variable. 3 81
CyclomaticComplexity The constructor 'TurbineAccessControlListImpl(Set, GroupManager, RoleManager, TurbineModelManager, Logger)' has a cyclomatic complexity of 11. 3 102–167
MethodArgumentCouldBeFinal Parameter 'turbineUserGroupRoleSet' is not assigned and could be declared final 3 103
LongVariable Avoid excessively long variable names like turbineUserGroupRoleSet 3 103
MethodArgumentCouldBeFinal Parameter 'groupManager' is not assigned and could be declared final 3 104
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 3 104
MethodArgumentCouldBeFinal Parameter 'roleManager' is not assigned and could be declared final 3 104
MethodArgumentCouldBeFinal Parameter 'modelManager' is not assigned and could be declared final 3 104
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 106
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 107
LocalVariableCouldBeFinal Local variable 'ugr' could be declared final 3 112
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 114
ConfusingTernary Avoid if (x != y) ..; else ..; 3 124–137
LocalVariableCouldBeFinal Local variable 'rs' could be declared final 3 144
ShortVariable Avoid variables with short names like rs 3 144
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 144
ConstructorCallsOverridableMethod Overridable method 'getPermissions' called during object construction 1 150
LocalVariableCouldBeFinal Local variable 'ps' could be declared final 3 150
ShortVariable Avoid variables with short names like ps 3 150
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 176
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 180
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 203
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 207
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 231
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 231
LocalVariableCouldBeFinal Local variable 'set' could be declared final 3 233
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 236
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 238
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 251
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 251
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 255
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 258
LocalVariableCouldBeFinal Local variable 'roles' could be declared final 3 260
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 261
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 263
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 3 278
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 3 278
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 282
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 284
MethodArgumentCouldBeFinal Parameter 'rolename' is not assigned and could be declared final 3 300
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 300
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 306
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 319
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 331
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 335
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 337
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 351
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 351
LocalVariableCouldBeFinal Local variable 'set' could be declared final 3 353
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 356
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 358
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 371
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 371
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 375
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 378
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 380
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 381
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 383
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 398
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 398
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 402
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 404
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 418
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 418
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 422
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 424
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 3 440
MethodArgumentCouldBeFinal Parameter 'groupset' is not assigned and could be declared final 3 440
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permission' (lines '445'-'466'). 5 445–466
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 447
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 449
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 454
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 457
LocalVariableCouldBeFinal Local variable 'permissions' could be declared final 3 459
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 460
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 462
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 475
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 487
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 491
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 493
ConfusingTernary Avoid if (x != y) ..; else ..; 3 514–515
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 514–515

org/apache/fulcrum/security/model/turbine/TurbineModelManager.java

Rule Violation Priority Line
LongVariable Avoid excessively long variable names like GLOBAL_GROUP_ATTR_NAME 3 43
UnnecessaryModifier Unnecessary modifier 'public' on field 'GLOBAL_GROUP_NAME': the field is declared in an interface type 3 48
UnnecessaryModifier Unnecessary modifier 'public' on enum 'Privilege': the enum is declared in an interface type 3 54–56
UnnecessaryModifier Unnecessary modifier 'public' on method 'getGlobalGroupName': the method is declared in an interface type 3 78

org/apache/fulcrum/security/model/turbine/entity/TurbinePermission.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRoles': the method is declared in an interface type 3 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRoles': the method is declared in an interface type 3 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addRole': the method is declared in an interface type 3 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeRole': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'setRolesAsSet': the method is declared in an interface type 3 76
UnnecessaryModifier Unnecessary modifier 'public' on method 'getRolesAsSet': the method is declared in an interface type 3 84

org/apache/fulcrum/security/model/turbine/entity/TurbineRole.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissions': the method is declared in an interface type 3 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPermissionsAsSet': the method is declared in an interface type 3 50
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissions': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPermissionsAsSet': the method is declared in an interface type 3 67
UnnecessaryModifier Unnecessary modifier 'public' on method 'addPermission': the method is declared in an interface type 3 74
UnnecessaryModifier Unnecessary modifier 'public' on method 'removePermission': the method is declared in an interface type 3 81

org/apache/fulcrum/security/model/turbine/entity/TurbineRolePermissionoff.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 33–72
DataClass The class 'TurbineRolePermissionoff' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) 3 33–72
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 59
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 68

org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 37–204
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 86
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 97
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 108
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 12. 3 114–162
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 3 114
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 118
ConfusingTernary Avoid if (x != y) ..; else ..; 3 120–161
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 122
LocalVariableCouldBeFinal Local variable 'mObj' could be declared final 3 126
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 127
ConfusingTernary Avoid if (x != y) ..; else ..; 3 127–137
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 129
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 131
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 136
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 138
ConfusingTernary Avoid if (x != y) ..; else ..; 3 138–148
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 140
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 142
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 147
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 149
ConfusingTernary Avoid if (x != y) ..; else ..; 3 149–159
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 151
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 153
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 158
LocalVariableCouldBeFinal Local variable 'hcBuilder' could be declared final 3 167
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 169
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 175
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 181
ShortVariable Avoid variables with short names like sb 3 193
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 3 193
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 195
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 195
ConfusingTernary Avoid if (x != y) ..; else ..; 3 195
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 196
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 197
ConfusingTernary Avoid if (x != y) ..; else ..; 3 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 198
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 199
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 199
ConfusingTernary Avoid if (x != y) ..; else ..; 3 199

org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRoleEntity.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getUserGroupRoleSet': the method is declared in an interface type 3 43
UnnecessaryModifier Unnecessary modifier 'public' on method 'setUserGroupRoleSet': the method is declared in an interface type 3 51
UnnecessaryModifier Unnecessary modifier 'public' on method 'addUserGroupRole': the method is declared in an interface type 3 59
UnnecessaryModifier Unnecessary modifier 'public' on method 'removeUserGroupRole': the method is declared in an interface type 3 67

org/apache/fulcrum/security/model/turbine/entity/impl/AbstractTurbineSecurityEntityImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 37–88
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 43
MissingOverride The method 'getUserGroupRoleSet()' is missing an @Override annotation. 3 51–54
MethodArgumentCouldBeFinal Parameter 'userGroupRoleSet' is not assigned and could be declared final 3 62
MissingOverride The method 'setUserGroupRoleSet(Set)' is missing an @Override annotation. 3 62–65
MethodArgumentCouldBeFinal Parameter 'userGroupRole' is not assigned and could be declared final 3 73
MissingOverride The method 'addUserGroupRole(TurbineUserGroupRole)' is missing an @Override annotation. 3 73–76
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 75
MissingOverride The method 'removeUserGroupRole(TurbineUserGroupRole)' is missing an @Override annotation. 3 84–87
MethodArgumentCouldBeFinal Parameter 'userGroupRole' is not assigned and could be declared final 3 84
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 86

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineGroupImpl.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 32–35
AtLeastOneConstructor Each class should declare at least one constructor 3 32–35

org/apache/fulcrum/security/model/turbine/entity/impl/TurbinePermissionImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 37–120
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 37–120
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 39
MissingOverride The method 'getRoles()' is missing an @Override annotation. 3 46–57
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 50
MethodArgumentCouldBeFinal Parameter 'roleSet' is not assigned and could be declared final 3 65
MissingOverride The method 'setRoles(RoleSet)' is missing an @Override annotation. 3 65–75
ConfusingTernary Avoid if (x != y) ..; else ..; 3 67–74
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 83
MissingOverride The method 'addRole(Role)' is missing an @Override annotation. 3 83–86
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 85
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 94
MissingOverride The method 'removeRole(Role)' is missing an @Override annotation. 3 94–97
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 96
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 3 105
MissingOverride The method 'setRolesAsSet(Set)' is missing an @Override annotation. 3 105–108
MissingOverride The method 'getRolesAsSet()' is missing an @Override annotation. 3 116–119

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineRoleImpl.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 36–118
AtLeastOneConstructor Each class should declare at least one constructor 3 36–118
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 38
MissingOverride The method 'getPermissions()' is missing an @Override annotation. 3 45–56
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 49
MissingOverride The method 'getPermissionsAsSet()' is missing an @Override annotation. 3 64–67
MethodArgumentCouldBeFinal Parameter 'permissionSet' is not assigned and could be declared final 3 75
MissingOverride The method 'setPermissions(PermissionSet)' is missing an @Override annotation. 3 75–85
ConfusingTernary Avoid if (x != y) ..; else ..; 3 77–84
MissingOverride The method 'setPermissionsAsSet(Set)' is missing an @Override annotation. 3 94–97
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 3 94
MissingOverride The method 'addPermission(Permission)' is missing an @Override annotation. 3 104–107
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 104
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 106
MissingOverride The method 'removePermission(Permission)' is missing an @Override annotation. 3 114–117
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 114
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 116

org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 33–174
DataClass The class 'TurbineUserImpl' is suspected to be a Data Class (WOC=9.091%, NOPA=0, NOAM=10, WMC=11) 3 33–174
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 63
MethodArgumentCouldBeFinal Parameter 'firstName' is not assigned and could be declared final 3 85
MethodArgumentCouldBeFinal Parameter 'lastName' is not assigned and could be declared final 3 107
MethodArgumentCouldBeFinal Parameter 'email' is not assigned and could be declared final 3 129
MethodReturnsInternalArray Returning 'objectData' may expose an internal array. 3 145
MethodArgumentCouldBeFinal Parameter 'objectdata' is not assigned and could be declared final 3 154
ArrayIsStoredDirectly The user-supplied array 'objectdata' is stored directly. 3 154
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 3 165

org/apache/fulcrum/security/spi/AbstractEntityManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 33–62
MethodArgumentCouldBeFinal Parameter 'conf' is not assigned and could be declared final 3 41
MissingOverride The method 'configure(Configuration)' is missing an @Override annotation. 3 41–44
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 43
MethodArgumentCouldBeFinal Parameter 'className' is not assigned and could be declared final 3 57

org/apache/fulcrum/security/spi/AbstractGroupManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 35–192
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 60
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 60
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 63
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 3 84
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 86
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 87
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 103
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 106
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 106
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 128
ShortVariable Avoid variables with short names like id 3 128
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 131
LocalVariableCouldBeFinal Local variable 'group' could be declared final 3 131
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 151–173
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 151
UnusedAssignment The initializer for variable 'groupExists' is never used (overwritten on line 162) 3 153
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'groupExists' (lines '153'-'162'). 5 153–162
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'groupExists' (lines '153'-'173'). 5 153–173
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 153
ConfusingTernary Avoid if (x != y) ..; else ..; 3 163–172
MethodArgumentCouldBeFinal Parameter 'group' is not assigned and could be declared final 3 187

org/apache/fulcrum/security/spi/AbstractManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 41–196
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the composed field if you want a default access modifier 3 43
DefaultPackage Use explicit scoping instead of the default package private level 3 43
RedundantFieldInitializer Avoid using redundant field initializer for 'composed' 3 43
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 45
RedundantFieldInitializer Avoid using redundant field initializer for 'manager' 3 45
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 46
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 47
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 48
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 49
MethodArgumentCouldBeFinal Parameter 'manager' is not assigned and could be declared final 3 148
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 161
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 3 167
MethodArgumentCouldBeFinal Parameter 'lookup' is not assigned and could be declared final 3 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 180
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'component' (lines '182'-'186'). 5 182–186
UnusedAssignment The initializer for variable 'component' is never used (overwritten on line 186) 3 182
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'component' (lines '186'-'194'). 5 186–194
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 190

org/apache/fulcrum/security/spi/AbstractPermissionManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 36–196
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 3 61
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 61
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 64
MethodArgumentCouldBeFinal Parameter 'permName' is not assigned and could be declared final 3 84
LocalVariableCouldBeFinal Local variable 'perm' could be declared final 3 86
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 87
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 103
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 3 106
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 106
ShortVariable Avoid variables with short names like id 3 128
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 128
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 131
LocalVariableCouldBeFinal Local variable 'permission' could be declared final 3 131
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 151–177
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 151
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'permissionExists' (lines '153'-'164'). 5 153–164
UnusedAssignment The initializer for variable 'permissionExists' is never used (overwritten on line 164) 3 153
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 153
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'permissionExists' (lines '153'-'177'). 5 153–177
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 170
MethodArgumentCouldBeFinal Parameter 'permission' is not assigned and could be declared final 3 191

org/apache/fulcrum/security/spi/AbstractRoleManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 36–213
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 66
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 66
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 69
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 3 92
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 94
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 95
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 116
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 119
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 119
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 143
ShortVariable Avoid variables with short names like id 3 143
LocalVariableCouldBeFinal Local variable 'role' could be declared final 3 146
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 146
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 168
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 168–195
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 170
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'roleExists' (lines '170'-'181'). 5 170–181
DataflowAnomalyAnalysis Found 'DU'-anomaly for variable 'roleExists' (lines '170'-'195'). 5 170–195
UnusedAssignment The initializer for variable 'roleExists' is never used (overwritten on line 181) 3 170
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 187
MethodArgumentCouldBeFinal Parameter 'role' is not assigned and could be declared final 3 209

org/apache/fulcrum/security/spi/AbstractUserManager.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 42–337
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 55
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 55
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 56
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 56
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 62
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 64
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 79
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 3 102
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 102
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 104
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 110
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 113
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 113
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 135
ShortVariable Avoid variables with short names like id 3 135
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 138
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 138
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 163
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 163
MethodArgumentCouldBeFinal Parameter 'newPassword' is not assigned and could be declared final 3 194
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 194
MethodArgumentCouldBeFinal Parameter 'oldPassword' is not assigned and could be declared final 3 194
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 230
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 230
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 259
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 259
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 262
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 3 283
LocalVariableCouldBeFinal Local variable 'user' could be declared final 3 285
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 286
MethodArgumentCouldBeFinal Parameter 'user' is not assigned and could be declared final 3 304
MethodArgumentCouldBeFinal Parameter 'password' is not assigned and could be declared final 3 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 319

org/apache/fulcrum/security/util/DataBackendException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 42
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 57
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 3 57

org/apache/fulcrum/security/util/EntityExistsException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 42

org/apache/fulcrum/security/util/FulcrumSecurityException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 41
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 3 56
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 56

org/apache/fulcrum/security/util/GroupSet.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'groups' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'groupName' is not assigned and could be declared final 3 77
MethodArgumentCouldBeFinal Parameter 'groupId' is not assigned and could be declared final 3 92
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 3 106
ShortVariable Avoid variables with short names like sb 3 106
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 107

org/apache/fulcrum/security/util/PasswordMismatchException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 42

org/apache/fulcrum/security/util/PermissionSet.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'permissions' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'permissionName' is not assigned and could be declared final 3 78
MethodArgumentCouldBeFinal Parameter 'permissionId' is not assigned and could be declared final 3 94
ShortVariable Avoid variables with short names like sb 3 108
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 3 108
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 109

org/apache/fulcrum/security/util/RoleSet.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'roles' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'roleName' is not assigned and could be declared final 3 77
MethodArgumentCouldBeFinal Parameter 'roleId' is not assigned and could be declared final 3 92
ShortVariable Avoid variables with short names like sb 3 106
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 3 106
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 107

org/apache/fulcrum/security/util/SecuritySet.java

Rule Violation Priority Line
AbstractNaming Abstract classes should be named AbstractXXX 3 48–347
TooManyMethods This class has too many methods, consider refactoring it. 3 48–347
RedundantFieldInitializer Avoid using redundant field initializer for 'nameMap' 3 53
UnusedAssignment The field initializer for 'nameMap' is never used (overwritten on line 63) 3 53
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 53
BeanMembersShouldSerialize Found non-transient, non-static member. Please mark as transient or provide accessors. 3 56
UnusedAssignment The field initializer for 'idMap' is never used (overwritten on line 64) 3 56
RedundantFieldInitializer Avoid using redundant field initializer for 'idMap' 3 56
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 63
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 64
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 114
SimplifiedTernary Ternary operators that can be simplified with || or && 3 116
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 125
ShortVariable Avoid variables with short names like id 3 125
SimplifiedTernary Ternary operators that can be simplified with || or && 3 127
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 138
LocalVariableCouldBeFinal Local variable 'sbuf' could be declared final 3 160
LocalVariableCouldBeFinal Local variable 'it' could be declared final 3 162
LocalVariableCouldBeFinal Local variable 'se' could be declared final 3 163
ShortVariable Avoid variables with short names like se 3 163
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 165
LawOfDemeter Potential violation of Law of Demeter (object not created locally) 3 167
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 3 182
ShortVariable Avoid variables with short names like o 3 182
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 186
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 3 209
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 3 215
ForLoopsMustUseBraces Avoid using for statements without curly braces 3 219–220
ControlStatementBraces This statement should have braces 3 219–220
LocalVariableCouldBeFinal Local variable 'o' could be declared final 3 219
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 3 232
LocalVariableCouldBeFinal Local variable 'object' could be declared final 3 234
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 238
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 3 245
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'changed' (lines '247'-'253'). 5 247–253
LocalVariableCouldBeFinal Local variable 'object' could be declared final 3 248
LocalVariableCouldBeFinal Local variable 'result' could be declared final 3 250
DataflowAnomalyAnalysis Found 'DD'-anomaly for variable 'changed' (lines '253'-'253'). 5 253
MethodArgumentCouldBeFinal Parameter 'collection' is not assigned and could be declared final 3 261
AvoidThrowingRawExceptionTypes Avoid throwing raw exception types. 1 263
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 274
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 3 284
ShortVariable Avoid variables with short names like o 3 284
SimplifyConditional No need to check for null before an instanceof 3 286
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 288
ShortVariable Avoid variables with short names like o 3 303
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 3 303
LocalVariableCouldBeFinal Local variable 'res' could be declared final 3 307
OnlyOneReturn A method should have only one exit point, and that should be the last statement in the method 3 310
ShortVariable Avoid variables with short names like a 3 320
MethodArgumentCouldBeFinal Parameter 'a' is not assigned and could be declared final 3 320
LawOfDemeter Potential violation of Law of Demeter (method chain calls) 3 322
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 332
MethodArgumentCouldBeFinal Parameter 'id' is not assigned and could be declared final 3 343
ShortVariable Avoid variables with short names like id 3 343

org/apache/fulcrum/security/util/UnknownEntityException.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 42
MethodArgumentCouldBeFinal Parameter 'nested' is not assigned and could be declared final 3 57
MethodArgumentCouldBeFinal Parameter 'msg' is not assigned and could be declared final 3 57

org/apache/fulcrum/security/util/UserSet.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'users' is not assigned and could be declared final 3 58
MethodArgumentCouldBeFinal Parameter 'userName' is not assigned and could be declared final 3 74
MethodArgumentCouldBeFinal Parameter 'userId' is not assigned and could be declared final 3 89
ShortVariable Avoid variables with short names like sb 3 103
LocalVariableCouldBeFinal Local variable 'sb' could be declared final 3 103
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 104