Fork me on GitHub

Résultats PMD

Le document suivant contient les résultats de PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/document/business/attributes/MapProviderManager.java

Rule Violation Ligne
ClassNamingConventions The utility class name 'MapProviderManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 53–100

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationHome.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 46–187

fr/paris/lutece/plugins/document/service/AttributeService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 48–115

fr/paris/lutece/plugins/document/service/DocumentService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 94–814

fr/paris/lutece/plugins/document/service/DocumentTools.java

Rule Violation Ligne
ClassNamingConventions The utility class name 'DocumentTools' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 47–111

fr/paris/lutece/plugins/document/service/DocumentTypeService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 45–111

fr/paris/lutece/plugins/document/service/attributes/DefaultManager.java

Rule Violation Ligne
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 343–346
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 378–381

fr/paris/lutece/plugins/document/service/attributes/DocumentAttributesService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 46–121

fr/paris/lutece/plugins/document/service/docsearch/DocSearchItem.java

Rule Violation Ligne
ConstructorCallsOverridableMethod Overridable method 'setId' called during object construction 65
ConstructorCallsOverridableMethod Overridable method 'setTitle' called during object construction 66
ConstructorCallsOverridableMethod Overridable method 'setSummary' called during object construction 67
ConstructorCallsOverridableMethod Overridable method 'setDate' called during object construction 68
ConstructorCallsOverridableMethod Overridable method 'setType' called during object construction 69

fr/paris/lutece/plugins/document/service/docsearch/DocSearchService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 94–624

fr/paris/lutece/plugins/document/service/history/DocumentHistoryService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 49–128

fr/paris/lutece/plugins/document/service/publishing/PublishingService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 63–462

fr/paris/lutece/plugins/document/service/rules/RuleEngine.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 48–93

fr/paris/lutece/plugins/document/service/spaces/DocumentSpacesService.java

Rule Violation Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 71–650
LocalVariableNamingConventions The local variable name '_template' doesn't match '[a-z][a-zA-Z0-9]*' 563

fr/paris/lutece/plugins/document/web/DocumentResourceServlet.java

Rule Violation Ligne
FieldNamingConventions The constant name '_cache' doesn't match '[A-Z][A-Z_0-9]*' 75

fr/paris/lutece/plugins/document/web/publishing/DocumentPublishingJspBean.java

Rule Violation Ligne
FieldNamingConventions The constant name 'MARk_DOCUMENT_LIST_PORTLET_LIST' doesn't match '[A-Z][A-Z_0-9]*' 147

fr/paris/lutece/plugins/document/web/rules/DocumentRulesJspBean.java

Rule Violation Ligne
FieldNamingConventions The field name '_StrRuleAttributeSelected' doesn't match '_[a-z][a-zA-Z0-9]*' 92

Priority 2

fr/paris/lutece/plugins/document/service/DocumentContentService.java

Rule Violation Ligne
GuardLogStatement Logger calls should be surrounded by log level guards. 202–203
GuardLogStatement Logger calls should be surrounded by log level guards. 219
GuardLogStatement Logger calls should be surrounded by log level guards. 225
AvoidReassigningParameters Avoid reassigning parameters such as 'strPortletId' 264
ProperCloneImplementation Object clone() should be implemented with super.clone() 765

fr/paris/lutece/plugins/document/service/attributes/DefaultManager.java

Rule Violation Ligne
AvoidReassigningParameters Avoid reassigning parameters such as 'model' 211
AvoidReassigningParameters Avoid reassigning parameters such as 'model' 249

Priority 3

fr/paris/lutece/plugins/document/business/Document.java

Rule Violation Ligne
ExcessivePublicCount This class has a bunch of public methods and attributes 34–905
GodClass Possible God Class (WMC=73, ATFD=8, TCC=2.191%) 61–905
TooManyFields Too many fields 61–905
UnusedPrivateField Avoid unused private fields such as 'CONSTANT_QUESTION_MARK'. 79
UnusedPrivateField Avoid unused private fields such as 'CONSTANT_EQUALS'. 80
ConfusingTernary Avoid if (x != y) ..; else ..; 203
ConfusingTernary Avoid if (x != y) ..; else ..; 329
ConfusingTernary Avoid if (x != y) ..; else ..; 695–703
ShortVariable Avoid variables with short names like gc 794
LogicInversion Use opposite operator instead of the logic complement operator. 835

fr/paris/lutece/plugins/document/business/DocumentDAO.java

Rule Violation Ligne
GodClass Possible God Class (WMC=90, ATFD=309, TCC=0.403%) 51–1268
CyclomaticComplexity The class 'DocumentDAO' has a total cyclomatic complexity of 90 (highest 15). 51–1268
ExcessiveClassLength Avoid really long classes. 51–1268
TooManyMethods This class has too many methods, consider refactoring it. 52–1268
AvoidDuplicateLiterals The String literal " a.date_modification, a.xml_working_content, a.xml_validated_content, a.id_space , b.document_space_name , " appears 4 times in this file; the first occurrence is on line 56 56
UnusedPrivateField Avoid unused private fields such as 'SQL_QUERY_SELECT_PRIMARY_KEY_BY_FILTER'. 74
AvoidDuplicateLiterals The String literal " INNER JOIN document_type d ON a.code_document_type = d.code_document_type " appears 5 times in this file; the first occurrence is on line 76 76
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 157–174
MissingOverride The method 'insert(Document)' is missing an @Override annotation. 182–210
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 182–210
MissingOverride The method 'load(int)' is missing an @Override annotation. 271–274
MissingOverride The method 'loadWithoutBinaries(int)' is missing an @Override annotation. 283–286
MissingOverride The method 'loadFromSpaceId(int)' is missing an @Override annotation. 364–395
MissingOverride The method 'loadAttributes(Document)' is missing an @Override annotation. 403–447
MissingOverride The method 'loadAttributesWithoutBinaries(Document, boolean)' is missing an @Override annotation. 457–501
MissingOverride The method 'delete(int)' is missing an @Override annotation. 509–524
MissingOverride The method 'validateAttributes(int)' is missing an @Override annotation. 566–577
MissingOverride The method 'store(Document, boolean)' is missing an @Override annotation. 603–638
MissingOverride The method 'selectPrimaryKeysByFilter(DocumentFilter)' is missing an @Override annotation. 647–662
MissingOverride The method 'selectByFilter(DocumentFilter)' is missing an @Override annotation. 671–721
NPathComplexity The method 'prepareStatement(DocumentFilter, DAOUtil)' has an NPath complexity of 480 727–784
CyclomaticComplexity The method 'prepareStatement(DocumentFilter, DAOUtil)' has a cyclomatic complexity of 13. 727–784
CyclomaticComplexity The method 'buildQueryFromFilter(DocumentFilter)' has a cyclomatic complexity of 15. 792–864
NPathComplexity The method 'buildQueryFromFilter(DocumentFilter)' has an NPath complexity of 1920 792–864
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 859
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 861
MissingOverride The method 'selectByRelatedCategories(Document)' is missing an @Override annotation. 873–924
MissingOverride The method 'loadResource(int)' is missing an @Override annotation. 933–951
MissingOverride The method 'loadSpecificResource(int, int, boolean)' is missing an @Override annotation. 964–983
MissingOverride The method 'selectAllPrimaryKeys()' is missing an @Override annotation. 990–1005
MissingOverride The method 'selectAll()' is missing an @Override annotation. 1013–1053
MissingOverride The method 'getPageTemplateDocumentPath(int)' is missing an @Override annotation. 1062–1076
MissingOverride The method 'loadLastModifiedAttributes(int)' is missing an @Override annotation. 1161–1178
MissingOverride The method 'loadLastModifiedDocumentFromUser(String)' is missing an @Override annotation. 1187–1224
MissingOverride The method 'loadLastPublishedDocument()' is missing an @Override annotation. 1231–1267

fr/paris/lutece/plugins/document/business/DocumentFilter.java

Rule Violation Ligne
MethodReturnsInternalArray Returning '_arrayCategoriesId' may expose an internal array. 155
ArrayIsStoredDirectly The user-supplied array 'arrayCategoriesId' is stored directly. 162
MethodReturnsInternalArray Returning '_arrayId' may expose an internal array. 192
ArrayIsStoredDirectly The user-supplied array 'arrayId' is stored directly. 199

fr/paris/lutece/plugins/document/business/DocumentHome.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 49–349

fr/paris/lutece/plugins/document/business/DocumentPageTemplateDAO.java

Rule Violation Ligne
DefaultPackage Use explicit scoping instead of the default package private level 63–81
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 63–81
MissingOverride The method 'insert(DocumentPageTemplate)' is missing an @Override annotation. 89–103
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 89–103
MissingOverride The method 'load(int)' is missing an @Override annotation. 112–133
MissingOverride The method 'delete(int)' is missing an @Override annotation. 141–148
MissingOverride The method 'store(DocumentPageTemplate)' is missing an @Override annotation. 156–170
MissingOverride The method 'selectPageTemplatesList()' is missing an @Override annotation. 177–196

fr/paris/lutece/plugins/document/business/DocumentResource.java

Rule Violation Ligne
MethodReturnsInternalArray Returning '_strContent' may expose an internal array. 53
ArrayIsStoredDirectly The user-supplied array 'strContent' is stored directly. 62

fr/paris/lutece/plugins/document/business/DocumentType.java

Rule Violation Ligne
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 83
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 83
ImmutableField Private field '_listAttributes' could be made final; it is only initialized in the declaration or constructor. 83
MethodReturnsInternalArray Returning '_baAdminXsl' may expose an internal array. 179
ArrayIsStoredDirectly The user-supplied array 'baXsl' is stored directly. 188
MethodReturnsInternalArray Returning '_baContentServiceXsl' may expose an internal array. 200
ArrayIsStoredDirectly The user-supplied array 'baXsl' is stored directly. 209
ConfusingTernary Avoid if (x != y) ..; else ..; 263
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 282–285
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 292–295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 304
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 304
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 319
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 319
ConfusingTernary Avoid if (x != y) ..; else ..; 336–344

fr/paris/lutece/plugins/document/business/DocumentTypeDAO.java

Rule Violation Ligne
MissingOverride The method 'insert(DocumentType)' is missing an @Override annotation. 65–78
MissingOverride The method 'load(String)' is missing an @Override annotation. 87–111
MissingOverride The method 'delete(String)' is missing an @Override annotation. 119–127
MissingOverride The method 'store(DocumentType)' is missing an @Override annotation. 135–149
MissingOverride The method 'selectDocumentTypeList()' is missing an @Override annotation. 156–177
MissingOverride The method 'getDocumentTypeList()' is missing an @Override annotation. 184–200
MissingOverride The method 'checkDocuments(String)' is missing an @Override annotation. 208–219
MissingOverride The method 'reorderAttributes(int, int, int, int)' is missing an @Override annotation. 232–243
MissingOverride The method 'setAdminStyleSheet(byte, String)' is missing an @Override annotation. 253–262
MissingOverride The method 'setContentStyleSheet(byte, String)' is missing an @Override annotation. 272–281

fr/paris/lutece/plugins/document/business/IDocumentDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 43–225

fr/paris/lutece/plugins/document/business/IndexerActionDAO.java

Rule Violation Ligne
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 63–79
CommentRequired Public method and constructor comments are required 63–79
MissingOverride The method 'insert(IndexerAction)' is missing an @Override annotation. 86–98
CommentRequired Public method and constructor comments are required 86–98
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 86–98
MissingOverride The method 'load(int)' is missing an @Override annotation. 105–123
CommentRequired Public method and constructor comments are required 105–123
CommentRequired Public method and constructor comments are required 130–137
MissingOverride The method 'delete(int)' is missing an @Override annotation. 130–137
CommentRequired Public method and constructor comments are required 144–150
MissingOverride The method 'deleteAll()' is missing an @Override annotation. 144–150
MissingOverride The method 'store(IndexerAction)' is missing an @Override annotation. 157–169
CommentRequired Public method and constructor comments are required 157–169
MissingOverride The method 'selectList(IndexerActionFilter)' is missing an @Override annotation. 176–213
CommentRequired Public method and constructor comments are required 176–213
AssignmentInOperand Avoid assignments in operands 235
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 235

fr/paris/lutece/plugins/document/business/attributes/AttributeType.java

Rule Violation Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 90–93

fr/paris/lutece/plugins/document/business/attributes/AttributeTypeDAO.java

Rule Violation Ligne
MissingOverride The method 'insert(AttributeType)' is missing an @Override annotation. 64–75
MissingOverride The method 'load(int)' is missing an @Override annotation. 84–102
MissingOverride The method 'delete(AttributeType)' is missing an @Override annotation. 110–118
MissingOverride The method 'store(AttributeType)' is missing an @Override annotation. 126–138
MissingOverride The method 'selectDocumentAttributeTypeList()' is missing an @Override annotation. 145–164
MissingOverride The method 'selectAttributeTypeList(Locale)' is missing an @Override annotation. 173–190
MissingOverride The method 'getAttributeManagersList()' is missing an @Override annotation. 200–213
MissingOverride The method 'selectAttributeTypeParameterList(String)' is missing an @Override annotation. 225–255
PositionLiteralsFirstInComparisons Position literals first in String comparisons 243

fr/paris/lutece/plugins/document/business/attributes/AttributeTypeParameter.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 52
ImmutableField Private field '_listDefaultValue' could be made final; it is only initialized in the declaration or constructor. 52
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 53
ImmutableField Private field '_listValues' could be made final; it is only initialized in the declaration or constructor. 53
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 82–85
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 158
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 191

fr/paris/lutece/plugins/document/business/attributes/DocumentAttribute.java

Rule Violation Ligne
ArrayIsStoredDirectly The user-supplied array 'bytes' is stored directly. 318
MethodReturnsInternalArray Returning '_bytes' may expose an internal array. 330

fr/paris/lutece/plugins/document/business/attributes/DocumentAttributeDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 47–454
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 103–122
MissingOverride The method 'insert(DocumentAttribute)' is missing an @Override annotation. 103–122
MissingOverride The method 'load(int)' is missing an @Override annotation. 131–154
MissingOverride The method 'delete(int)' is missing an @Override annotation. 162–172
MissingOverride The method 'store(DocumentAttribute)' is missing an @Override annotation. 215–235
MissingOverride The method 'selectAttributesByDocumentType(DocumentType)' is missing an @Override annotation. 243–269
MissingOverride The method 'selectAllAttributesOfDocumentType(String)' is missing an @Override annotation. 278–302
ShortVariable Avoid variables with short names like i 311
MissingOverride The method 'selectAttributeParametersValues(int)' is missing an @Override annotation. 335–352
MissingOverride The method 'getAttributeParameterValues(int, String)' is missing an @Override annotation. 363–378
MissingOverride The method 'insertRegularExpression(int, int)' is missing an @Override annotation. 388–396
MissingOverride The method 'deleteRegularExpression(int, int)' is missing an @Override annotation. 406–414
MissingOverride The method 'selectListRegularExpressionKeyByIdAttribute(int)' is missing an @Override annotation. 438–453

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublication.java

Rule Violation Ligne
NonThreadSafeSingleton Singleton is not thread safe 54–58

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationDAO.java

Rule Violation Ligne
MissingOverride The method 'delete(int, int)' is missing an @Override annotation. 67–75
MissingOverride The method 'deleteAllSpaces(int)' is missing an @Override annotation. 83–90
MissingOverride The method 'insert(DocumentAutoPublication)' is missing an @Override annotation. 98–107
MissingOverride The method 'load(int, int)' is missing an @Override annotation. 118–136
MissingOverride The method 'load()' is missing an @Override annotation. 143–159
MissingOverride The method 'selectByPortletId(int)' is missing an @Override annotation. 168–185
MissingOverride The method 'selectBySpaceId(int)' is missing an @Override annotation. 194–211
MissingOverride The method 'store(DocumentAutoPublication)' is missing an @Override annotation. 219–229

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationDocumentSpaceRemovalListener.java

Rule Violation Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 57–77
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 88–92

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationHome.java

Rule Violation Ligne
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 163–166
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 180–183

fr/paris/lutece/plugins/document/business/category/Category.java

Rule Violation Ligne
MethodReturnsInternalArray Returning '_byteIconContent' may expose an internal array. 57
ArrayIsStoredDirectly The user-supplied array 'byteIconContent' is stored directly. 64
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 141–144

