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.sustained

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

org.apache.qpid.sustained.SustainedClientTestCase

Package: org.apache.qpid.sustained | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
12
6
7
5
Total :
Per method :
318
53
Total :
Per method :
Per statement :
98
16.33
0.31
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):
11
2
46
10
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :
16
2.67
Total :
Per method :
Per statement :
79
13.17
0.25
Total :
Per method :
Per statement :
89
14.83
0.28
Statement Test Coverage :
Method Test Reference :
0
2.29


Method :Javadocs:Source statements:Cyclometic complexity:Test References:
getName()
1310
assignRole(Roles,Message)
14560
start(int)
1730
terminate()
0320
getReport(Session)
1720
onException(JMSException)
01470
SustainedListener.SustainedListener(String,int,Session,Destination)
1510
SustainedListener.onMessage(Message)
01570
SustainedListener.sendStatus(long,long,int)
11230
SustainedRateAdapter.SustainedRateAdapter(SustainedClientTestCase)
0210
SustainedRateAdapter.onMessage(Message)
01880
SustainedRateAdapter.run()
01120
SustainedRateAdapter.doBatch(int)
02560
SustainedRateAdapter.status()
0220
SustainedRateAdapter.sleepBatch()
0850
SustainedRateAdapter.stop()
0210
SustainedRateAdapter.adjustDelay(String,int,long)
135110
SustainedRateAdapter.delayChanged()
1210
SustainedRateAdapter.delayStable()
1520
SustainedRateAdapter.recordSlow(String,long,int)
1520
SustainedRateAdapter.sentMessage()
1840
SustainedRateAdapter.checkForSlowClients()
122140
SustainedRateAdapter.sleepLong(long)
1210
SustainedRateAdapter.sleep(long)
1210
SustainedRateAdapter.sleep(long,int)
11140
SustainedRateAdapter.setClient(SustainedClientTestCase)
0210


View line in sourceCode ViolationRule
Class contains more than one logger. MoreThanOneLogger
This class has too many methods, consider refactoring it. TooManyMethods
Perhaps 'numReceivers' could be replaced by a local variable. SingularField
Perhaps 'sendDestination' could be replaced by a local variable. SingularField
Perhaps 'sendUpdateDestination' could be replaced by a local variable. SingularField
Parameter 'assignRoleMessage' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'role' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'sendKey' could be declared final LocalVariableCouldBeFinal
Local variable 'sendUpdateKey' could be declared final LocalVariableCouldBeFinal
Local variable 'ackMode' could be declared final LocalVariableCouldBeFinal
Local variable 'clientName' could be declared final LocalVariableCouldBeFinal
A high ratio of statements to labels in a switch statement. Consider refactoring. SwitchDensity
A switch with less than 3 branches is inefficient, use a if statement instead. TooFewBranchesForASwitchStatement
Switch statements should have a default label SwitchStmtsShouldHaveDefault
Local variable 'updateConsumer' could be declared final LocalVariableCouldBeFinal
Local variable 'consumer' could be declared final LocalVariableCouldBeFinal
Avoid instantiating new objects inside loops AvoidInstantiatingObjectsInLoops
Parameter 'numMessages' is not assigned and could be declared final MethodArgumentCouldBeFinal
A switch with less than 3 branches is inefficient, use a if statement instead. TooFewBranchesForASwitchStatement
Switch statements should have a default label SwitchStmtsShouldHaveDefault
Parameter 'session' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'report' could be declared final LocalVariableCouldBeFinal
Parameter 'jmsException' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'linked' could be declared final LocalVariableCouldBeFinal
Avoid if (x != y) ..; else ..; ConfusingTernary
Private field '_batchSize' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Parameter 'batchSize' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'clientname' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'sendDestination' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'session' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'message' is not assigned and could be declared final MethodArgumentCouldBeFinal
These nested if statements could be combined CollapsibleIfStatements
Local variable 'currentTime' could be declared final LocalVariableCouldBeFinal
The String literal "BATCH" appears 4 times in this file; the first occurrence is on line 358 AvoidDuplicateLiterals
Avoid empty catch blocks EmptyCatchBlock
Parameter 'batchNumber' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'received' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'time' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'updateMessage' could be declared final LocalVariableCouldBeFinal
The class 'SustainedRateAdapter' has a Cyclomatic Complexity of 4 (Highest = 13). CyclomaticComplexity
Too many fields TooManyFields
This class has too many methods, consider refactoring it. TooManyMethods
Private field '_batchVariance' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Private field '_timeVariance' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Private field '_slowClients' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Private field '_warmUpBatches' could be made final; it is only initialized in the declaration or constructor. ImmutableField
Parameter 'client' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'message' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'controlType' could be declared final LocalVariableCouldBeFinal
Local variable 'duration' could be declared final LocalVariableCouldBeFinal
Local variable 'totalReceived' could be declared final LocalVariableCouldBeFinal
Local variable 'client' could be declared final LocalVariableCouldBeFinal
Local variable 'batchNumber' could be declared final LocalVariableCouldBeFinal
Avoid empty catch blocks EmptyCatchBlock
Avoid unused private fields such as '_running'. UnusedPrivateField
Parameter 'batchSize' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'start' could be declared final LocalVariableCouldBeFinal
Local variable 'end' could be declared final LocalVariableCouldBeFinal
Local variable 'sendtime' could be declared final LocalVariableCouldBeFinal
Parameter 'batchNumber' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'client' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'duration' is not assigned and could be declared final MethodArgumentCouldBeFinal
The method 'adjustDelay' has a Cyclomatic Complexity of 11. CyclomaticComplexity
The method adjustDelay() has an NPath complexity of 280 NPathComplexity
Local variable 'averageDuration' could be declared final LocalVariableCouldBeFinal
Local variable 'diff' could be declared final LocalVariableCouldBeFinal
Parameter 'batchNumber' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'client' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'received' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'batchDelay' could be declared final LocalVariableCouldBeFinal
The method 'checkForSlowClients' has a Cyclomatic Complexity of 13. CyclomaticComplexity
Local variable 'it' could be declared final LocalVariableCouldBeFinal
Prefer StringBuffer over += for concatenating strings UseStringBufferForStringAppends
Prefer StringBuffer over += for concatenating strings UseStringBufferForStringAppends
Parameter 'delay' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'sleep' is not assigned and could be declared final MethodArgumentCouldBeFinal
Avoid reassigning parameters such as 'milli' AvoidReassigningParameters
Parameter 'nano' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'client' is not assigned and could be declared final MethodArgumentCouldBeFinal


