http://xradar.sourceforge.net


Statics Report - System: 1.0, Version: 0, Date: TodayDesigned for use with Checkstyle, CKJM, FindBugs, JavaNCSS, JDepend, Macaron, PMD, PMD-CPD, Java2HTML and Ant.

[Statics] classes-org.apache.qpid.server.security.access.management

[scorecard] [analysis] [explanations]
{overview} {architecture} {design} {code} {test} {source control} {system specific}

org.apache.qpid.server.security.access.management.UserManagement

Package: org.apache.qpid.server.security.access.management | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
6
6
6
0
Total :
Per method :
8
1.33
Total :
Per method :
Per statement :
6
1
0.75
Inheritance:Coupling:
Depth of inheritance tree (DIT):
Number of Children (NOC):
1
0
Efferent/Import Class Couplings (CBO/Ce):
Afferent/Export Class Couplings (Ca):
Response for a class (RFC):
Lack of Cohesion in methods (LCOM):
0
1
6
15
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :
0
0
Total :
Per method :
Per statement :
7
1.17
0.88
Total :
Per method :
Per statement :
27
4.5
3.38
Statement Test Coverage :
Method Test Reference :
0
0


Method :Javadocs:Source statements:Cyclometic complexity:Test References:
setPassword(String,MBeanOperationParameter[])
0110
setRights(String,boolean,boolean,boolean)
0110
createUser(String,MBeanOperationParameter[],boolean,boolean,boolean)
0110
deleteUser(String)
0110
reloadData()
0110
viewUsers()
0110


View line in sourceCode ViolationRule
Avoid unused imports such as 'org.apache.qpid.server.management.MBeanAttribute' UnusedImports
Avoid unused imports such as 'org.apache.qpid.AMQException' UnusedImports
Avoid unused imports such as 'javax.management.openmbean.CompositeData' UnusedImports
Avoid unused imports such as 'javax.management.JMException' UnusedImports
Avoid unused imports such as 'java.io.IOException' UnusedImports
The String literal "Username" appears 4 times in this file; the first occurrence is on line 49 AvoidDuplicateLiterals
The String literal "username" appears 4 times in this file; the first occurrence is on line 49 AvoidDuplicateLiterals


View line in sourceStyle ErrorColumn
34Commentaire javadoc manquant.
35'{' devrait être sur la ligne précédente.1
36Commentaire javadoc manquant.5
39La première ligne doit se terminer avec un point.
47La ligne excède 80 caractères.
49La ligne excède 80 caractères.
50La ligne excède 80 caractères.
52La première ligne doit se terminer avec un point.
62La ligne excède 80 caractères.
64La ligne excède 80 caractères.
65La ligne excède 80 caractères.
66La ligne excède 80 caractères.
67La ligne excède 80 caractères.
69La première ligne doit se terminer avec un point.
80La ligne excède 80 caractères.
82La ligne excède 80 caractères.
83La ligne excède 80 caractères.
84La ligne excède 80 caractères.
85La ligne excède 80 caractères.
86La ligne excède 80 caractères.
89La ligne excède 80 caractères.
95La ligne excède 80 caractères.
97La ligne excède 80 caractères.
100La première ligne doit se terminer avec un point.
105La ligne excède 80 caractères.
110La ligne excède 80 caractères.
114La ligne excède 80 caractères.

org.apache.qpid.server.security.access.management.AMQUserManagementMBean

Package: org.apache.qpid.server.security.access.management | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
16
15
10
6
Total :
Per method :
158
10.53
Total :
Per method :
Per statement :
58
3.87
0.37
Inheritance:Coupling:
Depth of inheritance tree (DIT):
Number of Children (NOC):
0
0
Efferent/Import Class Couplings (CBO/Ce):
Afferent/Export Class Couplings (Ca):
Response for a class (RFC):
Lack of Cohesion in methods (LCOM):
7
2
74
0
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :
3
0.2
Total :
Per method :
Per statement :
40
2.67
0.25
Total :
Per method :
Per statement :
104
6.93
0.66
Statement Test Coverage :
Method Test Reference :
0
1.8