fr/paris/lutece/plugins/document/business/category/CategoryDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 46–358
MissingOverride The method 'selectAll()' is missing an @Override annotation. 71–95
MissingOverride The method 'insert(Category)' is missing an @Override annotation. 103–117
MissingOverride The method 'load(int)' is missing an @Override annotation. 146–169
MissingOverride The method 'delete(int)' is missing an @Override annotation. 177–185
MissingOverride The method 'store(Category)' is missing an @Override annotation. 193–207
MissingOverride The method 'selectByName(String)' is missing an @Override annotation. 216–241
ShortVariable Avoid variables with short names like i 284
MissingOverride The method 'selectCountIdDocuments(int)' is missing an @Override annotation. 317–331
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 340–357

fr/paris/lutece/plugins/document/business/category/CategoryHome.java

Rule Violation Ligne
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'categoryList' 65

fr/paris/lutece/plugins/document/business/history/HistoryEvent.java

Rule Violation Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 192–195

fr/paris/lutece/plugins/document/business/history/HistoryEventDAO.java

Rule Violation Ligne
MissingOverride The method 'insert(HistoryEvent)' is missing an @Override annotation. 59–72
MissingOverride The method 'delete(int)' is missing an @Override annotation. 80–88
MissingOverride The method 'selectEventListByDocument(int)' is missing an @Override annotation. 97–119
MissingOverride The method 'selectEventListByUser(String)' is missing an @Override annotation. 128–150

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortlet.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 63–66
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 75–93
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'str' 92
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 102–105
MissingOverride The method 'remove()' is missing an @Override annotation. 118–121
MethodReturnsInternalArray Returning '_nArrayIdCategory' may expose an internal array. 170
ArrayIsStoredDirectly The user-supplied array 'arrayIdCategory' is stored directly. 177

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortletDAO.java

Rule Violation Ligne
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 78–90
ShortVariable Avoid variables with short names like p 80
ShortVariable Avoid variables with short names like p 100
MissingOverride The method 'delete(int)' is missing an @Override annotation. 123–139
MissingOverride The method 'load(int)' is missing an @Override annotation. 178–196
ShortVariable Avoid variables with short names like i 219
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 236–249
ShortVariable Avoid variables with short names like p 238
MissingOverride The method 'selectByDocumentIdAndDocumentType(int, String, PortletOrder, PortletFilter)' is missing an @Override annotation. 262–317
CyclomaticComplexity The method 'selectByDocumentIdAndDocumentType(int, String, PortletOrder, PortletFilter)' has a cyclomatic complexity of 10. 262–317
ConfusingTernary Avoid if (x != y) ..; else ..; 268
MissingOverride The method 'checkIsAliasPortlet(int)' is missing an @Override annotation. 326–340

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortletHome.java

Rule Violation Ligne
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 55
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 55
CallSuperInConstructor It is a good practice to call super() in a constructor 60–66
NonThreadSafeSingleton Singleton is not thread safe 75–78
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 88–94
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 93
MissingOverride The method 'getDAO()' is missing an @Override annotation. 101–104

fr/paris/lutece/plugins/document/business/portlet/DocumentPortlet.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 67–70
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 79–96
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'str' 95
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 105–108
MissingOverride The method 'remove()' is missing an @Override annotation. 121–124
MethodReturnsInternalArray Returning '_nArrayIdCategory' may expose an internal array. 173
ArrayIsStoredDirectly The user-supplied array 'arrayIdCategory' is stored directly. 180

fr/paris/lutece/plugins/document/business/portlet/DocumentPortletDAO.java

Rule Violation Ligne
CommentRequired Header comments are required 45–354
TooManyMethods This class has too many methods, consider refactoring it. 46–354
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 77–89
ShortVariable Avoid variables with short names like p 79
ShortVariable Avoid variables with short names like p 99
MissingOverride The method 'delete(int)' is missing an @Override annotation. 122–136
MissingOverride The method 'load(int)' is missing an @Override annotation. 175–192
ShortVariable Avoid variables with short names like i 214
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 230–243
ShortVariable Avoid variables with short names like p 232
MissingOverride The method 'selectByDocumentOdAndDocumentType(int, String, PortletOrder, PortletFilter)' is missing an @Override annotation. 256–310
CyclomaticComplexity The method 'selectByDocumentOdAndDocumentType(int, String, PortletOrder, PortletFilter)' has a cyclomatic complexity of 10. 256–310
ConfusingTernary Avoid if (x != y) ..; else ..; 262
MissingOverride The method 'checkIsAliasPortlet(int)' is missing an @Override annotation. 319–333
MissingOverride The method 'selectPortletsByDocumentId(int)' is missing an @Override annotation. 339–353

fr/paris/lutece/plugins/document/business/portlet/DocumentPortletHome.java

Rule Violation Ligne
CommentRequired Header comments are required 45–147
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 53
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 53
CallSuperInConstructor It is a good practice to call super() in a constructor 58–64
NonThreadSafeSingleton Singleton is not thread safe 73–76
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 86–92
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 91
MissingOverride The method 'getDAO()' is missing an @Override annotation. 99–102

fr/paris/lutece/plugins/document/business/portlet/IDocumentListPortletDAO.java

Rule Violation Ligne
MissingOverride The method 'delete(int)' is missing an @Override annotation. 62
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 71
MissingOverride The method 'load(int)' is missing an @Override annotation. 81
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 105

fr/paris/lutece/plugins/document/business/portlet/PortletFilter.java

Rule Violation Ligne
ArrayIsStoredDirectly The user-supplied array 'strPageTitle' is stored directly. 68
MethodReturnsInternalArray Returning '_tabPageName' may expose an internal array. 80
ArrayIsStoredDirectly The user-supplied array 'strPortletTitle' is stored directly. 89
MethodReturnsInternalArray Returning '_tabPortletName' may expose an internal array. 101
CyclomaticComplexity The method 'getSQLFilter()' has a cyclomatic complexity of 13. 172–221

fr/paris/lutece/plugins/document/business/publication/DocumentPublicationDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 48–393
MissingOverride The method 'insert(DocumentPublication)' is missing an @Override annotation. 69–81
MissingOverride The method 'store(DocumentPublication)' is missing an @Override annotation. 89–101
MissingOverride The method 'delete(int, int)' is missing an @Override annotation. 111–119
MissingOverride The method 'deleteFromPortletId(int)' is missing an @Override annotation. 127–134
MissingOverride The method 'deleteFromDocumentId(int)' is missing an @Override annotation. 142–149
MissingOverride The method 'select(int, int)' is missing an @Override annotation. 163–183
MissingOverride The method 'selectByPortletId(int)' is missing an @Override annotation. 192–212
MissingOverride The method 'selectByDocumentId(int)' is missing an @Override annotation. 221–241
MissingOverride The method 'selectByPortletIdAndStatus(int, int)' is missing an @Override annotation. 252–273
MissingOverride The method 'selectByDocumentIdAndStatus(int, int)' is missing an @Override annotation. 284–305
MissingOverride The method 'selectSinceDatePublishingAndStatus(Date, int)' is missing an @Override annotation. 316–337
MissingOverride The method 'selectMaxDocumentOrder(int)' is missing an @Override annotation. 346–360
MissingOverride The method 'selectDocumentIdByOrder(int, int)' is missing an @Override annotation. 371–392
ConfusingTernary Avoid if (x != y) ..; else ..; 381–389

fr/paris/lutece/plugins/document/business/publication/DocumentPublicationHome.java

Rule Violation Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 46–205
TooManyMethods This class has too many methods, consider refactoring it. 46–205

fr/paris/lutece/plugins/document/business/publication/IDocumentPublicationDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 45–169

fr/paris/lutece/plugins/document/business/rules/AbstractRule.java

Rule Violation Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 54
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 54
ImmutableField Private field '_mapAttributes' could be made final; it is only initialized in the declaration or constructor. 54
MissingOverride The method 'getId()' is missing an @Override annotation. 63–66
MissingOverride The method 'setId(int)' is missing an @Override annotation. 74–77
MissingOverride The method 'getRuleTypeId()' is missing an @Override annotation. 84–87
MissingOverride The method 'setRuleTypeId(String)' is missing an @Override annotation. 95–98
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 106–109
MissingOverride The method 'setAttribute(String, String)' is missing an @Override annotation. 129–132
MissingOverride The method 'getAttribute(String)' is missing an @Override annotation. 141–144
MissingOverride The method 'readAttributes(HttpServletRequest)' is missing an @Override annotation. 152–168
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 159–167
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 174
MissingOverride The method 'getUser()' is missing an @Override annotation. 181–184
MissingOverride The method 'setUser(AdminUser)' is missing an @Override annotation. 193–196

fr/paris/lutece/plugins/document/business/rules/RuleDAO.java

Rule Violation Ligne
MissingOverride The method 'insert(Rule)' is missing an @Override annotation. 86–98
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 86–98
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 110–121
MissingOverride The method 'load(int, IRuleTypesSet)' is missing an @Override annotation. 133–151
MissingOverride The method 'delete(int)' is missing an @Override annotation. 179–189
MissingOverride The method 'store(Rule)' is missing an @Override annotation. 214–219
MissingOverride The method 'selectRuleList(IRuleTypesSet)' is missing an @Override annotation. 228–243
MissingOverride The method 'selectRuleListByRuleTypeKey(String, IRuleTypesSet)' is missing an @Override annotation. 254–273

fr/paris/lutece/plugins/document/business/rules/RuleTypesSet.java

Rule Violation Ligne
MissingOverride The method 'setRuleTypesMap(Map)' is missing an @Override annotation. 57–60
MissingOverride The method 'newInstance(String)' is missing an @Override annotation. 69–88
IdenticalCatchBranches 'catch' branch identical to 'InstantiationException' branch 82–85
MissingOverride The method 'getRuleTypeKey(Rule)' is missing an @Override annotation. 95–121
IdenticalCatchBranches 'catch' branch identical to 'InstantiationException' branch 114–117
MissingOverride The method 'getRuleTypesList(Locale)' is missing an @Override annotation. 128–139
MissingOverride The method 'getRuleTypes()' is missing an @Override annotation. 146–149

fr/paris/lutece/plugins/document/business/spaces/DocumentSpace.java

Rule Violation Ligne
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 56
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 56
ImmutableField Private field '_listDocumentType' could be made final; it is only initialized in the declaration or constructor. 56
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 275–278
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 285–288
AddEmptyString Do not add empty strings 287
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 294–297

fr/paris/lutece/plugins/document/business/spaces/DocumentSpaceDAO.java

Rule Violation Ligne
TooManyMethods This class has too many methods, consider refactoring it. 48–480
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 106–123
MissingOverride The method 'insert(DocumentSpace)' is missing an @Override annotation. 106–123
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 135–144
MissingOverride The method 'load(int)' is missing an @Override annotation. 154–182
MissingOverride The method 'delete(int)' is missing an @Override annotation. 210–218
MissingOverride The method 'store(DocumentSpace)' is missing an @Override annotation. 242–260
MissingOverride The method 'selectChilds(int, String)' is missing an @Override annotation. 271–295
ConfusingTernary Avoid if (x != y) ..; else ..; 308–318
MissingOverride The method 'selectSpacesAllowingDocumentCreationByDocumentType(String, int)' is missing an @Override annotation. 329–356
MissingOverride The method 'getDocumentSpaceList()' is missing an @Override annotation. 363–380
MissingOverride The method 'getViewTypeList(Locale)' is missing an @Override annotation. 389–404
MissingOverride The method 'getIconsList()' is missing an @Override annotation. 411–426
MissingOverride The method 'selectAll()' is missing an @Override annotation. 433–456
MissingOverride The method 'getAllowedDocumentTypes(int)' is missing an @Override annotation. 465–479

fr/paris/lutece/plugins/document/business/spaces/SpaceAction.java

Rule Violation Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 61–64
MissingOverride The method 'getPermission()' is missing an @Override annotation. 175–178

fr/paris/lutece/plugins/document/business/spaces/SpaceActionDAO.java

Rule Violation Ligne
MissingOverride The method 'selectActions()' is missing an @Override annotation. 54–74
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 56

fr/paris/lutece/plugins/document/business/workflow/DocumentAction.java

Rule Violation Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 112–115
MissingOverride The method 'getPermission()' is missing an @Override annotation. 226–229

fr/paris/lutece/plugins/document/business/workflow/DocumentActionDAO.java

Rule Violation Ligne
MissingOverride The method 'load(int)' is missing an @Override annotation. 59–88
MissingOverride The method 'selectActions(Document)' is missing an @Override annotation. 97–119

fr/paris/lutece/plugins/document/business/workflow/DocumentStateDAO.java

Rule Violation Ligne
MissingOverride The method 'load(int)' is missing an @Override annotation. 57–74
MissingOverride The method 'selectDocumentStatesList(Locale)' is missing an @Override annotation. 83–100

fr/paris/lutece/plugins/document/business/workflow/DocumentStateHome.java

Rule Violation Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 45–72

fr/paris/lutece/plugins/document/modules/metadatadublincore/DublinCoreMetadataHandler.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 81
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 81
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 99
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 99

fr/paris/lutece/plugins/document/modules/metadatadublincore/business/DublinCoreMetadata.java

Rule Violation Ligne
CyclomaticComplexity The class 'DublinCoreMetadata' has a total cyclomatic complexity of 82 (highest 31). 55–506
CyclomaticComplexity The constructor 'DublinCoreMetadata()' has a cyclomatic complexity of 16. 94–111
NPathComplexity The constructor 'DublinCoreMetadata()' has an NPath complexity of 32768 94–111
ConfusingTernary Avoid if (x != y) ..; else ..; 96
ConfusingTernary Avoid if (x != y) ..; else ..; 97
ConfusingTernary Avoid if (x != y) ..; else ..; 98
ConfusingTernary Avoid if (x != y) ..; else ..; 99
ConfusingTernary Avoid if (x != y) ..; else ..; 100
ConfusingTernary Avoid if (x != y) ..; else ..; 101
ConfusingTernary Avoid if (x != y) ..; else ..; 102
ConfusingTernary Avoid if (x != y) ..; else ..; 103
ConfusingTernary Avoid if (x != y) ..; else ..; 104
ConfusingTernary Avoid if (x != y) ..; else ..; 105
ConfusingTernary Avoid if (x != y) ..; else ..; 106
ConfusingTernary Avoid if (x != y) ..; else ..; 107
ConfusingTernary Avoid if (x != y) ..; else ..; 108
ConfusingTernary Avoid if (x != y) ..; else ..; 109
ConfusingTernary Avoid if (x != y) ..; else ..; 110
NPathComplexity The method 'getXml()' has an NPath complexity of 14348907 387–470
CyclomaticComplexity The method 'getXml()' has a cyclomatic complexity of 31. 387–470
ShortVariable Avoid variables with short names like sr 489
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 497–500
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 501–504

fr/paris/lutece/plugins/document/modules/rulemovespace/business/MoveSpaceRule.java

Rule Violation Ligne
MissingOverride The method 'init()' is missing an @Override annotation. 87–95
MissingOverride The method 'getNameKey()' is missing an @Override annotation. 101–104
MissingOverride The method 'apply(DocumentEvent)' is missing an @Override annotation. 111–133
CollapsibleIfStatements These nested if statements could be combined 121–125
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 128
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 131
MissingOverride The method 'getCreateForm(AdminUser, Locale)' is missing an @Override annotation. 141–196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 143
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 143
MissingOverride The method 'isAuthorized(AdminUser)' is missing an @Override annotation. 203–219
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 206
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 213–216
MissingOverride The method 'validateRule()' is missing an @Override annotation. 226–250
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 229
MissingOverride The method 'getAttributesList()' is missing an @Override annotation. 256–259
MethodReturnsInternalArray Returning '_attributes' may expose an internal array. 258
MissingOverride The method 'getRule()' is missing an @Override annotation. 265–285
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 315
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 12. 315–346

fr/paris/lutece/plugins/document/modules/rulemovespace/business/MoveSpaceSpaceRemovalListener.java

Rule Violation Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–88
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 96–100
ShortVariable Avoid variables with short names like id 96

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersMailingListRemovalListener.java

