Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/search/solr/service/SolrPlugin.java

Rule Violation Line
FieldNamingConventions The public constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' 45

fr/paris/lutece/plugins/search/solr/service/SolrSearchAppConfService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 49124

fr/paris/lutece/plugins/search/solr/util/SolrConstants.java

Rule Violation Line
ClassNamingConventions The utility class name 'SolrConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 3655

Priority 2

fr/paris/lutece/plugins/search/solr/business/field/Field.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'strOperator' 323

fr/paris/lutece/plugins/search/solr/web/SolrSearchApp.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'conf' 241

Priority 3

fr/paris/lutece/plugins/search/solr/business/SolrSearchEngine.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34892
GodClass Possible God Class (WMC=97, ATFD=154, TCC=1.667%) 83892
CyclomaticComplexity The class 'SolrSearchEngine' has a total cyclomatic complexity of 97 (highest 37). 83892
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. 147197
ConfusingTernary Avoid if (x != y) ..; else ..; 166173
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 248249
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 270271
CyclomaticComplexity The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a cyclomatic complexity of 37. 270525
NcssCount The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a NCSS line count of 134. 270525
NPathComplexity The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has an NPath complexity of 18220560 270525
ExcessiveMethodLength Avoid really long methods. 270525
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 640721
CyclomaticComplexity The method 'getGeolocSearchResults(String, String, int)' has a cyclomatic complexity of 14. 640721
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 644
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 644
PositionLiteralsFirstInComparisons Position literals first in String comparisons 700
CommentRequired Public method and constructor comments are required 765786
CommentRequired Public method and constructor comments are required 788823
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 859862
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 869
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 869

fr/paris/lutece/plugins/search/solr/business/SolrSearchItem.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 6163
ShortVariable Avoid variables with short names like o 73

fr/paris/lutece/plugins/search/solr/business/SolrSearchResult.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 242250

fr/paris/lutece/plugins/search/solr/business/SolrServerService.java

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 7679

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersection.java

Rule Violation Line
DataClass The class 'FacetIntersection' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=4) 4188

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersectionDAO.java

Rule Violation Line
MissingOverride The method 'insert(FacetIntersection, Plugin)' is missing an @Override annotation. 6271
MissingOverride The method 'delete(int, int, Plugin)' is missing an @Override annotation. 8189
MissingOverride The method 'selectFacetIntersectionsList(Plugin)' is missing an @Override annotation. 98117

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersectionHome.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 7488
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

fr/paris/lutece/plugins/search/solr/business/field/Field.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 5971
CommentRequired Public method and constructor comments are required 7376
ConfusingTernary Avoid if (x != y) ..; else ..; 325326

fr/paris/lutece/plugins/search/solr/business/field/FieldDAO.java

Rule Violation Line
MissingOverride The method 'insert(Field, Plugin)' is missing an @Override annotation. 84105
ShortVariable Avoid variables with short names like i 90
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 116147
ShortVariable Avoid variables with short names like i 128
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 157164
MissingOverride The method 'store(Field, Plugin)' is missing an @Override annotation. 174195
ShortVariable Avoid variables with short names like i 178
MissingOverride The method 'selectFieldsList(Plugin)' is missing an @Override annotation. 204231
ShortVariable Avoid variables with short names like i 214

fr/paris/lutece/plugins/search/solr/business/field/SolrFieldManager.java

Rule Violation Line
CommentRequired Header comments are required 45222
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 5659
CommentRequired Public method and constructor comments are required 6184
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 9297
CommentRequired Public method and constructor comments are required 99102
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 147150
CommentRequired Public method and constructor comments are required 152155
CommentRequired Public method and constructor comments are required 157160
CommentRequired Public method and constructor comments are required 162165
CommentRequired Header comments are required 200220
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 205209

fr/paris/lutece/plugins/search/solr/business/indexeraction/SolrIndexerActionDAO.java