Method :Javadocs:Source statements:Cyclometic complexity:Test References:
AMQUserManagementMBean()
0211
getObjectInstanceName()
0210
setPassword(String,String[])
0530
setRights(String,boolean,boolean,boolean)
02091
createUser(String,String[],boolean,boolean,boolean)
0530
deleteUser(String)
01250
reloadData()
01050
viewUsers()
02280
setPrincipalDatabase(PrincipalDatabase)
1211
setAccessFile(String)
1621
loadAccessFile()
01672
checkAccessRights(Properties)
0631
saveAccessFile()
01432
getCurrentJMXUser()
01061
setAccessRights(Properties)
1411


View line in sourceCode ViolationRule
A high number of imports can indicate a high degree of coupling within an object. ExcessiveImports
No need to import a type that lives in the same package ImportFromSamePackage
Private field '_accessRightsUpdate' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Local variable 'userItemDesc' could be declared final LocalVariableCouldBeFinal
Local variable 'userDataIndex' could be declared final LocalVariableCouldBeFinal
Parameter 'password' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'username' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'admin' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'read' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'username' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'write' is not assigned and could be declared final MethodArgumentCouldBeFinal
These nested if statements could be combined CollapsibleIfStatements
Parameter 'admin' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'password' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'read' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'username' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'write' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'username' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'users' could be declared final LocalVariableCouldBeFinal
Local variable 'userList' could be declared final LocalVariableCouldBeFinal
Local variable 'rights' could be declared final LocalVariableCouldBeFinal
Local variable 'itemData' could be declared final LocalVariableCouldBeFinal
Avoid instantiating new objects inside loops AvoidInstantiatingObjectsInLoops
Local variable 'messageData' could be declared final LocalVariableCouldBeFinal
Parameter 'database' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'accessFile' is not assigned and could be declared final MethodArgumentCouldBeFinal
Avoid if (x != y) ..; else ..; ConfusingTernary
Local variable 'accessRights' could be declared final LocalVariableCouldBeFinal
Local variable 'accessFile' could be declared final LocalVariableCouldBeFinal
Parameter 'accessRights' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'values' could be declared final LocalVariableCouldBeFinal
Local variable 'user' could be declared final LocalVariableCouldBeFinal
Local variable 'tmp' could be declared final LocalVariableCouldBeFinal
Local variable 'rights' could be declared final LocalVariableCouldBeFinal
Local variable 'output' could be declared final LocalVariableCouldBeFinal
Local variable 'acc' could be declared final LocalVariableCouldBeFinal
Local variable 'subject' could be declared final LocalVariableCouldBeFinal
Local variable 'principals' could be declared final LocalVariableCouldBeFinal
Local variable 'principal' could be declared final LocalVariableCouldBeFinal
Parameter 'accessRights' is not assigned and could be declared final MethodArgumentCouldBeFinal