Rule Violation Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–87
ShortVariable Avoid variables with short names like id 95
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 95–99

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersRule.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–474
MissingOverride The method 'init()' is missing an @Override annotation. 127–141
MissingOverride The method 'getNameKey()' is missing an @Override annotation. 147–150
MissingOverride The method 'apply(DocumentEvent)' is missing an @Override annotation. 157–203
CollapsibleIfStatements These nested if statements could be combined 169–196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 176
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 176
ShortVariable Avoid variables with short names like t 185
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 199
MissingOverride The method 'getCreateForm(AdminUser, Locale)' is missing an @Override annotation. 211–263
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 213
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 213
MissingOverride The method 'validateRule()' is missing an @Override annotation. 270–286
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 272
MissingOverride The method 'isAuthorized(AdminUser)' is missing an @Override annotation. 293–303
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 297–300
MissingOverride The method 'getAttributesList()' is missing an @Override annotation. 309–312
MethodReturnsInternalArray Returning '_attributes' may expose an internal array. 311
MissingOverride The method 'getRule()' is missing an @Override annotation. 318–350
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 15. 439–473
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 439

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersSpaceRemovalListener.java

Rule Violation Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–86
ShortVariable Avoid variables with short names like id 94
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 94–98

fr/paris/lutece/plugins/document/service/AttributeService.java

Rule Violation Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 51
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 51
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 62–71
IdenticalCatchBranches 'catch' branch identical to 'IllegalAccessException' branch 95–98
IdenticalCatchBranches 'catch' branch identical to 'IllegalAccessException' branch 99–102

fr/paris/lutece/plugins/document/service/DocumentContentService.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–788
GodClass Possible God Class (WMC=71, ATFD=89, TCC=12.281%) 102–788
TooManyMethods This class has too many methods, consider refactoring it. 103–788
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 148
MissingOverride The method 'getPage(HttpServletRequest, int)' is missing an @Override annotation. 170–229
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 240
CyclomaticComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has a cyclomatic complexity of 18. 264–412
ExcessiveMethodLength Avoid really long methods. 264–412
NPathComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has an NPath complexity of 3900 264–412
NcssCount The method 'buildPage(HttpServletRequest, String, String, String, int)' has a NCSS line count of 73. 264–412
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 269
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 270
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 270
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 270
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 293
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 338
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 363
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 363
MissingOverride The method 'isInvoked(HttpServletRequest)' is missing an @Override annotation. 421–433
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 426–430
MissingOverride The method 'getName()' is missing an @Override annotation. 440–443
ConfusingTernary Avoid if (x != y) ..; else ..; 452–461
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPageTemplateDocument' 456
CyclomaticComplexity The method 'getPortlet(HttpServletRequest, String, int)' has a cyclomatic complexity of 12. 476–599
NPathComplexity The method 'getPortlet(HttpServletRequest, String, int)' has an NPath complexity of 273 476–599
ExcessiveMethodLength Avoid really long methods. 476–599
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 483
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 499
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 510
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 510
ConfusingTernary Avoid if (x != y) ..; else ..; 522–530
ConfusingTernary Avoid if (x != y) ..; else ..; 541–542
CyclomaticComplexity The method 'getRelatedDocumentsPortlet(HttpServletRequest, Document, int, int)' has a cyclomatic complexity of 10. 611–656
UnusedFormalParameter Avoid unused method parameters such as 'nPortletId'. 611
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 616
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 619
MissingOverride The method 'dispose()' is missing an @Override annotation. 661–663
UncommentedEmptyMethodBody Document empty method body 662–663
MissingOverride The method 'notifyElementEvicted(Ehcache, Element)' is missing an @Override annotation. 669–672
MissingOverride The method 'notifyElementExpired(Ehcache, Element)' is missing an @Override annotation. 678–681
MissingOverride The method 'notifyElementPut(Ehcache, Element)' is missing an @Override annotation. 687–690
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 688
UncommentedEmptyMethodBody Document empty method body 689–690
MissingOverride The method 'notifyElementRemoved(Ehcache, Element)' is missing an @Override annotation. 696–700
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 697
MissingOverride The method 'notifyElementUpdated(Ehcache, Element)' is missing an @Override annotation. 706–709
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 707
UncommentedEmptyMethodBody Document empty method body 708–709
MissingOverride The method 'notifyRemoveAll(Ehcache)' is missing an @Override annotation. 714–717
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 765–768

fr/paris/lutece/plugins/document/service/DocumentEvent.java

Rule Violation Ligne
ImmutableField Private field '_document' could be made final; it is only initialized in the declaration or constructor. 52
ImmutableField Private field '_user' could be made final; it is only initialized in the declaration or constructor. 53
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 54
ImmutableField Private field '_nSpaceId' could be made final; it is only initialized in the declaration or constructor. 55
ImmutableField Private field '_nStateId' could be made final; it is only initialized in the declaration or constructor. 56

fr/paris/lutece/plugins/document/service/DocumentEventListernersManager.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 47
DefaultPackage Use explicit scoping instead of the default package private level 72–78
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the notifyListeners method if you want a default access modifier 72–78

fr/paris/lutece/plugins/document/service/DocumentException.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 55–58

fr/paris/lutece/plugins/document/service/DocumentMassActionResourceService.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 61–64
MissingOverride The method 'register()' is missing an @Override annotation. 69–83
ShortVariable Avoid variables with short names like rt 71
ShortVariable Avoid variables with short names like p 77
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 91–96

fr/paris/lutece/plugins/document/service/DocumentPlugin.java

Rule Violation Ligne
MissingOverride The method 'init()' is missing an @Override annotation. 51–58
CommentRequired Public method and constructor comments are required 51–58

fr/paris/lutece/plugins/document/service/DocumentService.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–814
GodClass Possible God Class (WMC=91, ATFD=185, TCC=0.585%) 94–814
CyclomaticComplexity The class 'DocumentService' has a total cyclomatic complexity of 91 (highest 27). 94–814
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 132
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the buildXmlContent method if you want a default access modifier 156–190
DefaultPackage Use explicit scoping instead of the default package private level 156–190
LinguisticNaming Linguistics Antipattern - The getter 'getActions' should not return void linguistically 381–397
LinguisticNaming Linguistics Antipattern - The getter 'getPublishedStatus' should not return void linguistically 403–414
ConfusingTernary Avoid if (x != y) ..; else ..; 479–490
SimplifiedTernary Ternary operators that can be simplified with || or && 531–532
ExcessiveMethodLength Avoid really long methods. 547–673
CyclomaticComplexity The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has a cyclomatic complexity of 25. 547–673
NcssCount The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has a NCSS line count of 65. 547–673
NPathComplexity The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has an NPath complexity of 209952 547–673
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 551
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 552
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 553
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 555
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 557
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 559
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 561
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 562
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 592
CollapsibleIfStatements These nested if statements could be combined 633–637
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 660
LinguisticNaming Linguistics Antipattern - The setter 'setAttribute' should not return any type except void linguistically 684–813
CyclomaticComplexity The method 'setAttribute(DocumentAttribute, Document, MultipartHttpServletRequest, Locale)' has a cyclomatic complexity of 27. 684–813
NPathComplexity The method 'setAttribute(DocumentAttribute, Document, MultipartHttpServletRequest, Locale)' has an NPath complexity of 13023 684–813
ExcessiveMethodLength Avoid really long methods. 684–813
ConfusingTernary Avoid if (x != y) ..; else ..; 694–810

fr/paris/lutece/plugins/document/service/DocumentTools.java

Rule Violation Ligne
ConfusingTernary Avoid if (x != y) ..; else ..; 69
SimplifiedTernary Ternary operators that can be simplified with || or && 69
SimplifiedTernary Ternary operators that can be simplified with || or && 71–72
ConfusingTernary Avoid if (x != y) ..; else ..; 71–72
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 49 characters appended. 73
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 94
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 105
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 106

fr/paris/lutece/plugins/document/service/DocumentTypeResourceIdService.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 103–106
MissingOverride The method 'register()' is missing an @Override annotation. 111–180
ShortVariable Avoid variables with short names like rt 113
ShortVariable Avoid variables with short names like p 119
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 187–190
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 198–203

fr/paris/lutece/plugins/document/service/attributes/DateManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 68–71
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 77–80
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 86–89
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 95–98
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 107–124
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 132–160
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 145
MissingOverride The method 'getAttributeParametersValues(int, Locale)' is missing an @Override annotation. 168–187
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 178
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 180
CyclomaticComplexity The method 'validateDate(String, Locale)' has a cyclomatic complexity of 10. 195–240
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 197
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 198
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 199
ShortVariable Avoid variables with short names like i 199

fr/paris/lutece/plugins/document/service/attributes/DefaultManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateFormHtml(DocumentAttribute, Locale, String)' is missing an @Override annotation. 118–134
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 125
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 125
MissingOverride The method 'getModifyFormHtml(DocumentAttribute, Document, Locale, String)' is missing an @Override annotation. 139–192
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 141
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 141
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 171–180
MissingOverride The method 'getCreateParametersFormHtml(Locale)' is missing an @Override annotation. 197–200
MissingOverride The method 'getCreateParametersFormHtml(List, Locale)' is missing an @Override annotation. 205–208
CommentRequired Public method and constructor comments are required 210–239
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 215
ConfusingTernary Avoid if (x != y) ..; else ..; 225–232
MissingOverride The method 'getModifyParametersFormHtml(Locale, int)' is missing an @Override annotation. 244–247
CommentRequired Public method and constructor comments are required 249–269
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 253
MissingOverride The method 'getExtraParameters(Locale)' is missing an @Override annotation. 274–277
MissingOverride The method 'getExtraParametersValues(Locale, int)' is missing an @Override annotation. 282–293
MissingOverride The method 'setAttributeTypeCode(String)' is missing an @Override annotation. 298–301
MissingOverride The method 'getAttributeTypeCode()' is missing an @Override annotation. 306–309
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 314–338
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 322
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 343–346
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 351–354
MissingOverride The method 'canBeUsedAsThumbnail()' is missing an @Override annotation. 370–373
MissingOverride The method 'getValueParameters(HttpServletRequest, Locale)' is missing an @Override annotation. 378–381
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 391

fr/paris/lutece/plugins/document/service/attributes/DocumentAttributesService.java

Rule Violation Ligne
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listAttributes' 100

fr/paris/lutece/plugins/document/service/attributes/FileManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 62–65
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 71–74
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 80–83
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 89–92
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 101–119

fr/paris/lutece/plugins/document/service/attributes/ImageFileManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 51–54
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 60–63
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 69–72
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 78–81

fr/paris/lutece/plugins/document/service/attributes/InternalLinkManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 61–64
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 70–73
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 79–82
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 90–94

fr/paris/lutece/plugins/document/service/attributes/ListBoxManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 80–83
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 89–92
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 98–101
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 107–110
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 118–129
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 144
CyclomaticComplexity The method 'getValueParameters(HttpServletRequest, Locale)' has a cyclomatic complexity of 14. 178–249
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 190
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 257
CollapsibleIfStatements These nested if statements could be combined 291–298

fr/paris/lutece/plugins/document/service/attributes/MultilineManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 49–52
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 58–61
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 67–70
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 76–79

fr/paris/lutece/plugins/document/service/attributes/NumerictextManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 56–59
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 65–68
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 74–77
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 83–86
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 95–116
ConfusingTernary Avoid if (x != y) ..; else ..; 99–113

fr/paris/lutece/plugins/document/service/attributes/RichTextManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 61–64
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 70–73
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 79–82
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 90–94

fr/paris/lutece/plugins/document/service/attributes/TextManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 59–62
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 68–71
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 77–80
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 86–89
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 97–124

fr/paris/lutece/plugins/document/service/attributes/UrlManager.java

Rule Violation Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 61–64
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 72–76

fr/paris/lutece/plugins/document/service/autoarchiving/AutoArchivingDaemon.java

Rule Violation Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 47–50

fr/paris/lutece/plugins/document/service/autoarchiving/AutoArchivingService.java

Rule Violation Ligne
NonThreadSafeSingleton Singleton is not thread safe 62–65
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 122 characters appended. 85

fr/paris/lutece/plugins/document/service/autopublication/AutoPublicationDaemon.java

Rule Violation Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 47–50

fr/paris/lutece/plugins/document/service/autopublication/AutoPublicationService.java

Rule Violation Ligne
NonThreadSafeSingleton Singleton is not thread safe 68–71
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 125 characters appended. 91
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 133

fr/paris/lutece/plugins/document/service/category/CategoryService.java

Rule Violation Ligne
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the CategoryService constructor if you want a default access modifier 64–67
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 84–87
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 93–96
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 108
ConfusingTernary Avoid if (x != y) ..; else ..; 114–121
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 142
ConfusingTernary Avoid if (x != y) ..; else ..; 148–155
ShortVariable Avoid variables with short names like i 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 200
ConfusingTernary Avoid if (x != y) ..; else ..; 210–217

fr/paris/lutece/plugins/document/service/docsearch/DefaultDocSearchIndexer.java

Rule Violation Ligne
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 78
MissingOverride The method 'getDocuments(Collection)' is missing an @Override annotation. 86–102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 89
ShortVariable Avoid variables with short names like ft 119
IdenticalCatchBranches 'catch' branch identical to 'SAXException' branch 146–149
ShortVariable Avoid variables with short names like sb 153
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 181
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 182
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 182
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 183
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 184
ConfusingTernary Avoid if (x != y) ..; else ..; 190–214
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 193
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 206

fr/paris/lutece/plugins/document/service/docsearch/DocSearchIndexerDaemon.java

Rule Violation Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 50–54

fr/paris/lutece/plugins/document/service/docsearch/DocSearchItem.java

Rule Violation Ligne
ConfusingTernary Avoid if (x != y) ..; else ..; 119
ConfusingTernary Avoid if (x != y) ..; else ..; 139

fr/paris/lutece/plugins/document/service/docsearch/DocSearchService.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–624
GodClass Possible God Class (WMC=61, ATFD=111, TCC=8.333%) 94–624
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 101
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 102
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 103
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 106
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 132
NonThreadSafeSingleton Singleton is not thread safe 144–147
NcssCount The method 'processIndexing(boolean)' has a NCSS line count of 116. 157–360
NPathComplexity The method 'processIndexing(boolean)' has an NPath complexity of 308 157–360
ExcessiveMethodLength Avoid really long methods. 157–360
CyclomaticComplexity The method 'processIndexing(boolean)' has a cyclomatic complexity of 21. 157–360
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 109 characters appended. 159
ConfusingTernary Avoid if (x != y) ..; else ..; 189–328
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 196
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 203
ShortVariable Avoid variables with short names like it 205
AvoidDuplicateLiterals The String literal "\r\n" appears 5 times in this file; the first occurrence is on line 217 217
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 221
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 223
AvoidDuplicateLiterals The String literal "Indexing error : " appears 4 times in this file; the first occurrence is on line 228 228
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 237
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 244
ShortVariable Avoid variables with short names like it 246
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 263
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 265
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 281
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 299
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 318
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 320
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 335
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 371
ShortVariable Avoid variables with short names like ir 373
ShortVariable Avoid variables with short names like si 409
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 413
NPathComplexity The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has an NPath complexity of 4034 430–553
NcssCount The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has a NCSS line count of 68. 430–553
CyclomaticComplexity The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has a cyclomatic complexity of 17. 430–553
ExcessiveMethodLength Avoid really long methods. 430–553
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 433
ShortVariable Avoid variables with short names like ir 435
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 439
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 440
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 441
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 493
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 493
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 494
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 499
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 499
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 500
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 503
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 520
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 547

fr/paris/lutece/plugins/document/service/history/DocumentHistoryService.java

Rule Violation Ligne
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 76–127
ConfusingTernary Avoid if (x != y) ..; else ..; 84
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 123

fr/paris/lutece/plugins/document/service/metadata/MetadataService.java

Rule Violation Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 46–97
ShortVariable Avoid variables with short names like st 67

fr/paris/lutece/plugins/document/service/publishing/PortletInvalider.java

Rule Violation Ligne
MissingOverride The method 'processPublishingEvent(PublishingEvent)' is missing an @Override annotation. 54–58
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 64–74

fr/paris/lutece/plugins/document/service/publishing/PublishingEvent.java

Rule Violation Ligne
ImmutableField Private field '_nDocumentId' could be made final; it is only initialized in the declaration or constructor. 47
ImmutableField Private field '_nPortletId' could be made final; it is only initialized in the declaration or constructor. 48
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 49