Rule Violation Line
MissingOverride The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. 6577
MissingOverride The method 'insert(SolrIndexerAction, Plugin)' is missing an @Override annotation. 8296
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 8296
ShortVariable Avoid variables with short names like i 86
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 101122
ShortVariable Avoid variables with short names like i 112
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 127134
MissingOverride The method 'deleteAll(Plugin)' is missing an @Override annotation. 139145
MissingOverride The method 'store(SolrIndexerAction, Plugin)' is missing an @Override annotation. 150164
ShortVariable Avoid variables with short names like i 154
MissingOverride The method 'selectList(IndexerActionFilter, Plugin)' is missing an @Override annotation. 169205
ShortVariable Avoid variables with short names like i 194
MissingOverride The method 'selectList(Plugin)' is missing an @Override annotation. 210229
ShortVariable Avoid variables with short names like i 218
AssignmentInOperand Avoid assignments in operands 251
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 251

fr/paris/lutece/plugins/search/solr/indexer/ISolrItemExternalFieldProvider.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'provideFields': the method is declared in an interface type 17

fr/paris/lutece/plugins/search/solr/indexer/SolrEventRessourceListener.java

Rule Violation Line
CommentRequired Header comments are required 4383

fr/paris/lutece/plugins/search/solr/indexer/SolrIndexerService.java

Rule Violation Line
GodClass Possible God Class (WMC=67, ATFD=129, TCC=27.273%) 72664
TooManyMethods This class has too many methods, consider refactoring it. 73664
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 223262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 251
ConfusingTernary Avoid if (x != y) ..; else ..; 351363
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 621643
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 645648

fr/paris/lutece/plugins/search/solr/indexer/SolrItem.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34829
CyclomaticComplexity The class 'SolrItem' has a total cyclomatic complexity of 85 (highest 10). 62829
GodClass Possible God Class (WMC=85, ATFD=25, TCC=2.551%) 62829
TooManyFields Too many fields 62829
TooManyMethods This class has too many methods, consider refactoring it. 63829
CyclomaticComplexity The method 'getDynamicFields()' has a cyclomatic complexity of 10. 147196
NPathComplexity The method 'getDynamicFields()' has an NPath complexity of 512 147196
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 ..; 431460
ShortVariable Avoid variables with short names like it 438
ConfusingTernary Avoid if (x != y) ..; else ..; 442457
ConfusingTernary Avoid if (x != y) ..; else ..; 449456
CommentRequired Public method and constructor comments are required 668671
CommentRequired Public method and constructor comments are required 673676
CommentRequired Public method and constructor comments are required 678681
CommentRequired Public method and constructor comments are required 683686
CommentRequired Public method and constructor comments are required 688691
CommentRequired Public method and constructor comments are required 693696
CommentRequired Public method and constructor comments are required 772789
CommentRequired Public method and constructor comments are required 791796
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 824827
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'isEmpty' 826

fr/paris/lutece/plugins/search/solr/indexer/SolrPageIndexer.java

Rule Violation Line
MissingOverride The method 'indexDocuments()' is missing an @Override annotation. 86118
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

fr/paris/lutece/plugins/search/solr/service/SolrPlugin.java

Rule Violation Line
CommentRequired Header comments are required 4255

fr/paris/lutece/plugins/search/solr/service/SolrSearchAppConfService.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 64108
CyclomaticComplexity The method 'loadConfiguration(String)' has a cyclomatic complexity of 10. 64108
CommentRequired Public method and constructor comments are required 110123
ConfusingTernary Avoid if (x != y) ..; else ..; 112

fr/paris/lutece/plugins/search/solr/service/daemon/SolrIndexerDaemon.java

Rule Violation Line
MissingOverride The method 'run()' is missing an @Override annotation. 5256

fr/paris/lutece/plugins/search/solr/util/LuteceSolrException.java

Rule Violation Line
ShortVariable Avoid variables with short names like e 43
CommentRequired Public method and constructor comments are required 4346

fr/paris/lutece/plugins/search/solr/util/LuteceSolrRuntimeException.java

Rule Violation Line
ShortVariable Avoid variables with short names like e 43
CommentRequired Public method and constructor comments are required 4346

fr/paris/lutece/plugins/search/solr/util/SolrConstants.java

Rule Violation Line
CommentRequired Header comments are required 3655
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

fr/paris/lutece/plugins/search/solr/util/SolrUtil.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 89

fr/paris/lutece/plugins/search/solr/util/TikaIndexerUtil.java

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