Bug: CategoryTypeAbbreviationPriorityMethod NameField Name
EXPERIMENTALOBL_UNSATISFIED_OBLIGATIONOBL2loadAccessFile
EXPERIMENTALOBL_UNSATISFIED_OBLIGATIONOBL2saveAccessFile
BAD_PRACTICEOS_OPEN_STREAMOS2loadAccessFile
BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICERV2saveAccessFile
BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICERV2saveAccessFile
MT_CORRECTNESSUL_UNRELEASED_LOCKUL1deleteUser
MT_CORRECTNESSUL_UNRELEASED_LOCKUL1loadAccessFile
MT_CORRECTNESSUL_UNRELEASED_LOCKUL1saveAccessFile
MT_CORRECTNESSUL_UNRELEASED_LOCKUL1setRights
View line in sourceStyle ErrorColumn
0Exception levée : java.lang.RuntimeException: Impossible d'obtenir les informations relatives à la classe @throws pour la balise 'org.apache.commons.configuration.ConfigurationException'.
59La ligne excède 80 caractères.
61La ligne excède 80 caractères.
64La ligne excède 80 caractères.
64Commentaire javadoc manquant.5
64Le nom '_logger' n'est pas conforme à l'expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.33
66Commentaire javadoc manquant.5
66Le nom '_principalDatabase' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.31
67Commentaire javadoc manquant.5
67Le nom '_accessFileName' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.20
68Commentaire javadoc manquant.5
68Le nom '_accessRights' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.24
70Commentaire javadoc manquant.5
70Le nom '_accessRightsUpdate' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.27
73La ligne excède 80 caractères.
73Commentaire javadoc manquant.5
73Le nom '_userlistDataType' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.24
75Commentaire javadoc manquant.5
75Le nom '_userDataType' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.26
76Commentaire javadoc manquant.5
76Le nom '_userItemNames' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.21
80La ligne excède 80 caractères.
81La ligne excède 80 caractères.
91'{' devrait être sur la ligne précédente.9
93La ligne excède 80 caractères.
95La ligne excède 80 caractères.
96'}' devrait être sur la même ligne.9
98'{' devrait être sur la ligne précédente.9
105Commentaire javadoc manquant.5
106'{' devrait être sur la ligne précédente.5
110Commentaire javadoc manquant.5
111'{' devrait être sur la ligne précédente.5
115Commentaire javadoc manquant.5
116'{' devrait être sur la ligne précédente.5
118'{' devrait être sur la ligne précédente.9
120La ligne excède 80 caractères.
121'}' devrait être sur la même ligne.9
123'{' devrait être sur la ligne précédente.9
124La ligne excède 80 caractères.
129La ligne excède 80 caractères.
129Commentaire javadoc manquant.5
133'{' devrait être sur la ligne précédente.9
134La ligne excède 80 caractères.
136'{' devrait être sur la ligne précédente.13
142'{' devrait être sur la ligne précédente.9
148'{' devrait être sur la ligne précédente.13
150'}' devrait être sur la même ligne.13
152'{' devrait être sur la ligne précédente.13
154'{' devrait être sur la ligne précédente.17
156'{' devrait être sur la ligne précédente.21
157La ligne excède 80 caractères.
160'{' devrait être sur la ligne précédente.21
161La ligne excède 80 caractères.
163'}' devrait être sur la même ligne.17
165'{' devrait être sur la ligne précédente.17
171'}' devrait être sur la même ligne.9
173'{' devrait être sur la ligne précédente.9
175'{' devrait être sur la ligne précédente.13
183La ligne excède 80 caractères.
183Commentaire javadoc manquant.5
185La ligne excède 80 caractères.
195Commentaire javadoc manquant.5
196'{' devrait être sur la ligne précédente.5
199'{' devrait être sur la ligne précédente.9
200La ligne excède 80 caractères.
203'{' devrait être sur la ligne précédente.17
208'}' devrait être sur la même ligne.17
210'{' devrait être sur la ligne précédente.17
212'{' devrait être sur la ligne précédente.21
218'}' devrait être sur la même ligne.9
220'{' devrait être sur la ligne précédente.9
221La ligne excède 80 caractères.
227Commentaire javadoc manquant.5
228'{' devrait être sur la ligne précédente.5
230'{' devrait être sur la ligne précédente.13
233'}' devrait être sur la même ligne.13
235'{' devrait être sur la ligne précédente.13
238'}' devrait être sur la même ligne.13
240'{' devrait être sur la ligne précédente.13
249La ligne excède 80 caractères.
249Commentaire javadoc manquant.5
251'{' devrait être sur la ligne précédente.5
256'{' devrait être sur la ligne précédente.9
261Il manque une espace avant '<'.13
261Il manque une espace après '<'.14
261Il manque une espace avant '>'.23
266'{' devrait être sur la ligne précédente.9
269'{' devrait être sur la ligne précédente.13
279'{' devrait être sur la ligne précédente.17
281La ligne excède 80 caractères.
287La ligne excède 80 caractères.
290'}' devrait être sur la même ligne.9
292'{' devrait être sur la ligne précédente.9
302La première ligne doit se terminer avec un point.
308'{' devrait être sur la ligne précédente.5
321La ligne excède 80 caractères.
331La ligne excède 80 caractères.
347La ligne excède 80 caractères.
352La ligne excède 80 caractères.
357La ligne excède 80 caractères.
383La ligne excède 80 caractères.
402La ligne excède 80 caractères.
413La ligne excède 80 caractères.
436La ligne excède 80 caractères.