fr/paris/lutece/plugins/document/service/publishing/PublishingEventListenersManager.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 47
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the notifyListeners method if you want a default access modifier 70–76
DefaultPackage Use explicit scoping instead of the default package private level 70–76

fr/paris/lutece/plugins/document/service/publishing/PublishingService.java

Rule Violation Ligne
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 66
CyclomaticComplexity The method 'changeDocumentOrder(int, int, int)' has a cyclomatic complexity of 10. 186–229
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 255
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 267
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 303
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 326
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 379
ShortVariable Avoid variables with short names like i 385
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listDocuments' 402
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 415
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 433
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 434

fr/paris/lutece/plugins/document/service/resource/DocumentExtendableResourceService.java

Rule Violation Ligne
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 116

fr/paris/lutece/plugins/document/service/rules/RuleEngine.java

Rule Violation Ligne
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 85–92

fr/paris/lutece/plugins/document/service/search/DocumentIndexer.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–390
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 100
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 134
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 159
ShortVariable Avoid variables with short names like it 162
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 224
ShortVariable Avoid variables with short names like ft 247
IdenticalCatchBranches 'catch' branch identical to 'SAXException' branch 283–286
ConfusingTernary Avoid if (x != y) ..; else ..; 328–355
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 331
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 346
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 360
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 360
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 372

fr/paris/lutece/plugins/document/service/spaces/DocumentSpacesService.java

Rule Violation Ligne
GodClass Possible God Class (WMC=65, ATFD=58, TCC=1.307%) 71–650
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'xslSource' 191
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 216
CyclomaticComplexity The method 'findSpacesByCodeType(StringBuffer, int, AdminUser, String)' has a cyclomatic complexity of 13. 242–327
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 263
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 284–290
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 385
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 386
NPathComplexity The method 'getSpacesBrowser(HttpServletRequest, AdminUser, Locale, boolean, boolean, boolean, String, String)' has an NPath complexity of 4608 458–569
ExcessiveMethodLength Avoid really long methods. 458–569
CyclomaticComplexity The method 'getSpacesBrowser(HttpServletRequest, AdminUser, Locale, boolean, boolean, boolean, String, String)' has a cyclomatic complexity of 15. 458–569
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 471
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 471
ShortVariable Avoid variables with short names like i 476
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 534
ConfusingTernary Avoid if (x != y) ..; else ..; 553–560
ControlStatementBraces This statement should have braces 564
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 593
LinguisticNaming Linguistics Antipattern - The getter 'getSpaceParents' should not return void linguistically 606–619
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 641

fr/paris/lutece/plugins/document/service/spaces/SpaceRemovalListenerService.java

Rule Violation Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 44–55

fr/paris/lutece/plugins/document/service/spaces/SpaceResourceIdService.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 79–82
MissingOverride The method 'register()' is missing an @Override annotation. 87–121
ShortVariable Avoid variables with short names like rt 89
ShortVariable Avoid variables with short names like p 95
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 128–131
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 139–159

fr/paris/lutece/plugins/document/utils/ImageUtils.java

Rule Violation Ligne
ShortVariable Avoid variables with short names like in 73

fr/paris/lutece/plugins/document/web/DocumentContentJspBean.java

Rule Violation Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 101
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 101

fr/paris/lutece/plugins/document/web/DocumentDashboardComponent.java

Rule Violation Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 114
ShortVariable Avoid variables with short names like t 121

fr/paris/lutece/plugins/document/web/DocumentJspBean.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1984
CyclomaticComplexity The class 'DocumentJspBean' has a total cyclomatic complexity of 205 (highest 40). 124–1984
GodClass Possible God Class (WMC=205, ATFD=321, TCC=14.225%) 124–1984
ExcessiveClassLength Avoid really long classes. 124–1984
TooManyMethods This class has too many methods, consider refactoring it. 125–1984
ImmutableField Private field '_nDefaultItemsPerPage' could be made final; it is only initialized in the declaration or constructor. 255
CallSuperInConstructor It is a good practice to call super() in a constructor 263–266
ExcessiveMethodLength Avoid really long methods. 273–398
NcssCount The method 'getManageDocuments(HttpServletRequest)' has a NCSS line count of 70. 273–398
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 275
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 306
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 306
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 341–343
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 345
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 373
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 422
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 422
UnusedFormalParameter Avoid unused method parameters such as 'request'. 464
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 467
UnusedFormalParameter Avoid unused method parameters such as 'request'. 481
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 483
ConfusingTernary Avoid if (x != y) ..; else ..; 504
ConfusingTernary Avoid if (x != y) ..; else ..; 517
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 541
ConfusingTernary Avoid if (x != y) ..; else ..; 631–632
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 633
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 633
ExcessiveMethodLength Avoid really long methods. 1092–1286
NcssCount The method 'doActionSelectionDocument(HttpServletRequest)' has a NCSS line count of 83. 1092–1286
CyclomaticComplexity The method 'doActionSelectionDocument(HttpServletRequest)' has a cyclomatic complexity of 40. 1092–1286
UnusedLocalVariable Avoid unused local variables such as 'nbDocumentsAffected'. 1098
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 1174–1177
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 1213–1218
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 1265–1270
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1410
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1410
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1443
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1443
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1472
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1481
NcssCount The method 'getMassArchivalDocument(HttpServletRequest)' has a NCSS line count of 80. 1525–1680
CyclomaticComplexity The method 'getMassArchivalDocument(HttpServletRequest)' has a cyclomatic complexity of 21. 1525–1680
NPathComplexity The method 'getMassArchivalDocument(HttpServletRequest)' has an NPath complexity of 2720 1525–1680
ExcessiveMethodLength Avoid really long methods. 1525–1680
AvoidDuplicateLiterals The String literal "to_archive" appears 4 times in this file; the first occurrence is on line 1,538 1538
AvoidDuplicateLiterals The String literal "jsp/admin/plugins/document/MassArchivalDocument.jsp" appears 4 times in this file; the first occurrence is on line 1,582 1582
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 1588
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 1589
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1639
AddEmptyString Do not add empty strings 1653
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1665
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1665
ConfusingTernary Avoid if (x != y) ..; else ..; 1710–1717
ConfusingTernary Avoid if (x != y) ..; else ..; 1754–1761
ConfusingTernary Avoid if (x != y) ..; else ..; 1789–1796
ConfusingTernary Avoid if (x != y) ..; else ..; 1825–1833
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1898
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1898
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 1917–1923
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 1950

fr/paris/lutece/plugins/document/web/DocumentLegacyServletRedirectFilter.java

Rule Violation Ligne
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 68–91
ConfusingTernary Avoid if (x != y) ..; else ..; 73–80

fr/paris/lutece/plugins/document/web/DocumentMetaPageInclude.java

Rule Violation Ligne
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 74–102
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 86–97
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'sourceXsl' 113

fr/paris/lutece/plugins/document/web/DocumentResourceServlet.java

Rule Violation Ligne
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 153
ConfusingTernary Avoid if (x != y) ..; else ..; 201–210
ConfusingTernary Avoid if (x != y) ..; else ..; 293–312
PositionLiteralsFirstInComparisons Position literals first in String comparisons 324
PositionLiteralsFirstInComparisons Position literals first in String comparisons 324
PositionLiteralsFirstInComparisons Position literals first in String comparisons 325
PositionLiteralsFirstInComparisons Position literals first in String comparisons 325

fr/paris/lutece/plugins/document/web/DocumentServiceJspBean.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–439
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 159–162
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 259
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 380
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 381
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 382
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 383
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 383
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 385
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 433
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 433

fr/paris/lutece/plugins/document/web/DocumentTypeJspBean.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1018
GodClass Possible God Class (WMC=91, ATFD=177, TCC=24.923%) 88–1018
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 88–1018
CyclomaticComplexity The class 'DocumentTypeJspBean' has a total cyclomatic complexity of 91 (highest 11). 88–1018
TooManyMethods This class has too many methods, consider refactoring it. 89–1018
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 172
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 172
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 189
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 189
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 207
ConfusingTernary Avoid if (x != y) ..; else ..; 247–254
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 264
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 264
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 282
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 285
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 286
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 288
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 289
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 329
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 329
LinguisticNaming Linguistics Antipattern - The getter 'getAttributeData' should not return void linguistically 460–513
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 463
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 469
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 522
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 541
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 586
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 616–617
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 619
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 619
AddEmptyString Do not add empty strings 645
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 743
CyclomaticComplexity The method 'getStyleSheets(MultipartHttpServletRequest)' has a cyclomatic complexity of 11. 821–875
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 823
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 827
ConfusingTernary Avoid if (x != y) ..; else ..; 890–897
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 920–937
ShortVariable Avoid variables with short names like is 928
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 931

fr/paris/lutece/plugins/document/web/ResourceServletCache.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 51–54
MissingOverride The method 'getName()' is missing an @Override annotation. 60–63
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the removeFromKeyPattern method if you want a default access modifier 89–100
DefaultPackage Use explicit scoping instead of the default package private level 89–100

fr/paris/lutece/plugins/document/web/ResourceServletContentTypeCache.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 53–62
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 57
MissingOverride The method 'getName()' is missing an @Override annotation. 68–71

fr/paris/lutece/plugins/document/web/ResourceValueObject.java

Rule Violation Ligne
UncommentedEmptyConstructor Document empty constructor 59–61
MethodReturnsInternalArray Returning '_content' may expose an internal array. 104
ArrayIsStoredDirectly The user-supplied array 'content' is stored directly. 111

fr/paris/lutece/plugins/document/web/category/CategoryJspBean.java

Rule Violation Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 116–118
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 116–118
UncommentedEmptyConstructor Document empty constructor 116–118
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 131
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 150
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 150
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 171
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 174
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 177
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 214
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 229
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 229
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 246
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 247
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 249
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 250

fr/paris/lutece/plugins/document/web/docsearch/AdvancedSearch.java

Rule Violation Ligne
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 70–253
NPathComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has an NPath complexity of 1409 100–211
ExcessiveMethodLength Avoid really long methods. 100–211
CyclomaticComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 17. 100–211
MissingOverride The method 'getPage(HttpServletRequest, int, Plugin)' is missing an @Override annotation. 100–211
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 104
ConfusingTernary Avoid if (x != y) ..; else ..; 109–199
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 145
ShortVariable Avoid variables with short names like i 148
ShortVariable Avoid variables with short names like c 156
ShortVariable Avoid variables with short names like it 157
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 177
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 191
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 220
ShortVariable Avoid variables with short names like f 220

fr/paris/lutece/plugins/document/web/docsearch/DocSearchJspBean.java

Rule Violation Ligne
NPathComplexity The method 'getSearch(HttpServletRequest)' has an NPath complexity of 408 105–211
CyclomaticComplexity The method 'getSearch(HttpServletRequest)' has a cyclomatic complexity of 11. 105–211
NcssCount The method 'getSearch(HttpServletRequest)' has a NCSS line count of 61. 105–211
ExcessiveMethodLength Avoid really long methods. 105–211
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 112
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 112
ConfusingTernary Avoid if (x != y) ..; else ..; 125
ConfusingTernary Avoid if (x != y) ..; else ..; 129
ConfusingTernary Avoid if (x != y) ..; else ..; 137–188
ConfusingTernary Avoid if (x != y) ..; else ..; 162–171
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 198–199

fr/paris/lutece/plugins/document/web/history/DocumentHistoryJspBean.java

Rule Violation Ligne
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 95
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 95

fr/paris/lutece/plugins/document/web/portlet/DocumentListPortletJspBean.java

Rule Violation Ligne
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 105–116
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 124–137
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 145–175
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 149
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 152
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 183–230
LinguisticNaming Linguistics Antipattern - The setter 'setIdCategory' should not return any type except void linguistically 237–255
ShortVariable Avoid variables with short names like i 244
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 277
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 277
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 312
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 312

fr/paris/lutece/plugins/document/web/portlet/DocumentPortletJspBean.java

Rule Violation Ligne
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 107–118
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 126–139
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 147–177
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 151
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 154
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 185–231
LinguisticNaming Linguistics Antipattern - The setter 'setIdCategory' should not return any type except void linguistically 238–256
ShortVariable Avoid variables with short names like i 245
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 278
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 278
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 296
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 313

fr/paris/lutece/plugins/document/web/publishing/DocumentPublishingJspBean.java

Rule Violation Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1171
ExcessiveClassLength Avoid really long classes. 93–1171
CyclomaticComplexity The class 'DocumentPublishingJspBean' has a total cyclomatic complexity of 110 (highest 21). 93–1171
NcssCount The method 'getManageDocumentPublishing(HttpServletRequest)' has a NCSS line count of 61. 181–299
NPathComplexity The method 'getManageDocumentPublishing(HttpServletRequest)' has an NPath complexity of 4322 181–299
ExcessiveMethodLength Avoid really long methods. 181–299
CyclomaticComplexity The method 'getManageDocumentPublishing(HttpServletRequest)' has a cyclomatic complexity of 21. 181–299
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 194
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 194
ConfusingTernary Avoid if (x != y) ..; else ..; 204–205
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 221–224
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 244
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 246–262
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 255
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 327
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listFilteredPortlets' 340
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 369
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listFilteredPortlets' 381
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 395
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 406
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 406
CyclomaticComplexity The method 'doAssignedDocument(HttpServletRequest)' has a cyclomatic complexity of 11. 436–496
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 445
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 463
ConfusingTernary Avoid if (x != y) ..; else ..; 513–520
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 535
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 536
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 546
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 546
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 572–579
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 604–621
MissingBreakInSwitch A switch statement does not contain a break 604–621
ConfusingTernary Avoid if (x != y) ..; else ..; 624–632
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 665–683
MissingBreakInSwitch A switch statement does not contain a break 665–683
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 768
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 768
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 883
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 883
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 928
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 928
UnusedFormalParameter Avoid unused method parameters such as 'request'. 1039
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1049
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1049
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1065
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1065
UnusedFormalParameter Avoid unused method parameters such as 'request'. 1089
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1092
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 1102
ConfusingTernary Avoid if (x != y) ..; else ..; 1109
LinguisticNaming Linguistics Antipattern - The setter 'setFillFilter' should not return any type except void linguistically 1132–1170
ConfusingTernary Avoid if (x != y) ..; else ..; 1137–1167

fr/paris/lutece/plugins/document/web/rules/DocumentRulesJspBean.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 142
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 153
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 153
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 179
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 179
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 233
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 233

fr/paris/lutece/plugins/document/web/spaces/DocumentSpaceJspBean.java

Rule Violation Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 130
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 130
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 162
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 197
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 197
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 254
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 255
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 258
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 259
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 260
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 262
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 263
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 282–285
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 304
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 315
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 328
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 385
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 386
ConfusingTernary Avoid if (x != y) ..; else ..; 389–396
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 403
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 403
CyclomaticComplexity The method 'doMoveSpace(HttpServletRequest)' has a cyclomatic complexity of 10. 421–471

Priority 4

fr/paris/lutece/plugins/document/business/DocumentFilter.java

Rule Violation Ligne
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 162
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 199
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 209–212

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortlet.java

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

fr/paris/lutece/plugins/document/business/portlet/DocumentPortlet.java

Rule Violation Ligne
UnusedImports Avoid unused imports such as 'java.util.Collection' 41
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 180

fr/paris/lutece/plugins/document/business/portlet/PortletFilter.java

Rule Violation Ligne
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 68
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 89

fr/paris/lutece/plugins/document/business/rules/Rule.java

Rule Violation Ligne
ShortClassName Avoid short class names like Rule 48–191

fr/paris/lutece/plugins/document/service/DocumentService.java

Rule Violation Ligne
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.document.business.attributes.MapProviderManager' 42
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 241
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 242
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 260

fr/paris/lutece/plugins/document/service/attributes/DefaultManager.java

Rule Violation Ligne
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.document.business.attributes.IMapProvider' 41

fr/paris/lutece/plugins/document/service/category/CategoryService.java

Rule Violation Ligne
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 312–315

fr/paris/lutece/plugins/document/service/docsearch/DocSearchService.java

Rule Violation Ligne
UnusedImports Avoid unused imports such as 'org.apache.lucene.util.Version' 73
UnusedImports Avoid unused imports such as 'java.io.File' 75
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 201
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 205
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 209
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 242
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 246
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 250