Bug: CategoryTypeAbbreviationPriorityMethod NameField Name
STYLENP_LOAD_OF_KNOWN_NULL_VALUENP2onException
View line in sourceStyle ErrorColumn
0Exception levée : java.lang.RuntimeException: Impossible d'obtenir les informations relatives à la classe @throws pour la balise 'JMSException'.
48La ligne excède 80 caractères.
49La ligne excède 80 caractères.
57La ligne excède 80 caractères.
60La ligne excède 80 caractères.
63La ligne excède 80 caractères.
63Le nom 'log' n'est pas conforme à l'expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.33
66Le nom 'console' n'est pas conforme à l'expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.33
90Le nom '_rateAdapter' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.26
93Le nom '_batchSize' n'est pas conforme à l'expression '^[a-z][a-zA-Z0-9]*$'.9
95Commentaire javadoc manquant.5
96Commentaire javadoc manquant.5
97Commentaire javadoc manquant.5
98La ligne excède 80 caractères.
98Commentaire javadoc manquant.5
101La ligne excède 80 caractères.
107'{' devrait être sur la ligne précédente.5
114La ligne excède 80 caractères.
118La ligne excède 80 caractères.
120La ligne excède 80 caractères.
122La ligne excède 80 caractères.
124La ligne excède 80 caractères.
131La ligne excède 80 caractères.
132La ligne excède 80 caractères.
134La ligne excède 80 caractères.
150La ligne excède 80 caractères.
157La ligne excède 80 caractères.
168La ligne excède 80 caractères.
175La ligne excède 80 caractères.
185La ligne excède 80 caractères.
192La ligne excède 80 caractères.
194La ligne excède 80 caractères.
217La ligne excède 80 caractères.
225La ligne excède 80 caractères.
237La ligne excède 80 caractères.
243La ligne excède 80 caractères.
272La ligne excède 80 caractères.
279La ligne excède 80 caractères.
298La ligne excède 80 caractères.
319La ligne excède 80 caractères.
320La ligne excède 80 caractères.
323La ligne excède 80 caractères.
327La ligne excède 80 caractères.
358La ligne excède 80 caractères.
379La ligne excède 80 caractères.
390La ligne excède 80 caractères.
397La ligne excède 80 caractères.
406La ligne excède 80 caractères.
409La ligne excède 80 caractères.
412La ligne excède 80 caractères.
413La ligne excède 80 caractères.
418La ligne excède 80 caractères.
419La ligne excède 80 caractères.
427La ligne excède 80 caractères.
441La ligne excède 80 caractères.
457La ligne excède 80 caractères.
459La ligne excède 80 caractères.
469La ligne excède 80 caractères.
505La ligne excède 80 caractères.
506La ligne excède 80 caractères.
557La ligne excède 80 caractères.
562La ligne excède 80 caractères.
577La ligne excède 80 caractères.
579La ligne excède 80 caractères.
585La ligne excède 80 caractères.
591La ligne excède 80 caractères.
614La ligne excède 80 caractères.
651La ligne excède 80 caractères.
654La ligne excède 80 caractères.
656La ligne excède 80 caractères.
657La ligne excède 80 caractères.
658La ligne excède 80 caractères.
659La ligne excède 80 caractères.
662La ligne excède 80 caractères.
666La ligne excède 80 caractères.
684La ligne excède 80 caractères.
707La ligne excède 80 caractères.
714La ligne excède 80 caractères.
729La ligne excède 80 caractères.
781La ligne excède 80 caractères.
787La ligne excède 80 caractères.
796La ligne excède 80 caractères.
812La ligne excède 80 caractères.
814La ligne excède 80 caractères.
834La ligne excède 80 caractères.
844La ligne excède 80 caractères.
880La ligne excède 80 caractères.
881La ligne excède 80 caractères.
886La ligne excède 80 caractères.