fr/paris/lutece/plugins/search/solr/web/SolrConfigurationJspBean.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 112120
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 123132
CommentRequired Public method and constructor comments are required 134149
CommentRequired Public method and constructor comments are required 151169
ConfusingTernary Avoid if (x != y) ..; else ..; 154164

fr/paris/lutece/plugins/search/solr/web/SolrFieldsManagementJspBean.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 8490
CommentRequired Public method and constructor comments are required 92117
ConfusingTernary Avoid if (x != y) ..; else ..; 97112
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 120145
ConfusingTernary Avoid if (x != y) ..; else ..; 122144
ConfusingTernary Avoid if (x != y) ..; else ..; 127144
ConfusingTernary Avoid if (x != y) ..; else ..; 132144
ConfusingTernary Avoid if (x != y) ..; else ..; 137144
CommentRequired Public method and constructor comments are required 147154
CommentRequired Public method and constructor comments are required 156163
ShortVariable Avoid variables with short names like id 158
CommentRequired Public method and constructor comments are required 165189
CommentRequired Public method and constructor comments are required 191218

fr/paris/lutece/plugins/search/solr/web/SolrIndexerJspBean.java

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 ..; 7988
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 136192
ConfusingTernary Avoid if (x != y) ..; else ..; 142155
ConfusingTernary Avoid if (x != y) ..; else ..; 147155
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

fr/paris/lutece/plugins/search/solr/web/SolrSearchApp.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34509
GodClass Possible God Class (WMC=53, ATFD=64, TCC=3.571%) 86509
NcssCount The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a NCSS line count of 99. 241414
CyclomaticComplexity The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a cyclomatic complexity of 34. 241414
ExcessiveMethodLength Avoid really long methods. 241414
NPathComplexity The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has an NPath complexity of 3225600 241414
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 275282
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

fr/paris/lutece/plugins/search/solr/web/SolrSuggestServlet.java

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

Priority 4

fr/paris/lutece/plugins/search/solr/business/SolrSearchAppConf.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 141144

fr/paris/lutece/plugins/search/solr/business/SolrSearchEngine.java

Rule Violation Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 834

fr/paris/lutece/plugins/search/solr/business/field/Field.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 167170
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 188191
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 209212
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 230233
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 251254

fr/paris/lutece/plugins/search/solr/util/SolrUtil.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.Collection' 55

Files

fr/paris/lutece/plugins/search/solr/business/SolrSearchAppConf.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 141144

fr/paris/lutece/plugins/search/solr/business/SolrSearchEngine.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34892
GodClass Possible God Class (WMC=97, ATFD=154, TCC=1.667%) 3 83892
CyclomaticComplexity The class 'SolrSearchEngine' has a total cyclomatic complexity of 97 (highest 37). 3 83892
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 147197
ConfusingTernary Avoid if (x != y) ..; else ..; 3 166173
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 248249
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 270271
CyclomaticComplexity The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a cyclomatic complexity of 37. 3 270525
NcssCount The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has a NCSS line count of 134. 3 270525
NPathComplexity The method 'getFacetedSearchResults(String, String, String, String, String, int, int, int, Boolean)' has an NPath complexity of 18220560 3 270525
ExcessiveMethodLength Avoid really long methods. 3 270525
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 640721
CyclomaticComplexity The method 'getGeolocSearchResults(String, String, int)' has a cyclomatic complexity of 14. 3 640721
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 644
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 644
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 700
CommentRequired Public method and constructor comments are required 3 765786
CommentRequired Public method and constructor comments are required 3 788823
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 859862
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 869
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 869

fr/paris/lutece/plugins/search/solr/business/SolrSearchItem.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 6163
ShortVariable Avoid variables with short names like o 3 73

fr/paris/lutece/plugins/search/solr/business/SolrSearchResult.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 242250

fr/paris/lutece/plugins/search/solr/business/SolrServerService.java

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 7679

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersection.java

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 4188

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersectionDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(FacetIntersection, Plugin)' is missing an @Override annotation. 3 6271
MissingOverride The method 'delete(int, int, Plugin)' is missing an @Override annotation. 3 8189
MissingOverride The method 'selectFacetIntersectionsList(Plugin)' is missing an @Override annotation. 3 98117