Fichiers

fr/paris/lutece/plugins/document/business/Document.java

Rule Violation Priority Ligne
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–905
GodClass Possible God Class (WMC=73, ATFD=8, TCC=2.191%) 3 61–905
TooManyFields Too many fields 3 61–905
UnusedPrivateField Avoid unused private fields such as 'CONSTANT_QUESTION_MARK'. 3 79
UnusedPrivateField Avoid unused private fields such as 'CONSTANT_EQUALS'. 3 80
ConfusingTernary Avoid if (x != y) ..; else ..; 3 203
ConfusingTernary Avoid if (x != y) ..; else ..; 3 329
ConfusingTernary Avoid if (x != y) ..; else ..; 3 695–703
ShortVariable Avoid variables with short names like gc 3 794
LogicInversion Use opposite operator instead of the logic complement operator. 3 835

fr/paris/lutece/plugins/document/business/DocumentDAO.java

Rule Violation Priority Ligne
GodClass Possible God Class (WMC=90, ATFD=309, TCC=0.403%) 3 51–1268
CyclomaticComplexity The class 'DocumentDAO' has a total cyclomatic complexity of 90 (highest 15). 3 51–1268
ExcessiveClassLength Avoid really long classes. 3 51–1268
TooManyMethods This class has too many methods, consider refactoring it. 3 52–1268
AvoidDuplicateLiterals The String literal " a.date_modification, a.xml_working_content, a.xml_validated_content, a.id_space , b.document_space_name , " appears 4 times in this file; the first occurrence is on line 56 3 56
UnusedPrivateField Avoid unused private fields such as 'SQL_QUERY_SELECT_PRIMARY_KEY_BY_FILTER'. 3 74
AvoidDuplicateLiterals The String literal " INNER JOIN document_type d ON a.code_document_type = d.code_document_type " appears 5 times in this file; the first occurrence is on line 76 3 76
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 3 157–174
MissingOverride The method 'insert(Document)' is missing an @Override annotation. 3 182–210
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 182–210
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 271–274
MissingOverride The method 'loadWithoutBinaries(int)' is missing an @Override annotation. 3 283–286
MissingOverride The method 'loadFromSpaceId(int)' is missing an @Override annotation. 3 364–395
MissingOverride The method 'loadAttributes(Document)' is missing an @Override annotation. 3 403–447
MissingOverride The method 'loadAttributesWithoutBinaries(Document, boolean)' is missing an @Override annotation. 3 457–501
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 509–524
MissingOverride The method 'validateAttributes(int)' is missing an @Override annotation. 3 566–577
MissingOverride The method 'store(Document, boolean)' is missing an @Override annotation. 3 603–638
MissingOverride The method 'selectPrimaryKeysByFilter(DocumentFilter)' is missing an @Override annotation. 3 647–662
MissingOverride The method 'selectByFilter(DocumentFilter)' is missing an @Override annotation. 3 671–721
NPathComplexity The method 'prepareStatement(DocumentFilter, DAOUtil)' has an NPath complexity of 480 3 727–784
CyclomaticComplexity The method 'prepareStatement(DocumentFilter, DAOUtil)' has a cyclomatic complexity of 13. 3 727–784
CyclomaticComplexity The method 'buildQueryFromFilter(DocumentFilter)' has a cyclomatic complexity of 15. 3 792–864
NPathComplexity The method 'buildQueryFromFilter(DocumentFilter)' has an NPath complexity of 1920 3 792–864
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 859
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 861
MissingOverride The method 'selectByRelatedCategories(Document)' is missing an @Override annotation. 3 873–924
MissingOverride The method 'loadResource(int)' is missing an @Override annotation. 3 933–951
MissingOverride The method 'loadSpecificResource(int, int, boolean)' is missing an @Override annotation. 3 964–983
MissingOverride The method 'selectAllPrimaryKeys()' is missing an @Override annotation. 3 990–1005
MissingOverride The method 'selectAll()' is missing an @Override annotation. 3 1013–1053
MissingOverride The method 'getPageTemplateDocumentPath(int)' is missing an @Override annotation. 3 1062–1076
MissingOverride The method 'loadLastModifiedAttributes(int)' is missing an @Override annotation. 3 1161–1178
MissingOverride The method 'loadLastModifiedDocumentFromUser(String)' is missing an @Override annotation. 3 1187–1224
MissingOverride The method 'loadLastPublishedDocument()' is missing an @Override annotation. 3 1231–1267

fr/paris/lutece/plugins/document/business/DocumentFilter.java

Rule Violation Priority Ligne
MethodReturnsInternalArray Returning '_arrayCategoriesId' may expose an internal array. 3 155
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 162
ArrayIsStoredDirectly The user-supplied array 'arrayCategoriesId' is stored directly. 3 162
MethodReturnsInternalArray Returning '_arrayId' may expose an internal array. 3 192
ArrayIsStoredDirectly The user-supplied array 'arrayId' is stored directly. 3 199
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 199
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 209–212

fr/paris/lutece/plugins/document/business/DocumentHome.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 49–349

fr/paris/lutece/plugins/document/business/DocumentPageTemplateDAO.java

Rule Violation Priority Ligne
DefaultPackage Use explicit scoping instead of the default package private level 3 63–81
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 3 63–81
MissingOverride The method 'insert(DocumentPageTemplate)' is missing an @Override annotation. 3 89–103
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 89–103
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 112–133
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 141–148
MissingOverride The method 'store(DocumentPageTemplate)' is missing an @Override annotation. 3 156–170
MissingOverride The method 'selectPageTemplatesList()' is missing an @Override annotation. 3 177–196

fr/paris/lutece/plugins/document/business/DocumentResource.java

Rule Violation Priority Ligne
MethodReturnsInternalArray Returning '_strContent' may expose an internal array. 3 53
ArrayIsStoredDirectly The user-supplied array 'strContent' is stored directly. 3 62

fr/paris/lutece/plugins/document/business/DocumentType.java

Rule Violation Priority Ligne
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 83
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 83
ImmutableField Private field '_listAttributes' could be made final; it is only initialized in the declaration or constructor. 3 83
MethodReturnsInternalArray Returning '_baAdminXsl' may expose an internal array. 3 179
ArrayIsStoredDirectly The user-supplied array 'baXsl' is stored directly. 3 188
MethodReturnsInternalArray Returning '_baContentServiceXsl' may expose an internal array. 3 200
ArrayIsStoredDirectly The user-supplied array 'baXsl' is stored directly. 3 209
ConfusingTernary Avoid if (x != y) ..; else ..; 3 263
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 282–285
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 292–295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 304
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 304
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 319
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 319
ConfusingTernary Avoid if (x != y) ..; else ..; 3 336–344

fr/paris/lutece/plugins/document/business/DocumentTypeDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'insert(DocumentType)' is missing an @Override annotation. 3 65–78
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 87–111
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 119–127
MissingOverride The method 'store(DocumentType)' is missing an @Override annotation. 3 135–149
MissingOverride The method 'selectDocumentTypeList()' is missing an @Override annotation. 3 156–177
MissingOverride The method 'getDocumentTypeList()' is missing an @Override annotation. 3 184–200
MissingOverride The method 'checkDocuments(String)' is missing an @Override annotation. 3 208–219
MissingOverride The method 'reorderAttributes(int, int, int, int)' is missing an @Override annotation. 3 232–243
MissingOverride The method 'setAdminStyleSheet(byte, String)' is missing an @Override annotation. 3 253–262
MissingOverride The method 'setContentStyleSheet(byte, String)' is missing an @Override annotation. 3 272–281

fr/paris/lutece/plugins/document/business/IDocumentDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 43–225

fr/paris/lutece/plugins/document/business/IndexerActionDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 3 63–79
CommentRequired Public method and constructor comments are required 3 63–79
MissingOverride The method 'insert(IndexerAction)' is missing an @Override annotation. 3 86–98
CommentRequired Public method and constructor comments are required 3 86–98
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 86–98
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 105–123
CommentRequired Public method and constructor comments are required 3 105–123
CommentRequired Public method and constructor comments are required 3 130–137
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 130–137
CommentRequired Public method and constructor comments are required 3 144–150
MissingOverride The method 'deleteAll()' is missing an @Override annotation. 3 144–150
MissingOverride The method 'store(IndexerAction)' is missing an @Override annotation. 3 157–169
CommentRequired Public method and constructor comments are required 3 157–169
MissingOverride The method 'selectList(IndexerActionFilter)' is missing an @Override annotation. 3 176–213
CommentRequired Public method and constructor comments are required 3 176–213
AssignmentInOperand Avoid assignments in operands 3 235
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 235

fr/paris/lutece/plugins/document/business/attributes/AttributeType.java

Rule Violation Priority Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 90–93

fr/paris/lutece/plugins/document/business/attributes/AttributeTypeDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'insert(AttributeType)' is missing an @Override annotation. 3 64–75
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 84–102
MissingOverride The method 'delete(AttributeType)' is missing an @Override annotation. 3 110–118
MissingOverride The method 'store(AttributeType)' is missing an @Override annotation. 3 126–138
MissingOverride The method 'selectDocumentAttributeTypeList()' is missing an @Override annotation. 3 145–164
MissingOverride The method 'selectAttributeTypeList(Locale)' is missing an @Override annotation. 3 173–190
MissingOverride The method 'getAttributeManagersList()' is missing an @Override annotation. 3 200–213
MissingOverride The method 'selectAttributeTypeParameterList(String)' is missing an @Override annotation. 3 225–255
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 243

fr/paris/lutece/plugins/document/business/attributes/AttributeTypeParameter.java

Rule Violation Priority Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 52
ImmutableField Private field '_listDefaultValue' could be made final; it is only initialized in the declaration or constructor. 3 52
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 53
ImmutableField Private field '_listValues' could be made final; it is only initialized in the declaration or constructor. 3 53
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 82–85
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 158
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 191

fr/paris/lutece/plugins/document/business/attributes/DocumentAttribute.java

Rule Violation Priority Ligne
ArrayIsStoredDirectly The user-supplied array 'bytes' is stored directly. 3 318
MethodReturnsInternalArray Returning '_bytes' may expose an internal array. 3 330

fr/paris/lutece/plugins/document/business/attributes/DocumentAttributeDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 47–454
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 103–122
MissingOverride The method 'insert(DocumentAttribute)' is missing an @Override annotation. 3 103–122
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 131–154
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 162–172
MissingOverride The method 'store(DocumentAttribute)' is missing an @Override annotation. 3 215–235
MissingOverride The method 'selectAttributesByDocumentType(DocumentType)' is missing an @Override annotation. 3 243–269
MissingOverride The method 'selectAllAttributesOfDocumentType(String)' is missing an @Override annotation. 3 278–302
ShortVariable Avoid variables with short names like i 3 311
MissingOverride The method 'selectAttributeParametersValues(int)' is missing an @Override annotation. 3 335–352
MissingOverride The method 'getAttributeParameterValues(int, String)' is missing an @Override annotation. 3 363–378
MissingOverride The method 'insertRegularExpression(int, int)' is missing an @Override annotation. 3 388–396
MissingOverride The method 'deleteRegularExpression(int, int)' is missing an @Override annotation. 3 406–414
MissingOverride The method 'selectListRegularExpressionKeyByIdAttribute(int)' is missing an @Override annotation. 3 438–453

fr/paris/lutece/plugins/document/business/attributes/MapProviderManager.java

Rule Violation Priority Ligne
ClassNamingConventions The utility class name 'MapProviderManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 53–100

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublication.java

Rule Violation Priority Ligne
NonThreadSafeSingleton Singleton is not thread safe 3 54–58

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'delete(int, int)' is missing an @Override annotation. 3 67–75
MissingOverride The method 'deleteAllSpaces(int)' is missing an @Override annotation. 3 83–90
MissingOverride The method 'insert(DocumentAutoPublication)' is missing an @Override annotation. 3 98–107
MissingOverride The method 'load(int, int)' is missing an @Override annotation. 3 118–136
MissingOverride The method 'load()' is missing an @Override annotation. 3 143–159
MissingOverride The method 'selectByPortletId(int)' is missing an @Override annotation. 3 168–185
MissingOverride The method 'selectBySpaceId(int)' is missing an @Override annotation. 3 194–211
MissingOverride The method 'store(DocumentAutoPublication)' is missing an @Override annotation. 3 219–229

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationDocumentSpaceRemovalListener.java

Rule Violation Priority Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 57–77
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 88–92

fr/paris/lutece/plugins/document/business/autopublication/DocumentAutoPublicationHome.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 46–187
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 163–166
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 180–183

fr/paris/lutece/plugins/document/business/category/Category.java

Rule Violation Priority Ligne
MethodReturnsInternalArray Returning '_byteIconContent' may expose an internal array. 3 57
ArrayIsStoredDirectly The user-supplied array 'byteIconContent' is stored directly. 3 64
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 141–144

fr/paris/lutece/plugins/document/business/category/CategoryDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 46–358
MissingOverride The method 'selectAll()' is missing an @Override annotation. 3 71–95
MissingOverride The method 'insert(Category)' is missing an @Override annotation. 3 103–117
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 146–169
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 177–185
MissingOverride The method 'store(Category)' is missing an @Override annotation. 3 193–207
MissingOverride The method 'selectByName(String)' is missing an @Override annotation. 3 216–241
ShortVariable Avoid variables with short names like i 3 284
MissingOverride The method 'selectCountIdDocuments(int)' is missing an @Override annotation. 3 317–331
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 3 340–357

fr/paris/lutece/plugins/document/business/category/CategoryHome.java

Rule Violation Priority Ligne
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'categoryList' 3 65

fr/paris/lutece/plugins/document/business/history/HistoryEvent.java

Rule Violation Priority Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 192–195

fr/paris/lutece/plugins/document/business/history/HistoryEventDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'insert(HistoryEvent)' is missing an @Override annotation. 3 59–72
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 80–88
MissingOverride The method 'selectEventListByDocument(int)' is missing an @Override annotation. 3 97–119
MissingOverride The method 'selectEventListByUser(String)' is missing an @Override annotation. 3 128–150

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortlet.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 63–66
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 75–93
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'str' 3 92
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 102–105
MissingOverride The method 'remove()' is missing an @Override annotation. 3 118–121
MethodReturnsInternalArray Returning '_nArrayIdCategory' may expose an internal array. 3 170
ArrayIsStoredDirectly The user-supplied array 'arrayIdCategory' is stored directly. 3 177
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 177

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortletDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 78–90
ShortVariable Avoid variables with short names like p 3 80
ShortVariable Avoid variables with short names like p 3 100
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 123–139
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 178–196
ShortVariable Avoid variables with short names like i 3 219
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 236–249
ShortVariable Avoid variables with short names like p 3 238
MissingOverride The method 'selectByDocumentIdAndDocumentType(int, String, PortletOrder, PortletFilter)' is missing an @Override annotation. 3 262–317
CyclomaticComplexity The method 'selectByDocumentIdAndDocumentType(int, String, PortletOrder, PortletFilter)' has a cyclomatic complexity of 10. 3 262–317
ConfusingTernary Avoid if (x != y) ..; else ..; 3 268
MissingOverride The method 'checkIsAliasPortlet(int)' is missing an @Override annotation. 3 326–340

fr/paris/lutece/plugins/document/business/portlet/DocumentListPortletHome.java

Rule Violation Priority Ligne
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 3 55
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 55
CallSuperInConstructor It is a good practice to call super() in a constructor 3 60–66
NonThreadSafeSingleton Singleton is not thread safe 3 75–78
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 3 88–94
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 3 93
MissingOverride The method 'getDAO()' is missing an @Override annotation. 3 101–104

fr/paris/lutece/plugins/document/business/portlet/DocumentPortlet.java

Rule Violation Priority Ligne
UnusedImports Avoid unused imports such as 'java.util.Collection' 4 41
CallSuperInConstructor It is a good practice to call super() in a constructor 3 67–70
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 79–96
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'str' 3 95
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 105–108
MissingOverride The method 'remove()' is missing an @Override annotation. 3 121–124
MethodReturnsInternalArray Returning '_nArrayIdCategory' may expose an internal array. 3 173
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 180
ArrayIsStoredDirectly The user-supplied array 'arrayIdCategory' is stored directly. 3 180

