The following document contains the results of PMD 6.13.0.
Rule | Violation | Line |
---|---|---|
FieldNamingConventions | The public constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' | 45 |
Rule | Violation | Line |
---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 49–124 |
Rule | Violation | Line |
---|---|---|
ClassNamingConventions | The utility class name 'SolrConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 36–55 |
Rule | Violation | Line |
---|---|---|
AvoidReassigningParameters | Avoid reassigning parameters such as 'strOperator' | 323 |
Rule | Violation | Line |
---|---|---|
AvoidReassigningParameters | Avoid reassigning parameters such as 'conf' | 241 |
Rule | Violation | Line |
---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–892 |
CyclomaticComplexity | The class 'SolrSearchEngine' has a total cyclomatic complexity of 97 (highest 37). | 83–892 |
GodClass | Possible God Class (WMC=97, ATFD=154, TCC=1.667%) | 83–892 |
AvoidDuplicateLiterals | The String literal "true" appears 4 times in this file; the first occurrence is on line 113 | 113 |
MissingOverride | The method 'getSearchResults(String, HttpServletRequest)' is missing an @Override annotation. | 147–197 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 166–173 |
UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 248–249 |
CyclomaticComplexity | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a cyclomatic complexity of 37. | 270–525 |
ExcessiveMethodLength | Avoid really long methods. | 270–525 |
NcssCount | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a NCSS line count of 134. | 270–525 |
UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 270–271 |
NPathComplexity | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has an NPath complexity of 18220560 | 270–525 |
ShortVariable | Avoid variables with short names like fl | 270 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 277 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 277 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 295 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 306 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 340 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 400 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 400 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 412 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 488 |
ShortVariable | Avoid variables with short names like ff | 499 |
AvoidReassigningLoopVariables | Avoid reassigning the loop control variable 'strTmpSearch' | 543 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 552 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 552 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 605 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 605 |
NPathComplexity | The method 'getGeolocSearchResults(String, String, int)' has an NPath complexity of 504 | 640–721 |
CyclomaticComplexity | The method 'getGeolocSearchResults(String, String, int)' has a cyclomatic complexity of 14. | 640–721 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 644 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 644 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 700 |
CommentRequired | Public method and constructor comments are required | 765–786 |
CommentRequired | Public method and constructor comments are required | 788–823 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 807 |
ShortVariable | Avoid variables with short names like sb | 836 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 837 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 843 |
UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 847 |
NonThreadSafeSingleton | Singleton is not thread safe | 859–862 |
UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 869 |
PositionLiteralsFirstInCaseInsensitiveComparisons | Position literals first in String comparisons for EqualsIgnoreCase | 869 |
Rule | Violation | Line |
---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 61–63 |
ShortVariable | Avoid variables with short names like o | 73 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 242–250 |
Rule | Violation | Line |
---|---|---|
UseUnderscoresInNumericLiterals | Number 60000 should separate every third digit with an underscore | 53 |
UseUnderscoresInNumericLiterals | Number 600000 should separate every third digit with an underscore | 54 |
NonThreadSafeSingleton | Singleton is not thread safe | 76–79 |
Rule | Violation | Line |
---|---|---|
DataClass | The class 'FacetIntersection' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) | 41–88 |
Rule | Violation | Line |
---|---|---|
MissingOverride | The method 'insert(FacetIntersection, Plugin)' is missing an @Override annotation. | 62–71 |
MissingOverride | The method 'delete(int, int, Plugin)' is missing an @Override annotation. | 81–89 |
MissingOverride | The method 'selectFacetIntersectionsList(Plugin)' is missing an @Override annotation. | 98–117 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 74–88 |
ShortVariable | Avoid variables with short names like f1 | 76 |
ShortVariable | Avoid variables with short names like f2 | 79 |
ShortVariable | Avoid variables with short names like fi | 82 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 59–71 |
CommentRequired | Public method and constructor comments are required | 73–76 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 325–326 |
Rule | Violation | Line |
---|---|---|
MissingOverride | The method 'insert(Field, Plugin)' is missing an @Override annotation. | 84–105 |
ShortVariable | Avoid variables with short names like i | 90 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 116–147 |
ShortVariable | Avoid variables with short names like i | 128 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 157–164 |
MissingOverride | The method 'store(Field, Plugin)' is missing an @Override annotation. | 174–195 |
ShortVariable | Avoid variables with short names like i | 178 |
MissingOverride | The method 'selectFieldsList(Plugin)' is missing an @Override annotation. | 204–231 |
ShortVariable | Avoid variables with short names like i | 214 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Header comments are required | 45–222 |
ImmutableField | Private field '_currentFacet' could be made final; it is only initialized in the declaration or constructor. | 54 |
CommentRequired | Public method and constructor comments are required | 56–59 |
CommentRequired | Public method and constructor comments are required | 61–84 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 63 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 67 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 77 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 79 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 82 |
CommentRequired | Public method and constructor comments are required | 92–97 |
CommentRequired | Public method and constructor comments are required | 99–102 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 116 |
CommentRequired | Public method and constructor comments are required | 147–150 |
CommentRequired | Public method and constructor comments are required | 152–155 |
CommentRequired | Public method and constructor comments are required | 157–160 |
CommentRequired | Public method and constructor comments are required | 162–165 |
CommentRequired | Header comments are required | 200–220 |
ImmutableField | Private field '_name' could be made final; it is only initialized in the declaration or constructor. | 202 |
CommentRequired | Public method and constructor comments are required | 205–209 |
Rule | Violation | Line |
---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 65–77 |
MissingOverride | The method 'insert(SolrIndexerAction, Plugin)' is missing an @Override annotation. | 82–96 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 82–96 |
ShortVariable | Avoid variables with short names like i | 86 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 101–122 |
ShortVariable | Avoid variables with short names like i | 112 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 127–134 |
MissingOverride | The method 'deleteAll(Plugin)' is missing an @Override annotation. | 139–145 |
MissingOverride | The method 'store(SolrIndexerAction, Plugin)' is missing an @Override annotation. | 150–164 |
ShortVariable | Avoid variables with short names like i | 154 |
MissingOverride | The method 'selectList(IndexerActionFilter, Plugin)' is missing an @Override annotation. | 169–205 |
ShortVariable | Avoid variables with short names like i | 194 |
MissingOverride | The method 'selectList(Plugin)' is missing an @Override annotation. | 210–229 |
ShortVariable | Avoid variables with short names like i | 218 |
AssignmentInOperand | Avoid assignments in operands | 251 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 251 |
Rule | Violation | Line |
---|---|---|
UnnecessaryModifier | Unnecessary modifier 'public' on method 'provideFields': the method is declared in an interface type | 17 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Header comments are required | 43–83 |
Rule | Violation | Line |
---|---|---|
GodClass | Possible God Class (WMC=67, ATFD=129, TCC=27.273%) | 72–664 |
TooManyMethods | This class has too many methods, consider refactoring it. | 73–664 |
AvoidStringBufferField | StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). | 77 |
AvoidDuplicateLiterals | The String literal "\r\n" appears 5 times in this file; the first occurrence is on line 124 | 124 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 126 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 162 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 210 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 223–262 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 251 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 351–363 |
ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 365 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 386 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 393 |
ShortVariable | Avoid variables with short names like sb | 434 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 477 |
UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 588 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 621–643 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 636 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 639 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 639 |
CommentRequired | Public method and constructor comments are required | 645–648 |
Rule | Violation | Line |
---|---|---|
ExcessivePublicCount | This class has a bunch of public methods and attributes | 34–829 |
GodClass | Possible God Class (WMC=85, ATFD=25, TCC=2.551%) | 62–829 |
TooManyFields | Too many fields | 62–829 |
CyclomaticComplexity | The class 'SolrItem' has a total cyclomatic complexity of 85 (highest 10). | 62–829 |
TooManyMethods | This class has too many methods, consider refactoring it. | 63–829 |
NPathComplexity | The method 'getDynamicFields()' has an NPath complexity of 512 | 147–196 |
CyclomaticComplexity | The method 'getDynamicFields()' has a cyclomatic complexity of 10. | 147–196 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 149 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 431–460 |
ShortVariable | Avoid variables with short names like it | 438 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 442–457 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 449–456 |
CommentRequired | Public method and constructor comments are required | 668–671 |
CommentRequired | Public method and constructor comments are required | 673–676 |
CommentRequired | Public method and constructor comments are required | 678–681 |
CommentRequired | Public method and constructor comments are required | 683–686 |
CommentRequired | Public method and constructor comments are required | 688–691 |
CommentRequired | Public method and constructor comments are required | 693–696 |
CommentRequired | Public method and constructor comments are required | 772–789 |
CommentRequired | Public method and constructor comments are required | 791–796 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 809 |
CommentRequired | Public method and constructor comments are required | 824–827 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'isEmpty' | 826 |
Rule | Violation | Line |
---|---|---|
MissingOverride | The method 'indexDocuments()' is missing an @Override annotation. | 86–118 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 100 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 111 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 238 |
ShortVariable | Avoid variables with short names like sb | 261 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Header comments are required | 42–55 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 64–108 |
CyclomaticComplexity | The method 'loadConfiguration(String)' has a cyclomatic complexity of 10. | 64–108 |
CommentRequired | Public method and constructor comments are required | 110–123 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 112 |
Rule | Violation | Line |
---|---|---|
MissingOverride | The method 'run()' is missing an @Override annotation. | 52–56 |
Rule | Violation | Line |
---|---|---|
ShortVariable | Avoid variables with short names like e | 43 |
CommentRequired | Public method and constructor comments are required | 43–46 |
Rule | Violation | Line |
---|---|---|
ShortVariable | Avoid variables with short names like e | 43 |
CommentRequired | Public method and constructor comments are required | 43–46 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Header comments are required | 36–55 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 42 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 43 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 44 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 45 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 46 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 47 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 48 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 49 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 50 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 51 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 52 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 53 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 54 |
Rule | Violation | Line |
---|---|---|
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 89 |
Rule | Violation | Line |
---|---|---|
UseUnderscoresInNumericLiterals | Number 1048576 should separate every third digit with an underscore | 62 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 164 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 112–120 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 115 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 116 |
CommentRequired | Public method and constructor comments are required | 123–132 |
CommentRequired | Public method and constructor comments are required | 134–149 |
CommentRequired | Public method and constructor comments are required | 151–169 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 154–164 |
Rule | Violation | Line |
---|---|---|
CommentRequired | Public method and constructor comments are required | 84–90 |
CommentRequired | Public method and constructor comments are required | 92–117 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 97–112 |
AvoidDuplicateLiterals | The String literal "create" appears 4 times in this file; the first occurrence is on line 99 | 99 |
CommentRequired | Public method and constructor comments are required | 120–145 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 122–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 127–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 132–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 137–144 |
CommentRequired | Public method and constructor comments are required | 147–154 |
CommentRequired | Public method and constructor comments are required | 156–163 |
ShortVariable | Avoid variables with short names like id | 158 |
CommentRequired | Public method and constructor comments are required | 165–189 |
CommentRequired | Public method and constructor comments are required | 191–218 |
Rule | Violation | Line |
---|---|---|
DoNotUseThreads | To be compliant to J2EE, a webapp should not use any thread. | 69 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 75 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 79–88 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 136–192 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 142–155 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 147–155 |
DoNotUseThreads | To be compliant to J2EE, a webapp should not use any thread. | 156 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 163 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 165 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 168 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 170 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 173 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 175 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 178 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 180 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 185 |
NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 185 |
Rule | Violation | Line |
---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 34–509 |
GodClass | Possible God Class (WMC=53, ATFD=64, TCC=3.571%) | 86–509 |
NcssCount | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a NCSS line count of 99. | 241–414 |
NPathComplexity | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has an NPath complexity of 3225600 | 241–414 |
ExcessiveMethodLength | Avoid really long methods. | 241–414 |
CyclomaticComplexity | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a cyclomatic complexity of 34. | 241–414 |
AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 275–282 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 278 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 328 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 332 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 376 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 418 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 421 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 439 |
ShortVariable | Avoid variables with short names like h | 451 |
Rule | Violation | Line |
---|---|---|
InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 31 characters appended. | 72 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 73 |
ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 4 consecutive times with literals. Use a single append with a single combined String. | 89 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 89 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 90 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 90 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 98 |
Rule | Violation | Line |
---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 141–144 |
Rule | Violation | Line |
---|---|---|
UseVarargs | Consider using varargs for methods or constructors which take an array the last parameter. | 834 |
Rule | Violation | Line |
---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 167–170 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 188–191 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 209–212 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 230–233 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 251–254 |
Rule | Violation | Line |
---|---|---|
UnusedImports | Avoid unused imports such as 'java.util.Collection' | 55 |
Rule | Violation | Priority | Line |
---|---|---|---|
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 141–144 |
Rule | Violation | Priority | Line |
---|---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–892 |
CyclomaticComplexity | The class 'SolrSearchEngine' has a total cyclomatic complexity of 97 (highest 37). | 3 | 83–892 |
GodClass | Possible God Class (WMC=97, ATFD=154, TCC=1.667%) | 3 | 83–892 |
AvoidDuplicateLiterals | The String literal "true" appears 4 times in this file; the first occurrence is on line 113 | 3 | 113 |
MissingOverride | The method 'getSearchResults(String, HttpServletRequest)' is missing an @Override annotation. | 3 | 147–197 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 166–173 |
UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 248–249 |
CyclomaticComplexity | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a cyclomatic complexity of 37. | 3 | 270–525 |
ExcessiveMethodLength | Avoid really long methods. | 3 | 270–525 |
NcssCount | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a NCSS line count of 134. | 3 | 270–525 |
UseObjectForClearerAPI | Rather than using a lot of String arguments, consider using a container object for those values. | 3 | 270–271 |
NPathComplexity | The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has an NPath complexity of 18220560 | 3 | 270–525 |
ShortVariable | Avoid variables with short names like fl | 3 | 270 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 277 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 277 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 295 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 306 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 3 | 340 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 400 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 400 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 3 | 412 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 488 |
ShortVariable | Avoid variables with short names like ff | 3 | 499 |
AvoidReassigningLoopVariables | Avoid reassigning the loop control variable 'strTmpSearch' | 3 | 543 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 552 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 552 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 605 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 605 |
NPathComplexity | The method 'getGeolocSearchResults(String, String, int)' has an NPath complexity of 504 | 3 | 640–721 |
CyclomaticComplexity | The method 'getGeolocSearchResults(String, String, int)' has a cyclomatic complexity of 14. | 3 | 640–721 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 644 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 644 |
PositionLiteralsFirstInComparisons | Position literals first in String comparisons | 3 | 700 |
CommentRequired | Public method and constructor comments are required | 3 | 765–786 |
CommentRequired | Public method and constructor comments are required | 3 | 788–823 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 807 |
UseVarargs | Consider using varargs for methods or constructors which take an array the last parameter. | 4 | 834 |
ShortVariable | Avoid variables with short names like sb | 3 | 836 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 837 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 843 |
UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 847 |
NonThreadSafeSingleton | Singleton is not thread safe | 3 | 859–862 |
UseLocaleWithCaseConversions | When doing a String.toLowerCase()/toUpperCase() call, use a Locale | 3 | 869 |
PositionLiteralsFirstInCaseInsensitiveComparisons | Position literals first in String comparisons for EqualsIgnoreCase | 3 | 869 |
Rule | Violation | Priority | Line |
---|---|---|---|
UncommentedEmptyConstructor | Document empty constructor | 3 | 61–63 |
ShortVariable | Avoid variables with short names like o | 3 | 73 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 242–250 |
Rule | Violation | Priority | Line |
---|---|---|---|
UseUnderscoresInNumericLiterals | Number 60000 should separate every third digit with an underscore | 3 | 53 |
UseUnderscoresInNumericLiterals | Number 600000 should separate every third digit with an underscore | 3 | 54 |
NonThreadSafeSingleton | Singleton is not thread safe | 3 | 76–79 |
Rule | Violation | Priority | Line |
---|---|---|---|
DataClass | The class 'FacetIntersection' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) | 3 | 41–88 |
Rule | Violation | Priority | Line |
---|---|---|---|
MissingOverride | The method 'insert(FacetIntersection, Plugin)' is missing an @Override annotation. | 3 | 62–71 |
MissingOverride | The method 'delete(int, int, Plugin)' is missing an @Override annotation. | 3 | 81–89 |
MissingOverride | The method 'selectFacetIntersectionsList(Plugin)' is missing an @Override annotation. | 3 | 98–117 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 74–88 |
ShortVariable | Avoid variables with short names like f1 | 3 | 76 |
ShortVariable | Avoid variables with short names like f2 | 3 | 79 |
ShortVariable | Avoid variables with short names like fi | 3 | 82 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 59–71 |
CommentRequired | Public method and constructor comments are required | 3 | 73–76 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 167–170 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 188–191 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 209–212 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 230–233 |
BooleanGetMethodName | A getX() method which returns a boolean should be named isX() | 4 | 251–254 |
AvoidReassigningParameters | Avoid reassigning parameters such as 'strOperator' | 2 | 323 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 325–326 |
Rule | Violation | Priority | Line |
---|---|---|---|
MissingOverride | The method 'insert(Field, Plugin)' is missing an @Override annotation. | 3 | 84–105 |
ShortVariable | Avoid variables with short names like i | 3 | 90 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 116–147 |
ShortVariable | Avoid variables with short names like i | 3 | 128 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 157–164 |
MissingOverride | The method 'store(Field, Plugin)' is missing an @Override annotation. | 3 | 174–195 |
ShortVariable | Avoid variables with short names like i | 3 | 178 |
MissingOverride | The method 'selectFieldsList(Plugin)' is missing an @Override annotation. | 3 | 204–231 |
ShortVariable | Avoid variables with short names like i | 3 | 214 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Header comments are required | 3 | 45–222 |
ImmutableField | Private field '_currentFacet' could be made final; it is only initialized in the declaration or constructor. | 3 | 54 |
CommentRequired | Public method and constructor comments are required | 3 | 56–59 |
CommentRequired | Public method and constructor comments are required | 3 | 61–84 |
PrematureDeclaration | Avoid declaring a variable if it is unreferenced before a possible exit point. | 3 | 63 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 67 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 77 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 79 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 82 |
CommentRequired | Public method and constructor comments are required | 3 | 92–97 |
CommentRequired | Public method and constructor comments are required | 3 | 99–102 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 116 |
CommentRequired | Public method and constructor comments are required | 3 | 147–150 |
CommentRequired | Public method and constructor comments are required | 3 | 152–155 |
CommentRequired | Public method and constructor comments are required | 3 | 157–160 |
CommentRequired | Public method and constructor comments are required | 3 | 162–165 |
CommentRequired | Header comments are required | 3 | 200–220 |
ImmutableField | Private field '_name' could be made final; it is only initialized in the declaration or constructor. | 3 | 202 |
CommentRequired | Public method and constructor comments are required | 3 | 205–209 |
Rule | Violation | Priority | Line |
---|---|---|---|
MissingOverride | The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. | 3 | 65–77 |
MissingOverride | The method 'insert(SolrIndexerAction, Plugin)' is missing an @Override annotation. | 3 | 82–96 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 82–96 |
ShortVariable | Avoid variables with short names like i | 3 | 86 |
MissingOverride | The method 'load(int, Plugin)' is missing an @Override annotation. | 3 | 101–122 |
ShortVariable | Avoid variables with short names like i | 3 | 112 |
MissingOverride | The method 'delete(int, Plugin)' is missing an @Override annotation. | 3 | 127–134 |
MissingOverride | The method 'deleteAll(Plugin)' is missing an @Override annotation. | 3 | 139–145 |
MissingOverride | The method 'store(SolrIndexerAction, Plugin)' is missing an @Override annotation. | 3 | 150–164 |
ShortVariable | Avoid variables with short names like i | 3 | 154 |
MissingOverride | The method 'selectList(IndexerActionFilter, Plugin)' is missing an @Override annotation. | 3 | 169–205 |
ShortVariable | Avoid variables with short names like i | 3 | 194 |
MissingOverride | The method 'selectList(Plugin)' is missing an @Override annotation. | 3 | 210–229 |
ShortVariable | Avoid variables with short names like i | 3 | 218 |
AssignmentInOperand | Avoid assignments in operands | 3 | 251 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 251 |
Rule | Violation | Priority | Line |
---|---|---|---|
UnnecessaryModifier | Unnecessary modifier 'public' on method 'provideFields': the method is declared in an interface type | 3 | 17 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Header comments are required | 3 | 43–83 |
Rule | Violation | Priority | Line |
---|---|---|---|
GodClass | Possible God Class (WMC=67, ATFD=129, TCC=27.273%) | 3 | 72–664 |
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 73–664 |
AvoidStringBufferField | StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). | 3 | 77 |
AvoidDuplicateLiterals | The String literal "\r\n" appears 5 times in this file; the first occurrence is on line 124 | 3 | 124 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 126 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 162 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 210 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 223–262 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 251 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 351–363 |
ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. | 3 | 365 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 386 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 393 |
ShortVariable | Avoid variables with short names like sb | 3 | 434 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 477 |
UseStringBufferForStringAppends | Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings | 3 | 588 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 621–643 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 636 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 3 | 639 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 639 |
CommentRequired | Public method and constructor comments are required | 3 | 645–648 |
Rule | Violation | Priority | Line |
---|---|---|---|
ExcessivePublicCount | This class has a bunch of public methods and attributes | 3 | 34–829 |
GodClass | Possible God Class (WMC=85, ATFD=25, TCC=2.551%) | 3 | 62–829 |
TooManyFields | Too many fields | 3 | 62–829 |
CyclomaticComplexity | The class 'SolrItem' has a total cyclomatic complexity of 85 (highest 10). | 3 | 62–829 |
TooManyMethods | This class has too many methods, consider refactoring it. | 3 | 63–829 |
NPathComplexity | The method 'getDynamicFields()' has an NPath complexity of 512 | 3 | 147–196 |
CyclomaticComplexity | The method 'getDynamicFields()' has a cyclomatic complexity of 10. | 3 | 147–196 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 149 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 431–460 |
ShortVariable | Avoid variables with short names like it | 3 | 438 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 442–457 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 449–456 |
CommentRequired | Public method and constructor comments are required | 3 | 668–671 |
CommentRequired | Public method and constructor comments are required | 3 | 673–676 |
CommentRequired | Public method and constructor comments are required | 3 | 678–681 |
CommentRequired | Public method and constructor comments are required | 3 | 683–686 |
CommentRequired | Public method and constructor comments are required | 3 | 688–691 |
CommentRequired | Public method and constructor comments are required | 3 | 693–696 |
CommentRequired | Public method and constructor comments are required | 3 | 772–789 |
CommentRequired | Public method and constructor comments are required | 3 | 791–796 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 809 |
CommentRequired | Public method and constructor comments are required | 3 | 824–827 |
UnnecessaryLocalBeforeReturn | Consider simply returning the value vs storing it in local variable 'isEmpty' | 3 | 826 |
Rule | Violation | Priority | Line |
---|---|---|---|
MissingOverride | The method 'indexDocuments()' is missing an @Override annotation. | 3 | 86–118 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 100 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 111 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 238 |
ShortVariable | Avoid variables with short names like sb | 3 | 261 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Header comments are required | 3 | 42–55 |
FieldNamingConventions | The public constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' | 1 | 45 |
Rule | Violation | Priority | Line |
---|---|---|---|
ClassWithOnlyPrivateConstructorsShouldBeFinal | A class which only has private constructors should be final | 1 | 49–124 |
CommentRequired | Public method and constructor comments are required | 3 | 64–108 |
CyclomaticComplexity | The method 'loadConfiguration(String)' has a cyclomatic complexity of 10. | 3 | 64–108 |
CommentRequired | Public method and constructor comments are required | 3 | 110–123 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 112 |
Rule | Violation | Priority | Line |
---|---|---|---|
MissingOverride | The method 'run()' is missing an @Override annotation. | 3 | 52–56 |
Rule | Violation | Priority | Line |
---|---|---|---|
ShortVariable | Avoid variables with short names like e | 3 | 43 |
CommentRequired | Public method and constructor comments are required | 3 | 43–46 |
Rule | Violation | Priority | Line |
---|---|---|---|
ShortVariable | Avoid variables with short names like e | 3 | 43 |
CommentRequired | Public method and constructor comments are required | 3 | 43–46 |
Rule | Violation | Priority | Line |
---|---|---|---|
ClassNamingConventions | The utility class name 'SolrConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' | 1 | 36–55 |
CommentRequired | Header comments are required | 3 | 36–55 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 42 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 43 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 44 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 45 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 46 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 47 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 48 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 49 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 50 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 51 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 52 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 53 |
FieldDeclarationsShouldBeAtStartOfClass | Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. | 3 | 54 |
Rule | Violation | Priority | Line |
---|---|---|---|
UnusedImports | Avoid unused imports such as 'java.util.Collection' | 4 | 55 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 89 |
Rule | Violation | Priority | Line |
---|---|---|---|
UseUnderscoresInNumericLiterals | Number 1048576 should separate every third digit with an underscore | 3 | 62 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 164 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 112–120 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 115 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 116 |
CommentRequired | Public method and constructor comments are required | 3 | 123–132 |
CommentRequired | Public method and constructor comments are required | 3 | 134–149 |
CommentRequired | Public method and constructor comments are required | 3 | 151–169 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 154–164 |
Rule | Violation | Priority | Line |
---|---|---|---|
CommentRequired | Public method and constructor comments are required | 3 | 84–90 |
CommentRequired | Public method and constructor comments are required | 3 | 92–117 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 97–112 |
AvoidDuplicateLiterals | The String literal "create" appears 4 times in this file; the first occurrence is on line 99 | 3 | 99 |
CommentRequired | Public method and constructor comments are required | 3 | 120–145 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 122–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 127–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 132–144 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 137–144 |
CommentRequired | Public method and constructor comments are required | 3 | 147–154 |
CommentRequired | Public method and constructor comments are required | 3 | 156–163 |
ShortVariable | Avoid variables with short names like id | 3 | 158 |
CommentRequired | Public method and constructor comments are required | 3 | 165–189 |
CommentRequired | Public method and constructor comments are required | 3 | 191–218 |
Rule | Violation | Priority | Line |
---|---|---|---|
DoNotUseThreads | To be compliant to J2EE, a webapp should not use any thread. | 3 | 69 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 75 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 79–88 |
AvoidSynchronizedAtMethodLevel | Use block level rather than method level synchronization | 3 | 136–192 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 142–155 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 147–155 |
DoNotUseThreads | To be compliant to J2EE, a webapp should not use any thread. | 3 | 156 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 163 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 165 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 168 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 170 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 173 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 175 |
AvoidCatchingGenericException | Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block | 3 | 178 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 180 |
AccessorMethodGeneration | Avoid autogenerated methods to access private fields and methods of inner / outer classes | 3 | 185 |
NullAssignment | Assigning an Object to null is a code smell. Consider refactoring. | 3 | 185 |
Rule | Violation | Priority | Line |
---|---|---|---|
ExcessiveImports | A high number of imports can indicate a high degree of coupling within an object. | 3 | 34–509 |
GodClass | Possible God Class (WMC=53, ATFD=64, TCC=3.571%) | 3 | 86–509 |
AvoidReassigningParameters | Avoid reassigning parameters such as 'conf' | 2 | 241 |
NcssCount | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a NCSS line count of 99. | 3 | 241–414 |
NPathComplexity | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has an NPath complexity of 3225600 | 3 | 241–414 |
ExcessiveMethodLength | Avoid really long methods. | 3 | 241–414 |
CyclomaticComplexity | The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a cyclomatic complexity of 34. | 3 | 241–414 |
AvoidDeeplyNestedIfStmts | Deeply nested if..then statements are hard to read | 3 | 275–282 |
InefficientStringBuffering | Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). | 3 | 278 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 328 |
ConfusingTernary | Avoid if (x != y) ..; else ..; | 3 | 332 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 376 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 418 |
AvoidLiteralsInIfCondition | Avoid using Literals in Conditional Statements | 3 | 421 |
UseConcurrentHashMap | If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation | 3 | 439 |
ShortVariable | Avoid variables with short names like h | 3 | 451 |
Rule | Violation | Priority | Line |
---|---|---|---|
InsufficientStringBufferDeclaration | StringBuffer constructor is initialized with size 16, but has at least 31 characters appended. | 3 | 72 |
ConsecutiveAppendsShouldReuse | StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. | 3 | 73 |
ConsecutiveLiteralAppends | StringBuffer (or StringBuilder).append is called 4 consecutive times with literals. Use a single append with a single combined String. | 3 | 89 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 89 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 90 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 90 |
AppendCharacterWithChar | Avoid appending characters as strings in StringBuffer.append. | 3 | 98 |