fr/paris/lutece/plugins/search/solr/business/facetintersection/FacetIntersectionHome.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 7488
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

fr/paris/lutece/plugins/search/solr/business/field/Field.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 5971
CommentRequired Public method and constructor comments are required 3 7376
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 167170
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 188191
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 209212
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 230233
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 251254
AvoidReassigningParameters Avoid reassigning parameters such as 'strOperator' 2 323
ConfusingTernary Avoid if (x != y) ..; else ..; 3 325326

fr/paris/lutece/plugins/search/solr/business/field/FieldDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(Field, Plugin)' is missing an @Override annotation. 3 84105
ShortVariable Avoid variables with short names like i 3 90
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 116147
ShortVariable Avoid variables with short names like i 3 128
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 157164
MissingOverride The method 'store(Field, Plugin)' is missing an @Override annotation. 3 174195
ShortVariable Avoid variables with short names like i 3 178
MissingOverride The method 'selectFieldsList(Plugin)' is missing an @Override annotation. 3 204231
ShortVariable Avoid variables with short names like i 3 214

fr/paris/lutece/plugins/search/solr/business/field/SolrFieldManager.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 45222
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 5659
CommentRequired Public method and constructor comments are required 3 6184
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 9297
CommentRequired Public method and constructor comments are required 3 99102
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 147150
CommentRequired Public method and constructor comments are required 3 152155
CommentRequired Public method and constructor comments are required 3 157160
CommentRequired Public method and constructor comments are required 3 162165
CommentRequired Header comments are required 3 200220
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 205209

fr/paris/lutece/plugins/search/solr/business/indexeraction/SolrIndexerActionDAO.java

Rule Violation Priority Line
MissingOverride The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. 3 6577
MissingOverride The method 'insert(SolrIndexerAction, Plugin)' is missing an @Override annotation. 3 8296
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 8296
ShortVariable Avoid variables with short names like i 3 86
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 101122
ShortVariable Avoid variables with short names like i 3 112
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 127134
MissingOverride The method 'deleteAll(Plugin)' is missing an @Override annotation. 3 139145
MissingOverride The method 'store(SolrIndexerAction, Plugin)' is missing an @Override annotation. 3 150164
ShortVariable Avoid variables with short names like i 3 154
MissingOverride The method 'selectList(IndexerActionFilter, Plugin)' is missing an @Override annotation. 3 169205
ShortVariable Avoid variables with short names like i 3 194
MissingOverride The method 'selectList(Plugin)' is missing an @Override annotation. 3 210229
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

fr/paris/lutece/plugins/search/solr/indexer/ISolrItemExternalFieldProvider.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'provideFields': the method is declared in an interface type 3 17

fr/paris/lutece/plugins/search/solr/indexer/SolrEventRessourceListener.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 4383

fr/paris/lutece/plugins/search/solr/indexer/SolrIndexerService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=67, ATFD=129, TCC=27.273%) 3 72664
TooManyMethods This class has too many methods, consider refactoring it. 3 73664
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 223262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 251
ConfusingTernary Avoid if (x != y) ..; else ..; 3 351363
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 621643
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 645648

fr/paris/lutece/plugins/search/solr/indexer/SolrItem.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34829
CyclomaticComplexity The class 'SolrItem' has a total cyclomatic complexity of 85 (highest 10). 3 62829
GodClass Possible God Class (WMC=85, ATFD=25, TCC=2.551%) 3 62829
TooManyFields Too many fields 3 62829
TooManyMethods This class has too many methods, consider refactoring it. 3 63829
CyclomaticComplexity The method 'getDynamicFields()' has a cyclomatic complexity of 10. 3 147196
NPathComplexity The method 'getDynamicFields()' has an NPath complexity of 512 3 147196
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 431460
ShortVariable Avoid variables with short names like it 3 438
ConfusingTernary Avoid if (x != y) ..; else ..; 3 442457
ConfusingTernary Avoid if (x != y) ..; else ..; 3 449456
CommentRequired Public method and constructor comments are required 3 668671
CommentRequired Public method and constructor comments are required 3 673676
CommentRequired Public method and constructor comments are required 3 678681
CommentRequired Public method and constructor comments are required 3 683686
CommentRequired Public method and constructor comments are required 3 688691
CommentRequired Public method and constructor comments are required 3 693696
CommentRequired Public method and constructor comments are required 3 772789
CommentRequired Public method and constructor comments are required 3 791796
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 824827
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'isEmpty' 3 826