fr/paris/lutece/plugins/document/business/portlet/DocumentPortletDAO.java

Rule Violation Priority Ligne
CommentRequired Header comments are required 3 45–354
TooManyMethods This class has too many methods, consider refactoring it. 3 46–354
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 77–89
ShortVariable Avoid variables with short names like p 3 79
ShortVariable Avoid variables with short names like p 3 99
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 122–136
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 175–192
ShortVariable Avoid variables with short names like i 3 214
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 230–243
ShortVariable Avoid variables with short names like p 3 232
MissingOverride The method 'selectByDocumentOdAndDocumentType(int, String, PortletOrder, PortletFilter)' is missing an @Override annotation. 3 256–310
CyclomaticComplexity The method 'selectByDocumentOdAndDocumentType(int, String, PortletOrder, PortletFilter)' has a cyclomatic complexity of 10. 3 256–310
ConfusingTernary Avoid if (x != y) ..; else ..; 3 262
MissingOverride The method 'checkIsAliasPortlet(int)' is missing an @Override annotation. 3 319–333
MissingOverride The method 'selectPortletsByDocumentId(int)' is missing an @Override annotation. 3 339–353

fr/paris/lutece/plugins/document/business/portlet/DocumentPortletHome.java

Rule Violation Priority Ligne
CommentRequired Header comments are required 3 45–147
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 3 53
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 53
CallSuperInConstructor It is a good practice to call super() in a constructor 3 58–64
NonThreadSafeSingleton Singleton is not thread safe 3 73–76
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 3 86–92
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 3 91
MissingOverride The method 'getDAO()' is missing an @Override annotation. 3 99–102

fr/paris/lutece/plugins/document/business/portlet/IDocumentListPortletDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 62
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 71
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 81
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 105

fr/paris/lutece/plugins/document/business/portlet/PortletFilter.java

Rule Violation Priority Ligne
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 68
ArrayIsStoredDirectly The user-supplied array 'strPageTitle' is stored directly. 3 68
MethodReturnsInternalArray Returning '_tabPageName' may expose an internal array. 3 80
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 89
ArrayIsStoredDirectly The user-supplied array 'strPortletTitle' is stored directly. 3 89
MethodReturnsInternalArray Returning '_tabPortletName' may expose an internal array. 3 101
CyclomaticComplexity The method 'getSQLFilter()' has a cyclomatic complexity of 13. 3 172–221

fr/paris/lutece/plugins/document/business/publication/DocumentPublicationDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 48–393
MissingOverride The method 'insert(DocumentPublication)' is missing an @Override annotation. 3 69–81
MissingOverride The method 'store(DocumentPublication)' is missing an @Override annotation. 3 89–101
MissingOverride The method 'delete(int, int)' is missing an @Override annotation. 3 111–119
MissingOverride The method 'deleteFromPortletId(int)' is missing an @Override annotation. 3 127–134
MissingOverride The method 'deleteFromDocumentId(int)' is missing an @Override annotation. 3 142–149
MissingOverride The method 'select(int, int)' is missing an @Override annotation. 3 163–183
MissingOverride The method 'selectByPortletId(int)' is missing an @Override annotation. 3 192–212
MissingOverride The method 'selectByDocumentId(int)' is missing an @Override annotation. 3 221–241
MissingOverride The method 'selectByPortletIdAndStatus(int, int)' is missing an @Override annotation. 3 252–273
MissingOverride The method 'selectByDocumentIdAndStatus(int, int)' is missing an @Override annotation. 3 284–305
MissingOverride The method 'selectSinceDatePublishingAndStatus(Date, int)' is missing an @Override annotation. 3 316–337
MissingOverride The method 'selectMaxDocumentOrder(int)' is missing an @Override annotation. 3 346–360
MissingOverride The method 'selectDocumentIdByOrder(int, int)' is missing an @Override annotation. 3 371–392
ConfusingTernary Avoid if (x != y) ..; else ..; 3 381–389

fr/paris/lutece/plugins/document/business/publication/DocumentPublicationHome.java

Rule Violation Priority Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 3 46–205
TooManyMethods This class has too many methods, consider refactoring it. 3 46–205

fr/paris/lutece/plugins/document/business/publication/IDocumentPublicationDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 45–169

fr/paris/lutece/plugins/document/business/rules/AbstractRule.java

Rule Violation Priority Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 54
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 54
ImmutableField Private field '_mapAttributes' could be made final; it is only initialized in the declaration or constructor. 3 54
MissingOverride The method 'getId()' is missing an @Override annotation. 3 63–66
MissingOverride The method 'setId(int)' is missing an @Override annotation. 3 74–77
MissingOverride The method 'getRuleTypeId()' is missing an @Override annotation. 3 84–87
MissingOverride The method 'setRuleTypeId(String)' is missing an @Override annotation. 3 95–98
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 106–109
MissingOverride The method 'setAttribute(String, String)' is missing an @Override annotation. 3 129–132
MissingOverride The method 'getAttribute(String)' is missing an @Override annotation. 3 141–144
MissingOverride The method 'readAttributes(HttpServletRequest)' is missing an @Override annotation. 3 152–168
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 159–167
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 3 174
MissingOverride The method 'getUser()' is missing an @Override annotation. 3 181–184
MissingOverride The method 'setUser(AdminUser)' is missing an @Override annotation. 3 193–196

fr/paris/lutece/plugins/document/business/rules/Rule.java

Rule Violation Priority Ligne
ShortClassName Avoid short class names like Rule 4 48–191

fr/paris/lutece/plugins/document/business/rules/RuleDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'insert(Rule)' is missing an @Override annotation. 3 86–98
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 86–98
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 110–121
MissingOverride The method 'load(int, IRuleTypesSet)' is missing an @Override annotation. 3 133–151
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 179–189
MissingOverride The method 'store(Rule)' is missing an @Override annotation. 3 214–219
MissingOverride The method 'selectRuleList(IRuleTypesSet)' is missing an @Override annotation. 3 228–243
MissingOverride The method 'selectRuleListByRuleTypeKey(String, IRuleTypesSet)' is missing an @Override annotation. 3 254–273

fr/paris/lutece/plugins/document/business/rules/RuleTypesSet.java

Rule Violation Priority Ligne
MissingOverride The method 'setRuleTypesMap(Map)' is missing an @Override annotation. 3 57–60
MissingOverride The method 'newInstance(String)' is missing an @Override annotation. 3 69–88
IdenticalCatchBranches 'catch' branch identical to 'InstantiationException' branch 3 82–85
MissingOverride The method 'getRuleTypeKey(Rule)' is missing an @Override annotation. 3 95–121
IdenticalCatchBranches 'catch' branch identical to 'InstantiationException' branch 3 114–117
MissingOverride The method 'getRuleTypesList(Locale)' is missing an @Override annotation. 3 128–139
MissingOverride The method 'getRuleTypes()' is missing an @Override annotation. 3 146–149

fr/paris/lutece/plugins/document/business/spaces/DocumentSpace.java

Rule Violation Priority Ligne
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 56
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 56
ImmutableField Private field '_listDocumentType' could be made final; it is only initialized in the declaration or constructor. 3 56
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 275–278
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 285–288
AddEmptyString Do not add empty strings 3 287
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 294–297

fr/paris/lutece/plugins/document/business/spaces/DocumentSpaceDAO.java

Rule Violation Priority Ligne
TooManyMethods This class has too many methods, consider refactoring it. 3 48–480
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 106–123
MissingOverride The method 'insert(DocumentSpace)' is missing an @Override annotation. 3 106–123
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 135–144
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 154–182
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 210–218
MissingOverride The method 'store(DocumentSpace)' is missing an @Override annotation. 3 242–260
MissingOverride The method 'selectChilds(int, String)' is missing an @Override annotation. 3 271–295
ConfusingTernary Avoid if (x != y) ..; else ..; 3 308–318
MissingOverride The method 'selectSpacesAllowingDocumentCreationByDocumentType(String, int)' is missing an @Override annotation. 3 329–356
MissingOverride The method 'getDocumentSpaceList()' is missing an @Override annotation. 3 363–380
MissingOverride The method 'getViewTypeList(Locale)' is missing an @Override annotation. 3 389–404
MissingOverride The method 'getIconsList()' is missing an @Override annotation. 3 411–426
MissingOverride The method 'selectAll()' is missing an @Override annotation. 3 433–456
MissingOverride The method 'getAllowedDocumentTypes(int)' is missing an @Override annotation. 3 465–479

fr/paris/lutece/plugins/document/business/spaces/SpaceAction.java

Rule Violation Priority Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 61–64
MissingOverride The method 'getPermission()' is missing an @Override annotation. 3 175–178

fr/paris/lutece/plugins/document/business/spaces/SpaceActionDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'selectActions()' is missing an @Override annotation. 3 54–74
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 56

fr/paris/lutece/plugins/document/business/workflow/DocumentAction.java

Rule Violation Priority Ligne
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 112–115
MissingOverride The method 'getPermission()' is missing an @Override annotation. 3 226–229

fr/paris/lutece/plugins/document/business/workflow/DocumentActionDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 59–88
MissingOverride The method 'selectActions(Document)' is missing an @Override annotation. 3 97–119

fr/paris/lutece/plugins/document/business/workflow/DocumentStateDAO.java

Rule Violation Priority Ligne
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 57–74
MissingOverride The method 'selectDocumentStatesList(Locale)' is missing an @Override annotation. 3 83–100

fr/paris/lutece/plugins/document/business/workflow/DocumentStateHome.java

Rule Violation Priority Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 3 45–72

fr/paris/lutece/plugins/document/modules/metadatadublincore/DublinCoreMetadataHandler.java

Rule Violation Priority Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 81
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 81
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 99
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 99

fr/paris/lutece/plugins/document/modules/metadatadublincore/business/DublinCoreMetadata.java

Rule Violation Priority Ligne
CyclomaticComplexity The class 'DublinCoreMetadata' has a total cyclomatic complexity of 82 (highest 31). 3 55–506
CyclomaticComplexity The constructor 'DublinCoreMetadata()' has a cyclomatic complexity of 16. 3 94–111
NPathComplexity The constructor 'DublinCoreMetadata()' has an NPath complexity of 32768 3 94–111
ConfusingTernary Avoid if (x != y) ..; else ..; 3 96
ConfusingTernary Avoid if (x != y) ..; else ..; 3 97
ConfusingTernary Avoid if (x != y) ..; else ..; 3 98
ConfusingTernary Avoid if (x != y) ..; else ..; 3 99
ConfusingTernary Avoid if (x != y) ..; else ..; 3 100
ConfusingTernary Avoid if (x != y) ..; else ..; 3 101
ConfusingTernary Avoid if (x != y) ..; else ..; 3 102
ConfusingTernary Avoid if (x != y) ..; else ..; 3 103
ConfusingTernary Avoid if (x != y) ..; else ..; 3 104
ConfusingTernary Avoid if (x != y) ..; else ..; 3 105
ConfusingTernary Avoid if (x != y) ..; else ..; 3 106
ConfusingTernary Avoid if (x != y) ..; else ..; 3 107
ConfusingTernary Avoid if (x != y) ..; else ..; 3 108
ConfusingTernary Avoid if (x != y) ..; else ..; 3 109
ConfusingTernary Avoid if (x != y) ..; else ..; 3 110
NPathComplexity The method 'getXml()' has an NPath complexity of 14348907 3 387–470
CyclomaticComplexity The method 'getXml()' has a cyclomatic complexity of 31. 3 387–470
ShortVariable Avoid variables with short names like sr 3 489
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 3 497–500
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 3 501–504

fr/paris/lutece/plugins/document/modules/rulemovespace/business/MoveSpaceRule.java

Rule Violation Priority Ligne
MissingOverride The method 'init()' is missing an @Override annotation. 3 87–95
MissingOverride The method 'getNameKey()' is missing an @Override annotation. 3 101–104
MissingOverride The method 'apply(DocumentEvent)' is missing an @Override annotation. 3 111–133
CollapsibleIfStatements These nested if statements could be combined 3 121–125
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 128
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 131
MissingOverride The method 'getCreateForm(AdminUser, Locale)' is missing an @Override annotation. 3 141–196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 143
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 143
MissingOverride The method 'isAuthorized(AdminUser)' is missing an @Override annotation. 3 203–219
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 206
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 213–216
MissingOverride The method 'validateRule()' is missing an @Override annotation. 3 226–250
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 229
MissingOverride The method 'getAttributesList()' is missing an @Override annotation. 3 256–259
MethodReturnsInternalArray Returning '_attributes' may expose an internal array. 3 258
MissingOverride The method 'getRule()' is missing an @Override annotation. 3 265–285
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 3 315
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 12. 3 315–346

fr/paris/lutece/plugins/document/modules/rulemovespace/business/MoveSpaceSpaceRemovalListener.java

Rule Violation Priority Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–88
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 96–100
ShortVariable Avoid variables with short names like id 3 96

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersMailingListRemovalListener.java

Rule Violation Priority Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–87
ShortVariable Avoid variables with short names like id 3 95
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 95–99

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersRule.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–474
MissingOverride The method 'init()' is missing an @Override annotation. 3 127–141
MissingOverride The method 'getNameKey()' is missing an @Override annotation. 3 147–150
MissingOverride The method 'apply(DocumentEvent)' is missing an @Override annotation. 3 157–203
CollapsibleIfStatements These nested if statements could be combined 3 169–196
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 176
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 176
ShortVariable Avoid variables with short names like t 3 185
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 199
MissingOverride The method 'getCreateForm(AdminUser, Locale)' is missing an @Override annotation. 3 211–263
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 213
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 213
MissingOverride The method 'validateRule()' is missing an @Override annotation. 3 270–286
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 272
MissingOverride The method 'isAuthorized(AdminUser)' is missing an @Override annotation. 3 293–303
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 297–300
MissingOverride The method 'getAttributesList()' is missing an @Override annotation. 3 309–312
MethodReturnsInternalArray Returning '_attributes' may expose an internal array. 3 311
MissingOverride The method 'getRule()' is missing an @Override annotation. 3 318–350
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 15. 3 439–473
OverrideBothEqualsAndHashcode Ensure you override both equals() and hashCode() 3 439

fr/paris/lutece/plugins/document/modules/rulenotifyusers/business/NotifyUsersSpaceRemovalListener.java

Rule Violation Priority Ligne
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–86
ShortVariable Avoid variables with short names like id 3 94
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 94–98

fr/paris/lutece/plugins/document/service/AttributeService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 48–115
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 51
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 51
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 62–71
IdenticalCatchBranches 'catch' branch identical to 'IllegalAccessException' branch 3 95–98
IdenticalCatchBranches 'catch' branch identical to 'IllegalAccessException' branch 3 99–102

fr/paris/lutece/plugins/document/service/DocumentContentService.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–788
GodClass Possible God Class (WMC=71, ATFD=89, TCC=12.281%) 3 102–788
TooManyMethods This class has too many methods, consider refactoring it. 3 103–788
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 148
MissingOverride The method 'getPage(HttpServletRequest, int)' is missing an @Override annotation. 3 170–229
GuardLogStatement Logger calls should be surrounded by log level guards. 2 202–203
GuardLogStatement Logger calls should be surrounded by log level guards. 2 219
GuardLogStatement Logger calls should be surrounded by log level guards. 2 225
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 240
CyclomaticComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has a cyclomatic complexity of 18. 3 264–412
ExcessiveMethodLength Avoid really long methods. 3 264–412
NPathComplexity The method 'buildPage(HttpServletRequest, String, String, String, int)' has an NPath complexity of 3900 3 264–412
NcssCount The method 'buildPage(HttpServletRequest, String, String, String, int)' has a NCSS line count of 73. 3 264–412
AvoidReassigningParameters Avoid reassigning parameters such as 'strPortletId' 2 264
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 269
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 270
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 270
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 270
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 293
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 338
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 363
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 363
MissingOverride The method 'isInvoked(HttpServletRequest)' is missing an @Override annotation. 3 421–433
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 426–430
MissingOverride The method 'getName()' is missing an @Override annotation. 3 440–443
ConfusingTernary Avoid if (x != y) ..; else ..; 3 452–461
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPageTemplateDocument' 3 456
CyclomaticComplexity The method 'getPortlet(HttpServletRequest, String, int)' has a cyclomatic complexity of 12. 3 476–599
NPathComplexity The method 'getPortlet(HttpServletRequest, String, int)' has an NPath complexity of 273 3 476–599
ExcessiveMethodLength Avoid really long methods. 3 476–599
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 483
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 499
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 510
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 510
ConfusingTernary Avoid if (x != y) ..; else ..; 3 522–530
ConfusingTernary Avoid if (x != y) ..; else ..; 3 541–542
CyclomaticComplexity The method 'getRelatedDocumentsPortlet(HttpServletRequest, Document, int, int)' has a cyclomatic complexity of 10. 3 611–656
UnusedFormalParameter Avoid unused method parameters such as 'nPortletId'. 3 611
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 616
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 619
MissingOverride The method 'dispose()' is missing an @Override annotation. 3 661–663
UncommentedEmptyMethodBody Document empty method body 3 662–663
MissingOverride The method 'notifyElementEvicted(Ehcache, Element)' is missing an @Override annotation. 3 669–672
MissingOverride The method 'notifyElementExpired(Ehcache, Element)' is missing an @Override annotation. 3 678–681
MissingOverride The method 'notifyElementPut(Ehcache, Element)' is missing an @Override annotation. 3 687–690
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 688
UncommentedEmptyMethodBody Document empty method body 3 689–690
MissingOverride The method 'notifyElementRemoved(Ehcache, Element)' is missing an @Override annotation. 3 696–700
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 697
MissingOverride The method 'notifyElementUpdated(Ehcache, Element)' is missing an @Override annotation. 3 706–709
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 707
UncommentedEmptyMethodBody Document empty method body 3 708–709
MissingOverride The method 'notifyRemoveAll(Ehcache)' is missing an @Override annotation. 3 714–717
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 765
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 765–768