org.apache.qpid.sustained.SustainedClientTestCase$1

Package: org.apache.qpid.sustained | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
1

0
1
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
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):
1
1
3
0
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
Total :
Per method :
Per statement :

NaN
NaN
Statement Test Coverage :
Method Test Reference :
0
Infinity


Method :Javadocs:Source statements:Cyclometic complexity:




org.apache.qpid.sustained.SustainedClientTestCase$SustainedListener

Package: org.apache.qpid.sustained | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
3

2
1
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
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):
2
1
27
0
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
Total :
Per method :
Per statement :

NaN
NaN
Statement Test Coverage :
Method Test Reference :
0
4.5


Method :Javadocs:Source statements:Cyclometic complexity:




Bug: CategoryTypeAbbreviationPriorityMethod NameField Name
PERFORMANCESIC_INNER_SHOULD_BE_STATICSIC2

org.apache.qpid.sustained.SustainedClientTestCase$SustainedRateAdapter

Package: org.apache.qpid.sustained | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
18

5
13
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
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):
2
1
62
27
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :

NaN
Total :
Per method :
Per statement :

NaN
NaN
Total :
Per method :
Per statement :

NaN
NaN
Statement Test Coverage :
Method Test Reference :
0
7


Method :Javadocs:Source statements:Cyclometic complexity:




Bug: CategoryTypeAbbreviationPriorityMethod NameField Name
PERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATIONSBSC2checkForSlowClients

org.apache.qpid.sustained.SustainedTestCase

Package: org.apache.qpid.sustained | Class source

Methods:Source statements:Cyclomatic Complexity
Total:
Total Declared:
Public :
Private :
4
4
4
0
Total :
Per method :
20
5
Total :
Per method :
Per statement :
5
1.25
0.25
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):
5
0
20
4
Javadocs:Code violations:Style Errors:Unit Test Coverage
Total :
Per method :
5
1.25
Total :
Per method :
Per statement :
5
1.25
0.25
Total :
Per method :
Per statement :
20
5
1
Statement Test Coverage :
Method Test Reference :
0
0.5


Method :Javadocs:Source statements:Cyclometic complexity:Test References:
SustainedTestCase(String)
1210
testBasicPubSub()
11110
lateJoin(Message)
1220
getTestCaseNameForTestMethod(String)
1210


View line in sourceCode ViolationRule
The Logger variable declaration does not contain the static and final modifiers LoggerIsNotStaticFinal
Parameter 'name' is not assigned and could be declared final MethodArgumentCouldBeFinal
Local variable 'testConfig' could be declared final LocalVariableCouldBeFinal
Parameter 'message' is not assigned and could be declared final MethodArgumentCouldBeFinal
Parameter 'methodName' is not assigned and could be declared final MethodArgumentCouldBeFinal


Bug: CategoryTypeAbbreviationPriorityMethod NameField Name
CORRECTNESSDMI_INVOKING_TOSTRING_ON_ARRAYDMI2testBasicPubSub
View line in sourceStyle ErrorColumn
0Exception levée : java.lang.RuntimeException: Impossible d'obtenir les informations relatives à la classe @throws pour la balise 'JMSException'.
35La ligne excède 80 caractères.
36La ligne excède 80 caractères.
37La ligne excède 80 caractères.
45'{' devrait être sur la ligne précédente.1
58'{' devrait être sur la ligne précédente.5
65La ligne excède 80 caractères.
68'{' devrait être sur la ligne précédente.5
74La ligne excède 80 caractères.
75La ligne excède 80 caractères.
77La ligne excède 80 caractères.
85La ligne excède 80 caractères.
86La ligne excède 80 caractères.
90La ligne excède 80 caractères.
95La ligne excède 80 caractères.
104La ligne excède 80 caractères.
106La ligne excède 80 caractères.
113La ligne excède 80 caractères.
114La ligne excède 80 caractères.
115La ligne excède 80 caractères.