fr/paris/lutece/plugins/search/solr/indexer/SolrPageIndexer.java

Rule Violation Priority Line
MissingOverride The method 'indexDocuments()' is missing an @Override annotation. 3 86118
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

fr/paris/lutece/plugins/search/solr/service/SolrPlugin.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 4255
FieldNamingConventions The public constant name '_plugin' doesn't match '[A-Z][A-Z_0-9]*' 1 45

fr/paris/lutece/plugins/search/solr/service/SolrSearchAppConfService.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 49124
CommentRequired Public method and constructor comments are required 3 64108
CyclomaticComplexity The method 'loadConfiguration(String)' has a cyclomatic complexity of 10. 3 64108
CommentRequired Public method and constructor comments are required 3 110123
ConfusingTernary Avoid if (x != y) ..; else ..; 3 112

fr/paris/lutece/plugins/search/solr/service/daemon/SolrIndexerDaemon.java

Rule Violation Priority Line
MissingOverride The method 'run()' is missing an @Override annotation. 3 5256

fr/paris/lutece/plugins/search/solr/util/LuteceSolrException.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like e 3 43
CommentRequired Public method and constructor comments are required 3 4346

fr/paris/lutece/plugins/search/solr/util/LuteceSolrRuntimeException.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like e 3 43
CommentRequired Public method and constructor comments are required 3 4346

fr/paris/lutece/plugins/search/solr/util/SolrConstants.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 3655
ClassNamingConventions The utility class name 'SolrConstants' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 3655
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

fr/paris/lutece/plugins/search/solr/util/SolrUtil.java

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

fr/paris/lutece/plugins/search/solr/util/TikaIndexerUtil.java

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

fr/paris/lutece/plugins/search/solr/web/SolrConfigurationJspBean.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 112120
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 123132
CommentRequired Public method and constructor comments are required 3 134149
CommentRequired Public method and constructor comments are required 3 151169
ConfusingTernary Avoid if (x != y) ..; else ..; 3 154164

fr/paris/lutece/plugins/search/solr/web/SolrFieldsManagementJspBean.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 8490
CommentRequired Public method and constructor comments are required 3 92117
ConfusingTernary Avoid if (x != y) ..; else ..; 3 97112
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 120145
ConfusingTernary Avoid if (x != y) ..; else ..; 3 122144
ConfusingTernary Avoid if (x != y) ..; else ..; 3 127144
ConfusingTernary Avoid if (x != y) ..; else ..; 3 132144
ConfusingTernary Avoid if (x != y) ..; else ..; 3 137144
CommentRequired Public method and constructor comments are required 3 147154
CommentRequired Public method and constructor comments are required 3 156163
ShortVariable Avoid variables with short names like id 3 158
CommentRequired Public method and constructor comments are required 3 165189
CommentRequired Public method and constructor comments are required 3 191218

fr/paris/lutece/plugins/search/solr/web/SolrIndexerJspBean.java

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 7988
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 136192
ConfusingTernary Avoid if (x != y) ..; else ..; 3 142155
ConfusingTernary Avoid if (x != y) ..; else ..; 3 147155
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

fr/paris/lutece/plugins/search/solr/web/SolrSearchApp.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34509
GodClass Possible God Class (WMC=53, ATFD=64, TCC=3.571%) 3 86509
NcssCount The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a NCSS line count of 99. 3 241414
CyclomaticComplexity The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has a cyclomatic complexity of 34. 3 241414
ExcessiveMethodLength Avoid really long methods. 3 241414
NPathComplexity The method 'getSearchResultModel(HttpServletRequest, SolrSearchAppConf)' has an NPath complexity of 3225600 3 241414
AvoidReassigningParameters Avoid reassigning parameters such as 'conf' 2 241
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 275282
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

fr/paris/lutece/plugins/search/solr/web/SolrSuggestServlet.java

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