fr/paris/lutece/plugins/document/service/DocumentEvent.java

Rule Violation Priority Ligne
ImmutableField Private field '_document' could be made final; it is only initialized in the declaration or constructor. 3 52
ImmutableField Private field '_user' could be made final; it is only initialized in the declaration or constructor. 3 53
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 3 54
ImmutableField Private field '_nSpaceId' could be made final; it is only initialized in the declaration or constructor. 3 55
ImmutableField Private field '_nStateId' could be made final; it is only initialized in the declaration or constructor. 3 56

fr/paris/lutece/plugins/document/service/DocumentEventListernersManager.java

Rule Violation Priority Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 47
DefaultPackage Use explicit scoping instead of the default package private level 3 72–78
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the notifyListeners method if you want a default access modifier 3 72–78

fr/paris/lutece/plugins/document/service/DocumentException.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 55–58

fr/paris/lutece/plugins/document/service/DocumentMassActionResourceService.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 61–64
MissingOverride The method 'register()' is missing an @Override annotation. 3 69–83
ShortVariable Avoid variables with short names like rt 3 71
ShortVariable Avoid variables with short names like p 3 77
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 91–96

fr/paris/lutece/plugins/document/service/DocumentPlugin.java

Rule Violation Priority Ligne
MissingOverride The method 'init()' is missing an @Override annotation. 3 51–58
CommentRequired Public method and constructor comments are required 3 51–58

fr/paris/lutece/plugins/document/service/DocumentService.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–814
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.document.business.attributes.MapProviderManager' 4 42
GodClass Possible God Class (WMC=91, ATFD=185, TCC=0.585%) 3 94–814
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 94–814
CyclomaticComplexity The class 'DocumentService' has a total cyclomatic complexity of 91 (highest 27). 3 94–814
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 132
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the buildXmlContent method if you want a default access modifier 3 156–190
DefaultPackage Use explicit scoping instead of the default package private level 3 156–190
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 241
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 242
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 260
LinguisticNaming Linguistics Antipattern - The getter 'getActions' should not return void linguistically 3 381–397
LinguisticNaming Linguistics Antipattern - The getter 'getPublishedStatus' should not return void linguistically 3 403–414
ConfusingTernary Avoid if (x != y) ..; else ..; 3 479–490
SimplifiedTernary Ternary operators that can be simplified with || or && 3 531–532
ExcessiveMethodLength Avoid really long methods. 3 547–673
CyclomaticComplexity The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has a cyclomatic complexity of 25. 3 547–673
NcssCount The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has a NCSS line count of 65. 3 547–673
NPathComplexity The method 'getDocumentData(MultipartHttpServletRequest, Document, Locale)' has an NPath complexity of 209952 3 547–673
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 551
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 552
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 553
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 555
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 557
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 559
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 561
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 562
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 592
CollapsibleIfStatements These nested if statements could be combined 3 633–637
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 660
LinguisticNaming Linguistics Antipattern - The setter 'setAttribute' should not return any type except void linguistically 3 684–813
CyclomaticComplexity The method 'setAttribute(DocumentAttribute, Document, MultipartHttpServletRequest, Locale)' has a cyclomatic complexity of 27. 3 684–813
NPathComplexity The method 'setAttribute(DocumentAttribute, Document, MultipartHttpServletRequest, Locale)' has an NPath complexity of 13023 3 684–813
ExcessiveMethodLength Avoid really long methods. 3 684–813
ConfusingTernary Avoid if (x != y) ..; else ..; 3 694–810

fr/paris/lutece/plugins/document/service/DocumentTools.java

Rule Violation Priority Ligne
ClassNamingConventions The utility class name 'DocumentTools' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 47–111
ConfusingTernary Avoid if (x != y) ..; else ..; 3 69
SimplifiedTernary Ternary operators that can be simplified with || or && 3 69
SimplifiedTernary Ternary operators that can be simplified with || or && 3 71–72
ConfusingTernary Avoid if (x != y) ..; else ..; 3 71–72
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 49 characters appended. 3 73
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 94
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 105
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 106

fr/paris/lutece/plugins/document/service/DocumentTypeResourceIdService.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 103–106
MissingOverride The method 'register()' is missing an @Override annotation. 3 111–180
ShortVariable Avoid variables with short names like rt 3 113
ShortVariable Avoid variables with short names like p 3 119
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 187–190
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 198–203

fr/paris/lutece/plugins/document/service/DocumentTypeService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 45–111

fr/paris/lutece/plugins/document/service/attributes/DateManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 68–71
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 77–80
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 86–89
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 95–98
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 3 107–124
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 3 132–160
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 145
MissingOverride The method 'getAttributeParametersValues(int, Locale)' is missing an @Override annotation. 3 168–187
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 178
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 180
CyclomaticComplexity The method 'validateDate(String, Locale)' has a cyclomatic complexity of 10. 3 195–240
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 197
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 198
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 199
ShortVariable Avoid variables with short names like i 3 199

fr/paris/lutece/plugins/document/service/attributes/DefaultManager.java

Rule Violation Priority Ligne
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.document.business.attributes.IMapProvider' 4 41
MissingOverride The method 'getCreateFormHtml(DocumentAttribute, Locale, String)' is missing an @Override annotation. 3 118–134
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 125
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 125
MissingOverride The method 'getModifyFormHtml(DocumentAttribute, Document, Locale, String)' is missing an @Override annotation. 3 139–192
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 141
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 141
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 171–180
MissingOverride The method 'getCreateParametersFormHtml(Locale)' is missing an @Override annotation. 3 197–200
MissingOverride The method 'getCreateParametersFormHtml(List, Locale)' is missing an @Override annotation. 3 205–208
CommentRequired Public method and constructor comments are required 3 210–239
AvoidReassigningParameters Avoid reassigning parameters such as 'model' 2 211
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 215
ConfusingTernary Avoid if (x != y) ..; else ..; 3 225–232
MissingOverride The method 'getModifyParametersFormHtml(Locale, int)' is missing an @Override annotation. 3 244–247
AvoidReassigningParameters Avoid reassigning parameters such as 'model' 2 249
CommentRequired Public method and constructor comments are required 3 249–269
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 253
MissingOverride The method 'getExtraParameters(Locale)' is missing an @Override annotation. 3 274–277
MissingOverride The method 'getExtraParametersValues(Locale, int)' is missing an @Override annotation. 3 282–293
MissingOverride The method 'setAttributeTypeCode(String)' is missing an @Override annotation. 3 298–301
MissingOverride The method 'getAttributeTypeCode()' is missing an @Override annotation. 3 306–309
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 3 314–338
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 322
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 3 343–346
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 343–346
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 3 351–354
MissingOverride The method 'canBeUsedAsThumbnail()' is missing an @Override annotation. 3 370–373
MissingOverride The method 'getValueParameters(HttpServletRequest, Locale)' is missing an @Override annotation. 3 378–381
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 378–381
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 391

fr/paris/lutece/plugins/document/service/attributes/DocumentAttributesService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 46–121
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listAttributes' 3 100

fr/paris/lutece/plugins/document/service/attributes/FileManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 62–65
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 71–74
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 80–83
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 89–92
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 3 101–119

fr/paris/lutece/plugins/document/service/attributes/ImageFileManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 51–54
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 60–63
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 69–72
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 78–81

fr/paris/lutece/plugins/document/service/attributes/InternalLinkManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 61–64
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 70–73
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 79–82
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 3 90–94

fr/paris/lutece/plugins/document/service/attributes/ListBoxManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 80–83
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 89–92
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 98–101
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 107–110
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 3 118–129
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 144
CyclomaticComplexity The method 'getValueParameters(HttpServletRequest, Locale)' has a cyclomatic complexity of 14. 3 178–249
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 190
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 257
CollapsibleIfStatements These nested if statements could be combined 3 291–298

fr/paris/lutece/plugins/document/service/attributes/MultilineManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 49–52
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 58–61
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 67–70
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 76–79

fr/paris/lutece/plugins/document/service/attributes/NumerictextManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 56–59
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 65–68
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 74–77
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 83–86
MissingOverride The method 'validateValue(int, String, Locale)' is missing an @Override annotation. 3 95–116
ConfusingTernary Avoid if (x != y) ..; else ..; 3 99–113

fr/paris/lutece/plugins/document/service/attributes/RichTextManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 61–64
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 70–73
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 79–82
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 3 90–94

fr/paris/lutece/plugins/document/service/attributes/TextManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 59–62
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 68–71
MissingOverride The method 'getCreateParametersTemplate()' is missing an @Override annotation. 3 77–80
MissingOverride The method 'getModifyParametersTemplate()' is missing an @Override annotation. 3 86–89
MissingOverride The method 'validateValueParameters(List, Locale)' is missing an @Override annotation. 3 97–124

fr/paris/lutece/plugins/document/service/attributes/UrlManager.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreateTemplate()' is missing an @Override annotation. 3 52–55
MissingOverride The method 'getModifyTemplate()' is missing an @Override annotation. 3 61–64
MissingOverride The method 'getAttributeXmlValue(Document, DocumentAttribute)' is missing an @Override annotation. 3 72–76

fr/paris/lutece/plugins/document/service/autoarchiving/AutoArchivingDaemon.java

Rule Violation Priority Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 3 47–50

fr/paris/lutece/plugins/document/service/autoarchiving/AutoArchivingService.java

Rule Violation Priority Ligne
NonThreadSafeSingleton Singleton is not thread safe 3 62–65
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 122 characters appended. 3 85

fr/paris/lutece/plugins/document/service/autopublication/AutoPublicationDaemon.java

Rule Violation Priority Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 3 47–50

fr/paris/lutece/plugins/document/service/autopublication/AutoPublicationService.java

Rule Violation Priority Ligne
NonThreadSafeSingleton Singleton is not thread safe 3 68–71
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 125 characters appended. 3 91
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 133

fr/paris/lutece/plugins/document/service/category/CategoryService.java

Rule Violation Priority Ligne
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the CategoryService constructor if you want a default access modifier 3 64–67
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 3 84–87
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 3 93–96
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 108
ConfusingTernary Avoid if (x != y) ..; else ..; 3 114–121
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 142
ConfusingTernary Avoid if (x != y) ..; else ..; 3 148–155
ShortVariable Avoid variables with short names like i 3 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 200
ConfusingTernary Avoid if (x != y) ..; else ..; 3 210–217
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 312–315

fr/paris/lutece/plugins/document/service/docsearch/DefaultDocSearchIndexer.java

Rule Violation Priority Ligne
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 3 78
MissingOverride The method 'getDocuments(Collection)' is missing an @Override annotation. 3 86–102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 89
ShortVariable Avoid variables with short names like ft 3 119
IdenticalCatchBranches 'catch' branch identical to 'SAXException' branch 3 146–149
ShortVariable Avoid variables with short names like sb 3 153
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 181
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 182
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 182
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 183
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 184
ConfusingTernary Avoid if (x != y) ..; else ..; 3 190–214
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 193
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 206

fr/paris/lutece/plugins/document/service/docsearch/DocSearchIndexerDaemon.java

Rule Violation Priority Ligne
MissingOverride The method 'run()' is missing an @Override annotation. 3 50–54

fr/paris/lutece/plugins/document/service/docsearch/DocSearchItem.java

Rule Violation Priority Ligne
ConstructorCallsOverridableMethod Overridable method 'setId' called during object construction 1 65
ConstructorCallsOverridableMethod Overridable method 'setTitle' called during object construction 1 66
ConstructorCallsOverridableMethod Overridable method 'setSummary' called during object construction 1 67
ConstructorCallsOverridableMethod Overridable method 'setDate' called during object construction 1 68
ConstructorCallsOverridableMethod Overridable method 'setType' called during object construction 1 69
ConfusingTernary Avoid if (x != y) ..; else ..; 3 119
ConfusingTernary Avoid if (x != y) ..; else ..; 3 139

fr/paris/lutece/plugins/document/service/docsearch/DocSearchService.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–624
UnusedImports Avoid unused imports such as 'org.apache.lucene.util.Version' 4 73
UnusedImports Avoid unused imports such as 'java.io.File' 4 75
GodClass Possible God Class (WMC=61, ATFD=111, TCC=8.333%) 3 94–624
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 94–624
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 3 101
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 102
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 103
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 106
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 132
NonThreadSafeSingleton Singleton is not thread safe 3 144–147
NcssCount The method 'processIndexing(boolean)' has a NCSS line count of 116. 3 157–360
NPathComplexity The method 'processIndexing(boolean)' has an NPath complexity of 308 3 157–360
ExcessiveMethodLength Avoid really long methods. 3 157–360
CyclomaticComplexity The method 'processIndexing(boolean)' has a cyclomatic complexity of 21. 3 157–360
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 109 characters appended. 3 159
ConfusingTernary Avoid if (x != y) ..; else ..; 3 189–328
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 196
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 201
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 203
ShortVariable Avoid variables with short names like it 3 205
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 205
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 209
AvoidDuplicateLiterals The String literal "\r\n" appears 5 times in this file; the first occurrence is on line 217 3 217
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 221
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 223
AvoidDuplicateLiterals The String literal "Indexing error : " appears 4 times in this file; the first occurrence is on line 228 3 228
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 237
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 242
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 244
ShortVariable Avoid variables with short names like it 3 246
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 246
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'org.apache.lucene.document.Document' due to existing import 'org.apache.lucene.document.Document' 4 250
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 263
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 265
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 281
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 299
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 318
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 320
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 335
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 371
ShortVariable Avoid variables with short names like ir 3 373
ShortVariable Avoid variables with short names like si 3 409
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 413
NPathComplexity The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has an NPath complexity of 4034 3 430–553
NcssCount The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has a NCSS line count of 68. 3 430–553
CyclomaticComplexity The method 'getSearchResults(String, boolean, boolean, String, DocumentType)' has a cyclomatic complexity of 17. 3 430–553
ExcessiveMethodLength Avoid really long methods. 3 430–553
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 433
ShortVariable Avoid variables with short names like ir 3 435
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 439
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 440
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 441
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 493
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 493
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 494
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 499
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 499
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 500
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 503
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 520
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 547

fr/paris/lutece/plugins/document/service/history/DocumentHistoryService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 49–128
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 3 76–127
ConfusingTernary Avoid if (x != y) ..; else ..; 3 84
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 123

fr/paris/lutece/plugins/document/service/metadata/MetadataService.java

Rule Violation Priority Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 3 46–97
ShortVariable Avoid variables with short names like st 3 67

fr/paris/lutece/plugins/document/service/publishing/PortletInvalider.java

Rule Violation Priority Ligne
MissingOverride The method 'processPublishingEvent(PublishingEvent)' is missing an @Override annotation. 3 54–58
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 3 64–74

