About Us Home Contributors License Components Sandbox Commons Jexl Overview API Documentation Examples Release Builds Nightly Builds Reference JEXL Wiki Project Documentation About Commons JEXL Downloads Project Info Project Reports Change Log Changes Developer Activity File Activity JavaDocs JavaDoc Report JavaDoc Warnings Report JCoverage Metrics Unit Tests Source Xref Test Xref Project License PMD Report Task List Development Process General Information Charter Volunteering Contributing Patches Releasing Components Jakarta Community Get Involved Mailing Lists Access CVS Repositories Commons Resources (Unofficial) Wiki Japanese Translation Korean Translation Related Apache Commons DB Commons XML Commons | ### PMD Results The following document contains the results of PMD . ### Summary
Files | Errors
--- | ---
15 | 261
### Files
Files | Violations
--- | ---
org/apache/commons/jexl/junit/Asserter.java | 1
org/apache/commons/jexl/parser/ASTArrayAccess.java | 1
org/apache/commons/jexl/parser/ASTNENode.java | 6
org/apache/commons/jexl/parser/ParseException.java | 3
org/apache/commons/jexl/parser/Parser.java | 203
org/apache/commons/jexl/parser/ParserTokenManager.java | 26
org/apache/commons/jexl/parser/ParserVisitor.java | 1
org/apache/commons/jexl/parser/SimpleCharStream.java | 1
org/apache/commons/jexl/parser/TokenMgrError.java | 3
org/apache/commons/jexl/util/Coercion.java | 1
org/apache/commons/jexl/util/Introspector.java | 1
org/apache/commons/jexl/util/PropertyExecutor.java | 1
org/apache/commons/jexl/util/introspection/ClassMap.java | 4
org/apache/commons/jexl/util/introspection/MethodMap.java | 3
org/apache/commons/jexl/util/introspection/UberspectImpl.java | 6
#### org/apache/commons/jexl/junit/Asserter.java
Violation | Line
--- | ---
Avoid calls to overridable methods during construction | 51
#### org/apache/commons/jexl/parser/ASTArrayAccess.java
Violation | Line
--- | ---
Avoid reassigning parameters such as 'obj' | 67
#### org/apache/commons/jexl/parser/ASTNENode.java
Violation | Line
--- | ---
Avoid if (x != y) ..; else ..; | 69
Avoid if (x != y) ..; else ..; | 74
Avoid if (x != y) ..; else ..; | 80
Avoid if (x != y) ..; else ..; | 85
Avoid if (x != y) ..; else ..; | 90
Avoid if (x != y) ..; else ..; | 93
#### org/apache/commons/jexl/parser/ParseException.java
Violation | Line
--- | ---
The class 'ParseException' has a Cyclomatic Complexity of 5 (Highest = 13). | 13
The method 'getMessage' has a Cyclomatic Complexity of 10. | 97
The method 'add_escapes' has a Cyclomatic Complexity of 13. | 147
#### org/apache/commons/jexl/parser/Parser.java
Violation | Line
--- | ---
Avoid really long Classes. | 6
The class 'Parser' has a Cyclomatic Complexity of 7 (Highest = 69). | 6
The method 'JexlScript' has a Cyclomatic Complexity of 12. | 24
Avoid unused local variables such as 'name' | 28
An empty statement (semicolon) not part of a loop | 52
Do not use 'if' statements that are always true or always false | 63
Do not use 'if' statements that are always true or always false | 72
Do not use 'if' statements that are always true or always false | 75
Do not use 'if' statements that are always true or always false | 77
The method 'Block' has a Cyclomatic Complexity of 11. | 86
An empty statement (semicolon) not part of a loop | 115
Do not use 'if' statements that are always true or always false | 132
Do not use 'if' statements that are always true or always false | 135
Do not use 'if' statements that are always true or always false | 137
The method 'EmptyFunction' has a Cyclomatic Complexity of 11. | 145
Do not use 'if' statements that are always true or always false | 174
Do not use 'if' statements that are always true or always false | 177
Do not use 'if' statements that are always true or always false | 179
Do not use 'if' statements that are always true or always false | 205
Do not use 'if' statements that are always true or always false | 208
Do not use 'if' statements that are always true or always false | 210
The method 'Expression' has a Cyclomatic Complexity of 11. | 238
Do not use 'if' statements that are always true or always false | 278
Do not use 'if' statements that are always true or always false | 281
Do not use 'if' statements that are always true or always false | 283
Do not use 'if' statements that are always true or always false | 308
Do not use 'if' statements that are always true or always false | 311
Do not use 'if' statements that are always true or always false | 313
The method 'ConditionalOrExpression' has a Cyclomatic Complexity of 21. | 321
An empty statement (semicolon) not part of a loop | 328
A high ratio of statements to labels in a switch statement. Consider refactoring. | 334
Do not use 'if' statements that are always true or always false | 350
Do not use 'if' statements that are always true or always false | 353
Do not use 'if' statements that are always true or always false | 355
Do not use 'if' statements that are always true or always false | 377
Do not use 'if' statements that are always true or always false | 380
Do not use 'if' statements that are always true or always false | 382
The method 'ConditionalAndExpression' has a Cyclomatic Complexity of 21. | 397
An empty statement (semicolon) not part of a loop | 404
Do not use 'if' statements that are always true or always false | 426
Do not use 'if' statements that are always true or always false | 429
Do not use 'if' statements that are always true or always false | 431
Do not use 'if' statements that are always true or always false | 453
Do not use 'if' statements that are always true or always false | 456
Do not use 'if' statements that are always true or always false | 458
The method 'InclusiveOrExpression' has a Cyclomatic Complexity of 11. | 473
An empty statement (semicolon) not part of a loop | 479
Do not use 'if' statements that are always true or always false | 499
Do not use 'if' statements that are always true or always false | 502
Do not use 'if' statements that are always true or always false | 504
The method 'ExclusiveOrExpression' has a Cyclomatic Complexity of 11. | 513
An empty statement (semicolon) not part of a loop | 519
Do not use 'if' statements that are always true or always false | 539
Do not use 'if' statements that are always true or always false | 542
Do not use 'if' statements that are always true or always false | 544
The method 'AndExpression' has a Cyclomatic Complexity of 11. | 553
An empty statement (semicolon) not part of a loop | 559
Do not use 'if' statements that are always true or always false | 579
Do not use 'if' statements that are always true or always false | 582
Do not use 'if' statements that are always true or always false | 584
Avoid really long methods. | 593
The method 'EqualityExpression' has a Cyclomatic Complexity of 37. | 593
An empty statement (semicolon) not part of a loop | 602
A high ratio of statements to labels in a switch statement. Consider refactoring. | 608
Do not use 'if' statements that are always true or always false | 624
Do not use 'if' statements that are always true or always false | 627
Do not use 'if' statements that are always true or always false | 629
Do not use 'if' statements that are always true or always false | 651
Do not use 'if' statements that are always true or always false | 654
Do not use 'if' statements that are always true or always false | 656
Do not use 'if' statements that are always true or always false | 678
Do not use 'if' statements that are always true or always false | 681
Do not use 'if' statements that are always true or always false | 683
Do not use 'if' statements that are always true or always false | 705
Do not use 'if' statements that are always true or always false | 708
Do not use 'if' statements that are always true or always false | 710
Avoid really long methods. | 725
The method 'RelationalExpression' has a Cyclomatic Complexity of 69. | 725
An empty statement (semicolon) not part of a loop | 738
A high ratio of statements to labels in a switch statement. Consider refactoring. | 744
Do not use 'if' statements that are always true or always false | 760
Do not use 'if' statements that are always true or always false | 763
Do not use 'if' statements that are always true or always false | 765
Do not use 'if' statements that are always true or always false | 787
Do not use 'if' statements that are always true or always false | 790
Do not use 'if' statements that are always true or always false | 792
Do not use 'if' statements that are always true or always false | 814
Do not use 'if' statements that are always true or always false | 817
Do not use 'if' statements that are always true or always false | 819
Do not use 'if' statements that are always true or always false | 841
Do not use 'if' statements that are always true or always false | 844
Do not use 'if' statements that are always true or always false | 846
Do not use 'if' statements that are always true or always false | 868
Do not use 'if' statements that are always true or always false | 871
Do not use 'if' statements that are always true or always false | 873
Do not use 'if' statements that are always true or always false | 895
Do not use 'if' statements that are always true or always false | 898
Do not use 'if' statements that are always true or always false | 900
Do not use 'if' statements that are always true or always false | 922
Do not use 'if' statements that are always true or always false | 925
Do not use 'if' statements that are always true or always false | 927
Do not use 'if' statements that are always true or always false | 949
Do not use 'if' statements that are always true or always false | 952
Do not use 'if' statements that are always true or always false | 954
The method 'AdditiveExpression' has a Cyclomatic Complexity of 21. | 969
An empty statement (semicolon) not part of a loop | 976
Do not use 'if' statements that are always true or always false | 998
Do not use 'if' statements that are always true or always false | 1001
Do not use 'if' statements that are always true or always false | 1003
Do not use 'if' statements that are always true or always false | 1025
Do not use 'if' statements that are always true or always false | 1028
Do not use 'if' statements that are always true or always false | 1030
Avoid really long methods. | 1045
The method 'MultiplicativeExpression' has a Cyclomatic Complexity of 45. | 1045
An empty statement (semicolon) not part of a loop | 1055
A high ratio of statements to labels in a switch statement. Consider refactoring. | 1061
Do not use 'if' statements that are always true or always false | 1077
Do not use 'if' statements that are always true or always false | 1080
Do not use 'if' statements that are always true or always false | 1082
Do not use 'if' statements that are always true or always false | 1104
Do not use 'if' statements that are always true or always false | 1107
Do not use 'if' statements that are always true or always false | 1109
Do not use 'if' statements that are always true or always false | 1131
Do not use 'if' statements that are always true or always false | 1134
Do not use 'if' statements that are always true or always false | 1136
Do not use 'if' statements that are always true or always false | 1158
Do not use 'if' statements that are always true or always false | 1161
Do not use 'if' statements that are always true or always false | 1163
Do not use 'if' statements that are always true or always false | 1185
Do not use 'if' statements that are always true or always false | 1188
Do not use 'if' statements that are always true or always false | 1190
Avoid really long methods. | 1205
The method 'UnaryExpression' has a Cyclomatic Complexity of 35. | 1205
Do not use 'if' statements that are always true or always false | 1222
Do not use 'if' statements that are always true or always false | 1225
Do not use 'if' statements that are always true or always false | 1227
Do not use 'if' statements that are always true or always false | 1249
Do not use 'if' statements that are always true or always false | 1252
Do not use 'if' statements that are always true or always false | 1254
Do not use 'if' statements that are always true or always false | 1276
Do not use 'if' statements that are always true or always false | 1279
Do not use 'if' statements that are always true or always false | 1281
Do not use 'if' statements that are always true or always false | 1303
Do not use 'if' statements that are always true or always false | 1306
Do not use 'if' statements that are always true or always false | 1308
Avoid unused local variables such as 't' | 1366
The method 'Statement' has a Cyclomatic Complexity of 11. | 1492
Do not use 'if' statements that are always true or always false | 1558
Do not use 'if' statements that are always true or always false | 1561
Do not use 'if' statements that are always true or always false | 1563
Do not use 'if' statements that are always true or always false | 1587
Do not use 'if' statements that are always true or always false | 1590
Do not use 'if' statements that are always true or always false | 1592
Do not use 'if' statements that are always true or always false | 1616
Do not use 'if' statements that are always true or always false | 1619
Do not use 'if' statements that are always true or always false | 1621
The method 'IfStatement' has a Cyclomatic Complexity of 10. | 1629
An empty statement (semicolon) not part of a loop | 1647
Do not use 'if' statements that are always true or always false | 1657
Do not use 'if' statements that are always true or always false | 1660
Do not use 'if' statements that are always true or always false | 1662
Do not use 'if' statements that are always true or always false | 1689
Do not use 'if' statements that are always true or always false | 1692
Do not use 'if' statements that are always true or always false | 1694
Do not use 'if' statements that are always true or always false | 1723
Do not use 'if' statements that are always true or always false | 1726
Do not use 'if' statements that are always true or always false | 1728
The method 'Method' has a Cyclomatic Complexity of 13. | 1736
A non-case label was present in a switch statement | 1760
An empty statement (semicolon) not part of a loop | 1764
An empty statement (semicolon) not part of a loop | 1776
Do not use 'if' statements that are always true or always false | 1787
Do not use 'if' statements that are always true or always false | 1790
Do not use 'if' statements that are always true or always false | 1792
The method 'ArrayAccess' has a Cyclomatic Complexity of 15. | 1800
An empty statement (semicolon) not part of a loop | 1829
Do not use 'if' statements that are always true or always false | 1844
Do not use 'if' statements that are always true or always false | 1847
Do not use 'if' statements that are always true or always false | 1849
The method 'Reference' has a Cyclomatic Complexity of 21. | 1873
An empty statement (semicolon) not part of a loop | 1895
Do not use 'if' statements that are always true or always false | 1942
Do not use 'if' statements that are always true or always false | 1945
Do not use 'if' statements that are always true or always false | 1947
The method 'jj_3R_43' has a Cyclomatic Complexity of 11. | 2276
The method 'jj_3R_15' has a Cyclomatic Complexity of 11. | 2366
The method 'jj_3R_101' has a Cyclomatic Complexity of 11. | 2442
The method 'jj_3_8' has a Cyclomatic Complexity of 13. | 2478
The method 'jj_3_5' has a Cyclomatic Complexity of 13. | 2548
The method 'jj_3R_102' has a Cyclomatic Complexity of 11. | 2582
The method 'jj_3R_57' has a Cyclomatic Complexity of 11. | 2625
The method 'jj_3R_86' has a Cyclomatic Complexity of 17. | 2843
Avoid unused private fields such as 'jj_semLA' | 3067
Avoid if (x != y) ..; else ..; | 3139
Avoid if (x != y) ..; else ..; | 3181
Avoid if (x != y) ..; else ..; | 3191
Avoid using implementation types like 'java.util.Vector'; use the interface instead | 3204
The method 'jj_add_error_token' has a Cyclomatic Complexity of 12. | 3210
The method 'generateParseException' has a Cyclomatic Complexity of 11. | 3238
The method 'jj_rescan_token' has a Cyclomatic Complexity of 12. | 3283
Switch statements should have a default label | 3290
A high number of public methods and attributes in an object can indicate the class may need to be broken up for exhaustive testing may prove difficult. | 3324
A value of 55 may denote a high amount of coupling within the class | 3324
#### org/apache/commons/jexl/parser/ParserTokenManager.java
Violation | Line
--- | ---
The class 'ParserTokenManager' has a Cyclomatic Complexity of 9 (Highest = 67). | 4
The method 'jjStopStringLiteralDfa_0' has a Cyclomatic Complexity of 18. | 8
The method 'jjMoveStringLiteralDfa0_0' has a Cyclomatic Complexity of 37. | 89
The method 'jjMoveStringLiteralDfa1_0' has a Cyclomatic Complexity of 33. | 173
Avoid if (x != y) ..; else ..; | 187
Avoid if (x != y) ..; else ..; | 189
Avoid if (x != y) ..; else ..; | 191
Avoid if (x != y) ..; else ..; | 199
Avoid if (x != y) ..; else ..; | 201
Avoid if (x != y) ..; else ..; | 233
The method 'jjMoveStringLiteralDfa2_0' has a Cyclomatic Complexity of 17. | 249
Avoid if (x != y) ..; else ..; | 261
The method 'jjMoveStringLiteralDfa3_0' has a Cyclomatic Complexity of 11. | 293
Avoid if (x != y) ..; else ..; | 305
Avoid if (x != y) ..; else ..; | 307
Avoid if (x != y) ..; else ..; | 339
Avoid unused private methods such as 'jjCheckNAddStates' | 416
Avoid really long methods. | 424
The method 'jjMoveNfa_0' has a Cyclomatic Complexity of 67. | 424
Avoid unused local variables such as 'nextStates' | 426
Avoid unused local variables such as 'j' | 431
Avoid if (x != y) ..; else ..; | 444
Avoid calls to overridable methods during construction | 645
Avoid unused local variables such as 'kind' | 696
Avoid unused local variables such as 'specialToken' | 697
Avoid if (x != y) ..; else ..; | 727
#### org/apache/commons/jexl/parser/ParserVisitor.java
Violation | Line
--- | ---
A value of 44 may denote a high amount of coupling within the class | 50
#### org/apache/commons/jexl/parser/SimpleCharStream.java
Violation | Line
--- | ---
Avoid if (x != y) ..; else ..; | 390
#### org/apache/commons/jexl/parser/TokenMgrError.java
Violation | Line
--- | ---
The class 'TokenMgrError' has a Cyclomatic Complexity of 3 (Highest = 13). | 4
The method 'addEscapes' has a Cyclomatic Complexity of 13. | 40
Avoid unused formal parameters such as 'lexState' | 97
#### org/apache/commons/jexl/util/Coercion.java
Violation | Line
--- | ---
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor to silence this warning. | 160
#### org/apache/commons/jexl/util/Introspector.java
Violation | Line
--- | ---
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor to silence this warning. | 53
#### org/apache/commons/jexl/util/PropertyExecutor.java
Violation | Line
--- | ---
Avoid calls to overridable methods during construction | 38
#### org/apache/commons/jexl/util/introspection/ClassMap.java
Violation | Line
--- | ---
The class 'ClassMap' has a Cyclomatic Complexity of 4 (Highest = 11). | 37
The method 'makeMethodKey' has a Cyclomatic Complexity of 11. | 188
Avoid reassigning parameters such as 'upcastCount' | 312
Avoid empty catch blocks | 341
#### org/apache/commons/jexl/util/introspection/MethodMap.java
Violation | Line
--- | ---
The class 'MethodMap' has a Cyclomatic Complexity of 6 (Highest = 12). | 36
Switch statements should have a default label | 178
The method 'isMethodInvocationConvertible' has a Cyclomatic Complexity of 12. | 342
#### org/apache/commons/jexl/util/introspection/UberspectImpl.java
Violation | Line
--- | ---
Avoid if (x != y) ..; else ..; | 138
Avoid unnecessary comparisons in boolean expressions | 162
Avoid unnecessary comparisons in boolean expressions | 171
Avoid if (x != y) ..; else ..; | 176
Avoid if (x != y) ..; else ..; | 244
Avoid if (x != y) ..; else ..; | 361