fr/paris/lutece/plugins/document/service/publishing/PublishingEvent.java

Rule Violation Priority Ligne
ImmutableField Private field '_nDocumentId' could be made final; it is only initialized in the declaration or constructor. 3 47
ImmutableField Private field '_nPortletId' could be made final; it is only initialized in the declaration or constructor. 3 48
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 3 49

fr/paris/lutece/plugins/document/service/publishing/PublishingEventListenersManager.java

Rule Violation Priority Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 47
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the notifyListeners method if you want a default access modifier 3 70–76
DefaultPackage Use explicit scoping instead of the default package private level 3 70–76

fr/paris/lutece/plugins/document/service/publishing/PublishingService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 63–462
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 66
CyclomaticComplexity The method 'changeDocumentOrder(int, int, int)' has a cyclomatic complexity of 10. 3 186–229
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 255
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 267
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 303
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 326
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 379
ShortVariable Avoid variables with short names like i 3 385
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listDocuments' 3 402
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 415
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 433
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 434

fr/paris/lutece/plugins/document/service/resource/DocumentExtendableResourceService.java

Rule Violation Priority Ligne
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 116

fr/paris/lutece/plugins/document/service/rules/RuleEngine.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 48–93
MissingOverride The method 'processDocumentEvent(DocumentEvent)' is missing an @Override annotation. 3 85–92

fr/paris/lutece/plugins/document/service/search/DocumentIndexer.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–390
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 3 100
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 134
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 159
ShortVariable Avoid variables with short names like it 3 162
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 224
ShortVariable Avoid variables with short names like ft 3 247
IdenticalCatchBranches 'catch' branch identical to 'SAXException' branch 3 283–286
ConfusingTernary Avoid if (x != y) ..; else ..; 3 328–355
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 331
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 346
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 360
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 360
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 372

fr/paris/lutece/plugins/document/service/spaces/DocumentSpacesService.java

Rule Violation Priority Ligne
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 71–650
GodClass Possible God Class (WMC=65, ATFD=58, TCC=1.307%) 3 71–650
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'xslSource' 3 191
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 216
CyclomaticComplexity The method 'findSpacesByCodeType(StringBuffer, int, AdminUser, String)' has a cyclomatic complexity of 13. 3 242–327
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 263
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 284–290
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 385
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 386
NPathComplexity The method 'getSpacesBrowser(HttpServletRequest, AdminUser, Locale, boolean, boolean, boolean, String, String)' has an NPath complexity of 4608 3 458–569
ExcessiveMethodLength Avoid really long methods. 3 458–569
CyclomaticComplexity The method 'getSpacesBrowser(HttpServletRequest, AdminUser, Locale, boolean, boolean, boolean, String, String)' has a cyclomatic complexity of 15. 3 458–569
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 471
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 471
ShortVariable Avoid variables with short names like i 3 476
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 534
ConfusingTernary Avoid if (x != y) ..; else ..; 3 553–560
LocalVariableNamingConventions The local variable name '_template' doesn't match '[a-z][a-zA-Z0-9]*' 1 563
ControlStatementBraces This statement should have braces 3 564
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 593
LinguisticNaming Linguistics Antipattern - The getter 'getSpaceParents' should not return void linguistically 3 606–619
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 641

fr/paris/lutece/plugins/document/service/spaces/SpaceRemovalListenerService.java

Rule Violation Priority Ligne
UseUtilityClass All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 3 44–55

fr/paris/lutece/plugins/document/service/spaces/SpaceResourceIdService.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 79–82
MissingOverride The method 'register()' is missing an @Override annotation. 3 87–121
ShortVariable Avoid variables with short names like rt 3 89
ShortVariable Avoid variables with short names like p 3 95
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 128–131
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 139–159

fr/paris/lutece/plugins/document/utils/ImageUtils.java

Rule Violation Priority Ligne
ShortVariable Avoid variables with short names like in 3 73

fr/paris/lutece/plugins/document/web/DocumentContentJspBean.java

Rule Violation Priority Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 101
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 101

fr/paris/lutece/plugins/document/web/DocumentDashboardComponent.java

Rule Violation Priority Ligne
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 114
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 114
ShortVariable Avoid variables with short names like t 3 121

fr/paris/lutece/plugins/document/web/DocumentJspBean.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1984
CyclomaticComplexity The class 'DocumentJspBean' has a total cyclomatic complexity of 205 (highest 40). 3 124–1984
GodClass Possible God Class (WMC=205, ATFD=321, TCC=14.225%) 3 124–1984
ExcessiveClassLength Avoid really long classes. 3 124–1984
TooManyMethods This class has too many methods, consider refactoring it. 3 125–1984
ImmutableField Private field '_nDefaultItemsPerPage' could be made final; it is only initialized in the declaration or constructor. 3 255
CallSuperInConstructor It is a good practice to call super() in a constructor 3 263–266
ExcessiveMethodLength Avoid really long methods. 3 273–398
NcssCount The method 'getManageDocuments(HttpServletRequest)' has a NCSS line count of 70. 3 273–398
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 275
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 306
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 306
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 341–343
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 345
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 373
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 422
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 422
UnusedFormalParameter Avoid unused method parameters such as 'request'. 3 464
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 467
UnusedFormalParameter Avoid unused method parameters such as 'request'. 3 481
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 483
ConfusingTernary Avoid if (x != y) ..; else ..; 3 504
ConfusingTernary Avoid if (x != y) ..; else ..; 3 517
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 541
ConfusingTernary Avoid if (x != y) ..; else ..; 3 631–632
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 633
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 633
ExcessiveMethodLength Avoid really long methods. 3 1092–1286
NcssCount The method 'doActionSelectionDocument(HttpServletRequest)' has a NCSS line count of 83. 3 1092–1286
CyclomaticComplexity The method 'doActionSelectionDocument(HttpServletRequest)' has a cyclomatic complexity of 40. 3 1092–1286
UnusedLocalVariable Avoid unused local variables such as 'nbDocumentsAffected'. 3 1098
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 1174–1177
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 1213–1218
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 1265–1270
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1410
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1410
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1443
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1443
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1472
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1481
NcssCount The method 'getMassArchivalDocument(HttpServletRequest)' has a NCSS line count of 80. 3 1525–1680
CyclomaticComplexity The method 'getMassArchivalDocument(HttpServletRequest)' has a cyclomatic complexity of 21. 3 1525–1680
NPathComplexity The method 'getMassArchivalDocument(HttpServletRequest)' has an NPath complexity of 2720 3 1525–1680
ExcessiveMethodLength Avoid really long methods. 3 1525–1680
AvoidDuplicateLiterals The String literal "to_archive" appears 4 times in this file; the first occurrence is on line 1,538 3 1538
AvoidDuplicateLiterals The String literal "jsp/admin/plugins/document/MassArchivalDocument.jsp" appears 4 times in this file; the first occurrence is on line 1,582 3 1582
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 1588
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 1589
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1639
AddEmptyString Do not add empty strings 3 1653
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1665
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1665
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1710–1717
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1754–1761
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1789–1796
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1825–1833
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1898
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1898
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 1917–1923
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 1950

fr/paris/lutece/plugins/document/web/DocumentLegacyServletRedirectFilter.java

Rule Violation Priority Ligne
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 3 68–91
ConfusingTernary Avoid if (x != y) ..; else ..; 3 73–80

fr/paris/lutece/plugins/document/web/DocumentMetaPageInclude.java

Rule Violation Priority Ligne
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 74–102
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 86–97
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'sourceXsl' 3 113

fr/paris/lutece/plugins/document/web/DocumentResourceServlet.java

Rule Violation Priority Ligne
FieldNamingConventions The constant name '_cache' doesn't match '[A-Z][A-Z_0-9]*' 1 75
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 153
ConfusingTernary Avoid if (x != y) ..; else ..; 3 201–210
ConfusingTernary Avoid if (x != y) ..; else ..; 3 293–312
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 324
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 324
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 325
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 325

fr/paris/lutece/plugins/document/web/DocumentServiceJspBean.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–439
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 3 159–162
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 259
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 380
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 381
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 382
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 383
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 383
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 385
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 433
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 433

fr/paris/lutece/plugins/document/web/DocumentTypeJspBean.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1018
GodClass Possible God Class (WMC=91, ATFD=177, TCC=24.923%) 3 88–1018
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 88–1018
CyclomaticComplexity The class 'DocumentTypeJspBean' has a total cyclomatic complexity of 91 (highest 11). 3 88–1018
TooManyMethods This class has too many methods, consider refactoring it. 3 89–1018
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 172
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 172
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 189
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 189
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 207
ConfusingTernary Avoid if (x != y) ..; else ..; 3 247–254
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 264
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 264
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 282
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 285
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 286
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 288
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 289
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 329
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 329
LinguisticNaming Linguistics Antipattern - The getter 'getAttributeData' should not return void linguistically 3 460–513
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 463
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 469
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 522
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 541
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 586
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 616–617
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 619
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 619
AddEmptyString Do not add empty strings 3 645
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 743
CyclomaticComplexity The method 'getStyleSheets(MultipartHttpServletRequest)' has a cyclomatic complexity of 11. 3 821–875
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 823
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 827
ConfusingTernary Avoid if (x != y) ..; else ..; 3 890–897
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 3 920–937
ShortVariable Avoid variables with short names like is 3 928
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 931

fr/paris/lutece/plugins/document/web/ResourceServletCache.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 51–54
MissingOverride The method 'getName()' is missing an @Override annotation. 3 60–63
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the removeFromKeyPattern method if you want a default access modifier 3 89–100
DefaultPackage Use explicit scoping instead of the default package private level 3 89–100

fr/paris/lutece/plugins/document/web/ResourceServletContentTypeCache.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 53–62
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 57
MissingOverride The method 'getName()' is missing an @Override annotation. 3 68–71

fr/paris/lutece/plugins/document/web/ResourceValueObject.java

Rule Violation Priority Ligne
UncommentedEmptyConstructor Document empty constructor 3 59–61
MethodReturnsInternalArray Returning '_content' may expose an internal array. 3 104
ArrayIsStoredDirectly The user-supplied array 'content' is stored directly. 3 111

fr/paris/lutece/plugins/document/web/category/CategoryJspBean.java

Rule Violation Priority Ligne
CallSuperInConstructor It is a good practice to call super() in a constructor 3 116–118
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 116–118
UncommentedEmptyConstructor Document empty constructor 3 116–118
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 131
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 150
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 150
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 171
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 174
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 177
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 214
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 229
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 229
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 246
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 247
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 248
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 249
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 250

fr/paris/lutece/plugins/document/web/docsearch/AdvancedSearch.java

Rule Violation Priority Ligne
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 70–253
NPathComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has an NPath complexity of 1409 3 100–211
ExcessiveMethodLength Avoid really long methods. 3 100–211
CyclomaticComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 17. 3 100–211
MissingOverride The method 'getPage(HttpServletRequest, int, Plugin)' is missing an @Override annotation. 3 100–211
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 104
ConfusingTernary Avoid if (x != y) ..; else ..; 3 109–199
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 145
ShortVariable Avoid variables with short names like i 3 148
ShortVariable Avoid variables with short names like c 3 156
ShortVariable Avoid variables with short names like it 3 157
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 177
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 191
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 220
ShortVariable Avoid variables with short names like f 3 220

fr/paris/lutece/plugins/document/web/docsearch/DocSearchJspBean.java

Rule Violation Priority Ligne
NPathComplexity The method 'getSearch(HttpServletRequest)' has an NPath complexity of 408 3 105–211
CyclomaticComplexity The method 'getSearch(HttpServletRequest)' has a cyclomatic complexity of 11. 3 105–211
NcssCount The method 'getSearch(HttpServletRequest)' has a NCSS line count of 61. 3 105–211
ExcessiveMethodLength Avoid really long methods. 3 105–211
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 112
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 112
ConfusingTernary Avoid if (x != y) ..; else ..; 3 125
ConfusingTernary Avoid if (x != y) ..; else ..; 3 129
ConfusingTernary Avoid if (x != y) ..; else ..; 3 137–188
ConfusingTernary Avoid if (x != y) ..; else ..; 3 162–171
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 198–199

fr/paris/lutece/plugins/document/web/history/DocumentHistoryJspBean.java

Rule Violation Priority Ligne
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 95
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 95

fr/paris/lutece/plugins/document/web/portlet/DocumentListPortletJspBean.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 3 105–116
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 3 124–137
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 3 145–175
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 149
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 152
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 3 183–230
LinguisticNaming Linguistics Antipattern - The setter 'setIdCategory' should not return any type except void linguistically 3 237–255
ShortVariable Avoid variables with short names like i 3 244
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 277
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 277
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 295
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 312
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 312

fr/paris/lutece/plugins/document/web/portlet/DocumentPortletJspBean.java

Rule Violation Priority Ligne
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 3 107–118
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 3 126–139
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 3 147–177
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 151
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 154
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 3 185–231
LinguisticNaming Linguistics Antipattern - The setter 'setIdCategory' should not return any type except void linguistically 3 238–256
ShortVariable Avoid variables with short names like i 3 245
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 278
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 278
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 296
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 313

fr/paris/lutece/plugins/document/web/publishing/DocumentPublishingJspBean.java

Rule Violation Priority Ligne
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1171
ExcessiveClassLength Avoid really long classes. 3 93–1171
CyclomaticComplexity The class 'DocumentPublishingJspBean' has a total cyclomatic complexity of 110 (highest 21). 3 93–1171
FieldNamingConventions The constant name 'MARk_DOCUMENT_LIST_PORTLET_LIST' doesn't match '[A-Z][A-Z_0-9]*' 1 147
NcssCount The method 'getManageDocumentPublishing(HttpServletRequest)' has a NCSS line count of 61. 3 181–299
NPathComplexity The method 'getManageDocumentPublishing(HttpServletRequest)' has an NPath complexity of 4322 3 181–299
ExcessiveMethodLength Avoid really long methods. 3 181–299
CyclomaticComplexity The method 'getManageDocumentPublishing(HttpServletRequest)' has a cyclomatic complexity of 21. 3 181–299
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 194
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 194
ConfusingTernary Avoid if (x != y) ..; else ..; 3 204–205
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 221–224
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 244
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 246–262
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 255
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 327
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listFilteredPortlets' 3 340
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 369
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'listFilteredPortlets' 3 381
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 395
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 406
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 406
CyclomaticComplexity The method 'doAssignedDocument(HttpServletRequest)' has a cyclomatic complexity of 11. 3 436–496
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 445
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 463
ConfusingTernary Avoid if (x != y) ..; else ..; 3 513–520
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 535
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 536
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 546
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 546
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 3 572–579
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 3 604–621
MissingBreakInSwitch A switch statement does not contain a break 3 604–621
ConfusingTernary Avoid if (x != y) ..; else ..; 3 624–632
TooFewBranchesForASwitchStatement A switch with less than three branches is inefficient, use a if statement instead. 3 665–683
MissingBreakInSwitch A switch statement does not contain a break 3 665–683
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 768
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 768
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 883
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 883
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 928
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 928
UnusedFormalParameter Avoid unused method parameters such as 'request'. 3 1039
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1049
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1049
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1065
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1065
UnusedFormalParameter Avoid unused method parameters such as 'request'. 3 1089
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1092
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1102
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 1102
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1109
LinguisticNaming Linguistics Antipattern - The setter 'setFillFilter' should not return any type except void linguistically 3 1132–1170
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1137–1167

fr/paris/lutece/plugins/document/web/rules/DocumentRulesJspBean.java

Rule Violation Priority Ligne
FieldNamingConventions The field name '_StrRuleAttributeSelected' doesn't match '_[a-z][a-zA-Z0-9]*' 1 92
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 142
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 153
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 153
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 179
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 179
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 233
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 233

fr/paris/lutece/plugins/document/web/spaces/DocumentSpaceJspBean.java

Rule Violation Priority Ligne
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 130
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 130
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 162
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 197
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 197
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 254
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 255
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 258
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 259
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 260
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 262
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 263
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 282–285
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 304
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 315
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 328
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 385
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 386
ConfusingTernary Avoid if (x != y) ..; else ..; 3 389–396
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 403
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 403
CyclomaticComplexity The method 'doMoveSpace(HttpServletRequest)' has a cyclomatic complexity of 10. 3 421–471