Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/quicklinks/business/EntryUrlDisplayProperties.java

Rule Violation Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 47
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 48

fr/paris/lutece/plugins/quicklinks/business/EntryUrlLinkProperties.java

Rule Violation Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 47
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 48

fr/paris/lutece/plugins/quicklinks/business/QuicklinksHome.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 46–161

fr/paris/lutece/plugins/quicklinks/business/QuicklinksType.java

Rule Violation Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 46
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 47

fr/paris/lutece/plugins/quicklinks/business/insertservice/InternalLinkInsertServiceDAO.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 45–107
FieldNamingConventions The constant name '_dao' doesn't match '[A-Z][A-Z_0-9]*' 50

fr/paris/lutece/plugins/quicklinks/business/insertservice/InternalLinkInsertServiceHome.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 42–65

Priority 2

fr/paris/lutece/plugins/quicklinks/business/EntryDAO.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 269
GuardLogStatement Logger calls should be surrounded by log level guards. 277
GuardLogStatement Logger calls should be surrounded by log level guards. 284
GuardLogStatement Logger calls should be surrounded by log level guards. 291
GuardLogStatement Logger calls should be surrounded by log level guards. 298
GuardLogStatement Logger calls should be surrounded by log level guards. 305

fr/paris/lutece/plugins/quicklinks/business/EntryInternalLink.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 73

fr/paris/lutece/plugins/quicklinks/business/EntrySelect.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 90

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOption.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 72

fr/paris/lutece/plugins/quicklinks/business/EntryText.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 83

fr/paris/lutece/plugins/quicklinks/business/EntryUrl.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 201

fr/paris/lutece/plugins/quicklinks/business/Quicklinks.java

Rule Violation Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 294

fr/paris/lutece/plugins/quicklinks/business/QuicklinksDAO.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 305
GuardLogStatement Logger calls should be surrounded by log level guards. 315
GuardLogStatement Logger calls should be surrounded by log level guards. 323–324
GuardLogStatement Logger calls should be surrounded by log level guards. 331
GuardLogStatement Logger calls should be surrounded by log level guards. 338

Priority 3

fr/paris/lutece/plugins/quicklinks/business/Entry.java

Rule Violation Line
CommentRequired Header comments are required 46–333
MissingOverride The method 'getIdParent()' is missing an @Override annotation. 58–61
MissingOverride The method 'setIdParent(int)' is missing an @Override annotation. 67–70
MissingOverride The method 'getIdQuicklinks()' is missing an @Override annotation. 77–80
CommentRequired Public method and constructor comments are required 77–80
MissingOverride The method 'setIdQuicklinks(int)' is missing an @Override annotation. 87–90
CommentRequired Public method and constructor comments are required 87–90
MissingOverride The method 'getId()' is missing an @Override annotation. 97–100
CommentRequired Public method and constructor comments are required 97–100
MissingOverride The method 'setId(int)' is missing an @Override annotation. 107–110
CommentRequired Public method and constructor comments are required 107–110
MissingOverride The method 'getIdOrder()' is missing an @Override annotation. 117–120
CommentRequired Public method and constructor comments are required 117–120
MissingOverride The method 'setIdOrder(int)' is missing an @Override annotation. 127–130
CommentRequired Public method and constructor comments are required 127–130
MissingOverride The method 'getEntryType()' is missing an @Override annotation. 137–140
MissingOverride The method 'setEntryType(EntryType)' is missing an @Override annotation. 147–150
CommentRequired Public method and constructor comments are required 159–162
MissingOverride The method 'getTitle()' is missing an @Override annotation. 159–162
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 169–171
CommentRequired Public method and constructor comments are required 169–171
UncommentedEmptyMethodBody Document empty method body 170–171
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 176–179
MissingOverride The method 'clone()' is missing an @Override annotation. 176–179
MissingOverride The method 'copy(int, Plugin)' is missing an @Override annotation. 190–193
MissingOverride The method 'copy(int, Plugin, String)' is missing an @Override annotation. 206–236
MissingOverride The method 'getHtml(Plugin, Locale)' is missing an @Override annotation. 243–246
CommentRequired Public method and constructor comments are required 243–246
MissingOverride The method 'getChilds(Plugin)' is missing an @Override annotation. 253–256
CommentRequired Public method and constructor comments are required 253–256
CommentRequired Public method and constructor comments are required 263–266
MissingOverride The method 'getParent(Plugin)' is missing an @Override annotation. 263–266
MissingOverride The method 'setSpecificParameters(HttpServletRequest)' is missing an @Override annotation. 275–278
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificParameters' should not return any type except void linguistically 275–278
MissingOverride The method 'getSpecificParameters(HttpServletRequest, Map, Plugin)' is missing an @Override annotation. 290–292
LinguisticNaming Linguistics Antipattern - The getter 'getSpecificParameters' should not return void linguistically 290–292
UncommentedEmptyMethodBody Document empty method body 291–292
MissingOverride The method 'loadSpecificParameters(Plugin)' is missing an @Override annotation. 300–302
UncommentedEmptyMethodBody Document empty method body 301–302
MissingOverride The method 'createSpecificParameters(Plugin)' is missing an @Override annotation. 310–312
UncommentedEmptyMethodBody Document empty method body 311–312
MissingOverride The method 'removeSpecificParameters(Plugin)' is missing an @Override annotation. 320–322
UncommentedEmptyMethodBody Document empty method body 321–322
MissingOverride The method 'updateSpecificParameters(Plugin)' is missing an @Override annotation. 330–332
UncommentedEmptyMethodBody Document empty method body 331–332

fr/paris/lutece/plugins/quicklinks/business/EntryDAO.java

Rule Violation Line
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 102–124
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 132–140
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 148–163
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 171–184
MissingOverride The method 'findByFilter(EntryFilter, Plugin)' is missing an @Override annotation. 193–218
CyclomaticComplexity The method 'getDaoFromFilter(String, EntryFilter, Plugin)' has a cyclomatic complexity of 17. 227–308
NPathComplexity The method 'getDaoFromFilter(String, EntryFilter, Plugin)' has an NPath complexity of 15552 227–308
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 234
ConfusingTernary Avoid if (x != y) ..; else ..; 234
ConfusingTernary Avoid if (x != y) ..; else ..; 240
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 240
ConfusingTernary Avoid if (x != y) ..; else ..; 246
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 246
ConfusingTernary Avoid if (x != y) ..; else ..; 252
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 252
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 258
ConfusingTernary Avoid if (x != y) ..; else ..; 258
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 264
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 267

fr/paris/lutece/plugins/quicklinks/business/EntryHome.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 50–486
AvoidProtectedFieldInFinalClass Avoid protected fields in a final class. Change to private or package access. 53
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificEntry' should not return any type except void linguistically 314–339
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 361

fr/paris/lutece/plugins/quicklinks/business/EntryInternalLinkDAO.java

Rule Violation Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 61–93
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 101–109
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 118–147
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 120
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 155–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 157

fr/paris/lutece/plugins/quicklinks/business/EntrySelectDAO.java

Rule Violation Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 58–90
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 60
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 98–106
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 115–144
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 117
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 152–179
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 154

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOption.java

Rule Violation Line
CloneMethodMustBePublic clone() method must be public if the class implements Cloneable 72–81
CloneMethodMustImplementCloneable clone() method should be implemented only if implementing Cloneable interface 72–81

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOptionDAO.java

Rule Violation Line
MissingOverride The method 'load(int, int, Plugin)' is missing an @Override annotation. 95–116
MissingOverride The method 'delete(int, int, Plugin)' is missing an @Override annotation. 126–135
MissingOverride The method 'insert(EntrySelectOption, Plugin)' is missing an @Override annotation. 144–160
MissingOverride The method 'store(EntrySelectOption, Plugin)' is missing an @Override annotation. 168–181
MissingOverride The method 'select(Plugin)' is missing an @Override annotation. 189–210
MissingOverride The method 'selectByEntry(int, Plugin)' is missing an @Override annotation. 219–239

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOptionHome.java

Rule Violation Line
AvoidProtectedFieldInFinalClass Avoid protected fields in a final class. Change to private or package access. 50

fr/paris/lutece/plugins/quicklinks/business/EntryTextDAO.java

Rule Violation Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 61–93
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 101–109
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 118–147
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 120
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 155–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 157

fr/paris/lutece/plugins/quicklinks/business/EntryTypeDAO.java

Rule Violation Line
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 61–80
MissingOverride The method 'select(Plugin)' is missing an @Override annotation. 88–109

fr/paris/lutece/plugins/quicklinks/business/EntryUrl.java

Rule Violation Line
MethodReturnsInternalArray Returning '_bytesImage' may expose an internal array. 137
ArrayIsStoredDirectly The user-supplied array 'image' is stored directly. 144
CyclomaticComplexity The method 'setSpecificParameters(HttpServletRequest)' has a cyclomatic complexity of 11. 265–329
NPathComplexity The method 'setSpecificParameters(HttpServletRequest)' has an NPath complexity of 240 265–329
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 276

fr/paris/lutece/plugins/quicklinks/business/EntryUrlDAO.java

Rule Violation Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 61–99
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 107–115
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 124–159
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 126
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 167–201
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 169

fr/paris/lutece/plugins/quicklinks/business/EntryUrlDisplayProperties.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'EntryUrlDisplayProperties(int, String)': enum constructors are implicitly private 56–60

fr/paris/lutece/plugins/quicklinks/business/EntryUrlLinkProperties.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'EntryUrlLinkProperties(int, String)': enum constructors are implicitly private 56–60

fr/paris/lutece/plugins/quicklinks/business/IEntry.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdQuicklinks': the method is declared in an interface type 53
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdQuicklinks': the method is declared in an interface type 59
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getId': the method is declared in an interface type 64
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setId': the method is declared in an interface type 70
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdOrder': the method is declared in an interface type 75
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdOrder': the method is declared in an interface type 81
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdParent': the method is declared in an interface type 86
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdParent': the method is declared in an interface type 92
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getParent': the method is declared in an interface type 99
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getChilds': the method is declared in an interface type 108
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getEntryType': the method is declared in an interface type 113
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setEntryType': the method is declared in an interface type 119
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getTitle': the method is declared in an interface type 124
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setTitle': the method is declared in an interface type 130
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getHtml': the method is declared in an interface type 141
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getSpecificParameters': the method is declared in an interface type 153
LinguisticNaming Linguistics Antipattern - The getter 'getSpecificParameters' should not return void linguistically 153
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificParameters' should not return any type except void linguistically 162
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setSpecificParameters': the method is declared in an interface type 162
UnnecessaryModifier Unnecessary modifier 'public' on method 'clone': the method is declared in an interface type 169
CloneMethodMustImplementCloneable clone() method should be implemented only if implementing Cloneable interface 169
UnnecessaryModifier Unnecessary modifier 'public' on method 'copy': the method is declared in an interface type 180
UnnecessaryModifier Unnecessary modifier 'public' on method 'copy': the method is declared in an interface type 193
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'loadSpecificParameters': the method is declared in an interface type 201
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'createSpecificParameters': the method is declared in an interface type 209
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'removeSpecificParameters': the method is declared in an interface type 217
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'updateSpecificParameters': the method is declared in an interface type 225

fr/paris/lutece/plugins/quicklinks/business/Quicklinks.java

Rule Violation Line
NonThreadSafeSingleton Singleton is not thread safe 99–103
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 203–206
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 211–214
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 219–222
LinguisticNaming Linguistics Antipattern - The getter 'getEntryXml' should not return void linguistically 270–286
CloneMethodMustBePublic clone() method must be public if the class implements Cloneable 294–304

fr/paris/lutece/plugins/quicklinks/business/QuicklinksAction.java

Rule Violation Line
MissingOverride The method 'getPermission()' is missing an @Override annotation. 186–189
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 208–211

fr/paris/lutece/plugins/quicklinks/business/QuicklinksActionDAO.java

Rule Violation Line
MissingOverride The method 'selectActionsByQuicklinksState(boolean, Plugin)' is missing an @Override annotation. 58–81

fr/paris/lutece/plugins/quicklinks/business/QuicklinksDAO.java

Rule Violation Line
MissingOverride The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. 79–93
MissingOverride The method 'insert(Quicklinks, Plugin)' is missing an @Override annotation. 102–120
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 102–120
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 128–136
MissingOverride The method 'store(Quicklinks, Plugin)' is missing an @Override annotation. 144–159
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 168–191
MissingOverride The method 'findAll(Plugin)' is missing an @Override annotation. 199–223
MissingOverride The method 'findbyFilter(QuicklinksFilter, Plugin)' is missing an @Override annotation. 232–257
NPathComplexity The method 'getDaoFromFilter(String, QuicklinksFilter, Plugin)' has an NPath complexity of 2048 266–342
CyclomaticComplexity The method 'getDaoFromFilter(String, QuicklinksFilter, Plugin)' has a cyclomatic complexity of 14. 266–342
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 302

fr/paris/lutece/plugins/quicklinks/business/QuicklinksFilter.java

Rule Violation Line
MethodReturnsInternalArray Returning '_arrayRoleKey' may expose an internal array. 52
ArrayIsStoredDirectly The user-supplied array 'arrayRoleKey' is stored directly. 62

fr/paris/lutece/plugins/quicklinks/business/QuicklinksType.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'QuicklinksType(int, String)': enum constructors are implicitly private 55–59

fr/paris/lutece/plugins/quicklinks/business/QuicklinksWorkgroupRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 60–73
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 84–88

fr/paris/lutece/plugins/quicklinks/business/insertservice/InternalLinkInsertServiceDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 64–67
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInstance method if you want a default access modifier 64–67
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the selectPageListbyName method if you want a default access modifier 76–106
DefaultPackage Use explicit scoping instead of the default package private level 76–106

fr/paris/lutece/plugins/quicklinks/business/portlet/IQuicklinksPortletDAO.java

Rule Violation Line
MissingOverride The method 'delete(int)' is missing an @Override annotation. 51
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 60
MissingOverride The method 'load(int)' is missing an @Override annotation. 70
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 88

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortlet.java

Rule Violation Line
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 72–99
ConfusingTernary Avoid if (x != y) ..; else ..; 77–84
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 108–111
MissingOverride The method 'remove()' is missing an @Override annotation. 124–127

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortletDAO.java

Rule Violation Line
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 60–71
ShortVariable Avoid variables with short names like p 62
MissingOverride The method 'delete(int)' is missing an @Override annotation. 79–86
MissingOverride The method 'load(int)' is missing an @Override annotation. 96–111
MissingOverride The method 'selectCountPortletByIdQuicklinks(int)' is missing an @Override annotation. 119–135
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 143–153
ShortVariable Avoid variables with short names like p 145

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortletHome.java

Rule Violation Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 52
CallSuperInConstructor It is a good practice to call super() in a constructor 57–63
NonThreadSafeSingleton Singleton is not thread safe 72–75
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 85–89
MissingOverride The method 'getDAO()' is missing an @Override annotation. 96–99

fr/paris/lutece/plugins/quicklinks/service/EntryUrlService.java

Rule Violation Line
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the EntryUrlService constructor if you want a default access modifier 59–62
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 81–94
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 101–104

fr/paris/lutece/plugins/quicklinks/service/QuicklinksResourceIdService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 77–80
MissingOverride The method 'register()' is missing an @Override annotation. 85–119
ShortVariable Avoid variables with short names like rt 87
ShortVariable Avoid variables with short names like p 93
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 128–131
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 142–158

fr/paris/lutece/plugins/quicklinks/service/QuicklinksService.java

Rule Violation Line
CommentRequired Header comments are required 38–60

fr/paris/lutece/plugins/quicklinks/web/InternalLinkInsertServiceJspBean.java

Rule Violation Line
ImmutableField Private field '_pageService' could be made final; it is only initialized in the declaration or constructor. 107
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 118–158
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 205
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 206
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 207
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 208
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 210
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 239

fr/paris/lutece/plugins/quicklinks/web/QuicklinksEntrySelectJspBean.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 128
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 202
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 245
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 332

fr/paris/lutece/plugins/quicklinks/web/QuicklinksInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 99–113
UselessStringValueOf No need to call String.valueOf to append to a string. 111
ShortVariable Avoid variables with short names like in 141
ConfusingTernary Avoid if (x != y) ..; else ..; 171–178

fr/paris/lutece/plugins/quicklinks/web/QuicklinksJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1165
CyclomaticComplexity The class 'QuicklinksJspBean' has a total cyclomatic complexity of 113 (highest 13). 83–1165
ExcessiveClassLength Avoid really long classes. 83–1165
TooManyMethods This class has too many methods, consider refactoring it. 84–1165
UselessStringValueOf No need to call String.valueOf to append to a string. 216
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 250
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 306
CyclomaticComplexity The method 'doModifyQuicklinks(HttpServletRequest)' has a cyclomatic complexity of 13. 409–478
NPathComplexity The method 'doModifyQuicklinks(HttpServletRequest)' has an NPath complexity of 384 409–478
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 416
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 422
ConfusingTernary Avoid if (x != y) ..; else ..; 467–475
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 685
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 686
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 688
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 734
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 735
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 737
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 739
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 809
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 856
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 858
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 907
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 946
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 987
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1026
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1075
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1133

fr/paris/lutece/plugins/quicklinks/web/portlet/QuicklinksPortletJspBean.java

Rule Violation Line
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 89–117
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 126–167
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 176–215
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 224–263

Priority 4

fr/paris/lutece/plugins/quicklinks/business/EntrySelect.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.constants.Messages' 47

fr/paris/lutece/plugins/quicklinks/business/QuicklinksFilter.java

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

Files

fr/paris/lutece/plugins/quicklinks/business/Entry.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 46–333
MissingOverride The method 'getIdParent()' is missing an @Override annotation. 3 58–61
MissingOverride The method 'setIdParent(int)' is missing an @Override annotation. 3 67–70
MissingOverride The method 'getIdQuicklinks()' is missing an @Override annotation. 3 77–80
CommentRequired Public method and constructor comments are required 3 77–80
MissingOverride The method 'setIdQuicklinks(int)' is missing an @Override annotation. 3 87–90
CommentRequired Public method and constructor comments are required 3 87–90
MissingOverride The method 'getId()' is missing an @Override annotation. 3 97–100
CommentRequired Public method and constructor comments are required 3 97–100
MissingOverride The method 'setId(int)' is missing an @Override annotation. 3 107–110
CommentRequired Public method and constructor comments are required 3 107–110
MissingOverride The method 'getIdOrder()' is missing an @Override annotation. 3 117–120
CommentRequired Public method and constructor comments are required 3 117–120
MissingOverride The method 'setIdOrder(int)' is missing an @Override annotation. 3 127–130
CommentRequired Public method and constructor comments are required 3 127–130
MissingOverride The method 'getEntryType()' is missing an @Override annotation. 3 137–140
MissingOverride The method 'setEntryType(EntryType)' is missing an @Override annotation. 3 147–150
CommentRequired Public method and constructor comments are required 3 159–162
MissingOverride The method 'getTitle()' is missing an @Override annotation. 3 159–162
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 3 169–171
CommentRequired Public method and constructor comments are required 3 169–171
UncommentedEmptyMethodBody Document empty method body 3 170–171
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 176–179
MissingOverride The method 'clone()' is missing an @Override annotation. 3 176–179
MissingOverride The method 'copy(int, Plugin)' is missing an @Override annotation. 3 190–193
MissingOverride The method 'copy(int, Plugin, String)' is missing an @Override annotation. 3 206–236
MissingOverride The method 'getHtml(Plugin, Locale)' is missing an @Override annotation. 3 243–246
CommentRequired Public method and constructor comments are required 3 243–246
MissingOverride The method 'getChilds(Plugin)' is missing an @Override annotation. 3 253–256
CommentRequired Public method and constructor comments are required 3 253–256
CommentRequired Public method and constructor comments are required 3 263–266
MissingOverride The method 'getParent(Plugin)' is missing an @Override annotation. 3 263–266
MissingOverride The method 'setSpecificParameters(HttpServletRequest)' is missing an @Override annotation. 3 275–278
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificParameters' should not return any type except void linguistically 3 275–278
MissingOverride The method 'getSpecificParameters(HttpServletRequest, Map, Plugin)' is missing an @Override annotation. 3 290–292
LinguisticNaming Linguistics Antipattern - The getter 'getSpecificParameters' should not return void linguistically 3 290–292
UncommentedEmptyMethodBody Document empty method body 3 291–292
MissingOverride The method 'loadSpecificParameters(Plugin)' is missing an @Override annotation. 3 300–302
UncommentedEmptyMethodBody Document empty method body 3 301–302
MissingOverride The method 'createSpecificParameters(Plugin)' is missing an @Override annotation. 3 310–312
UncommentedEmptyMethodBody Document empty method body 3 311–312
MissingOverride The method 'removeSpecificParameters(Plugin)' is missing an @Override annotation. 3 320–322
UncommentedEmptyMethodBody Document empty method body 3 321–322
MissingOverride The method 'updateSpecificParameters(Plugin)' is missing an @Override annotation. 3 330–332
UncommentedEmptyMethodBody Document empty method body 3 331–332

fr/paris/lutece/plugins/quicklinks/business/EntryDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 102–124
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 132–140
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 3 148–163
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 3 171–184
MissingOverride The method 'findByFilter(EntryFilter, Plugin)' is missing an @Override annotation. 3 193–218
CyclomaticComplexity The method 'getDaoFromFilter(String, EntryFilter, Plugin)' has a cyclomatic complexity of 17. 3 227–308
NPathComplexity The method 'getDaoFromFilter(String, EntryFilter, Plugin)' has an NPath complexity of 15552 3 227–308
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 234
ConfusingTernary Avoid if (x != y) ..; else ..; 3 234
ConfusingTernary Avoid if (x != y) ..; else ..; 3 240
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 240
ConfusingTernary Avoid if (x != y) ..; else ..; 3 246
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 246
ConfusingTernary Avoid if (x != y) ..; else ..; 3 252
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 252
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 258
ConfusingTernary Avoid if (x != y) ..; else ..; 3 258
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 264
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 267
GuardLogStatement Logger calls should be surrounded by log level guards. 2 269
GuardLogStatement Logger calls should be surrounded by log level guards. 2 277
GuardLogStatement Logger calls should be surrounded by log level guards. 2 284
GuardLogStatement Logger calls should be surrounded by log level guards. 2 291
GuardLogStatement Logger calls should be surrounded by log level guards. 2 298
GuardLogStatement Logger calls should be surrounded by log level guards. 2 305

fr/paris/lutece/plugins/quicklinks/business/EntryHome.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 50–486
AvoidProtectedFieldInFinalClass Avoid protected fields in a final class. Change to private or package access. 3 53
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificEntry' should not return any type except void linguistically 3 314–339
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 361

fr/paris/lutece/plugins/quicklinks/business/EntryInternalLink.java

Rule Violation Priority Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 73

fr/paris/lutece/plugins/quicklinks/business/EntryInternalLinkDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 3 61–93
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 101–109
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 3 118–147
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 120
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 3 155–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 157

fr/paris/lutece/plugins/quicklinks/business/EntrySelect.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.constants.Messages' 4 47
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 90

fr/paris/lutece/plugins/quicklinks/business/EntrySelectDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 3 58–90
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 60
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 98–106
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 3 115–144
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 117
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 3 152–179
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 154

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOption.java

Rule Violation Priority Line
CloneMethodMustBePublic clone() method must be public if the class implements Cloneable 3 72–81
CloneMethodMustImplementCloneable clone() method should be implemented only if implementing Cloneable interface 3 72–81
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 72

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOptionDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(int, int, Plugin)' is missing an @Override annotation. 3 95–116
MissingOverride The method 'delete(int, int, Plugin)' is missing an @Override annotation. 3 126–135
MissingOverride The method 'insert(EntrySelectOption, Plugin)' is missing an @Override annotation. 3 144–160
MissingOverride The method 'store(EntrySelectOption, Plugin)' is missing an @Override annotation. 3 168–181
MissingOverride The method 'select(Plugin)' is missing an @Override annotation. 3 189–210
MissingOverride The method 'selectByEntry(int, Plugin)' is missing an @Override annotation. 3 219–239

fr/paris/lutece/plugins/quicklinks/business/EntrySelectOptionHome.java

Rule Violation Priority Line
AvoidProtectedFieldInFinalClass Avoid protected fields in a final class. Change to private or package access. 3 50

fr/paris/lutece/plugins/quicklinks/business/EntryText.java

Rule Violation Priority Line
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 83

fr/paris/lutece/plugins/quicklinks/business/EntryTextDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 3 61–93
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 101–109
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 3 118–147
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 120
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 3 155–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 157

fr/paris/lutece/plugins/quicklinks/business/EntryTypeDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 61–80
MissingOverride The method 'select(Plugin)' is missing an @Override annotation. 3 88–109

fr/paris/lutece/plugins/quicklinks/business/EntryUrl.java

Rule Violation Priority Line
MethodReturnsInternalArray Returning '_bytesImage' may expose an internal array. 3 137
ArrayIsStoredDirectly The user-supplied array 'image' is stored directly. 3 144
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 201
CyclomaticComplexity The method 'setSpecificParameters(HttpServletRequest)' has a cyclomatic complexity of 11. 3 265–329
NPathComplexity The method 'setSpecificParameters(HttpServletRequest)' has an NPath complexity of 240 3 265–329
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 276

fr/paris/lutece/plugins/quicklinks/business/EntryUrlDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(IEntry, Plugin)' is missing an @Override annotation. 3 61–99
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 63
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 107–115
MissingOverride The method 'insert(IEntry, Plugin)' is missing an @Override annotation. 3 124–159
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 126
MissingOverride The method 'store(IEntry, Plugin)' is missing an @Override annotation. 3 167–201
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 169

fr/paris/lutece/plugins/quicklinks/business/EntryUrlDisplayProperties.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 1 48
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'EntryUrlDisplayProperties(int, String)': enum constructors are implicitly private 3 56–60

fr/paris/lutece/plugins/quicklinks/business/EntryUrlLinkProperties.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 1 48
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'EntryUrlLinkProperties(int, String)': enum constructors are implicitly private 3 56–60

fr/paris/lutece/plugins/quicklinks/business/IEntry.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdQuicklinks': the method is declared in an interface type 3 53
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdQuicklinks': the method is declared in an interface type 3 59
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getId': the method is declared in an interface type 3 64
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setId': the method is declared in an interface type 3 70
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdOrder': the method is declared in an interface type 3 75
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdOrder': the method is declared in an interface type 3 81
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getIdParent': the method is declared in an interface type 3 86
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setIdParent': the method is declared in an interface type 3 92
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getParent': the method is declared in an interface type 3 99
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getChilds': the method is declared in an interface type 3 108
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getEntryType': the method is declared in an interface type 3 113
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setEntryType': the method is declared in an interface type 3 119
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getTitle': the method is declared in an interface type 3 124
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setTitle': the method is declared in an interface type 3 130
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getHtml': the method is declared in an interface type 3 141
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'getSpecificParameters': the method is declared in an interface type 3 153
LinguisticNaming Linguistics Antipattern - The getter 'getSpecificParameters' should not return void linguistically 3 153
LinguisticNaming Linguistics Antipattern - The setter 'setSpecificParameters' should not return any type except void linguistically 3 162
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'setSpecificParameters': the method is declared in an interface type 3 162
UnnecessaryModifier Unnecessary modifier 'public' on method 'clone': the method is declared in an interface type 3 169
CloneMethodMustImplementCloneable clone() method should be implemented only if implementing Cloneable interface 3 169
UnnecessaryModifier Unnecessary modifier 'public' on method 'copy': the method is declared in an interface type 3 180
UnnecessaryModifier Unnecessary modifier 'public' on method 'copy': the method is declared in an interface type 3 193
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'loadSpecificParameters': the method is declared in an interface type 3 201
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'createSpecificParameters': the method is declared in an interface type 3 209
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'removeSpecificParameters': the method is declared in an interface type 3 217
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'updateSpecificParameters': the method is declared in an interface type 3 225

fr/paris/lutece/plugins/quicklinks/business/Quicklinks.java

Rule Violation Priority Line
NonThreadSafeSingleton Singleton is not thread safe 3 99–103
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 203–206
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 211–214
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 219–222
LinguisticNaming Linguistics Antipattern - The getter 'getEntryXml' should not return void linguistically 3 270–286
ProperCloneImplementation Object clone() should be implemented with super.clone() 2 294
CloneMethodMustBePublic clone() method must be public if the class implements Cloneable 3 294–304

fr/paris/lutece/plugins/quicklinks/business/QuicklinksAction.java

Rule Violation Priority Line
MissingOverride The method 'getPermission()' is missing an @Override annotation. 3 186–189
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 208–211

fr/paris/lutece/plugins/quicklinks/business/QuicklinksActionDAO.java

Rule Violation Priority Line
MissingOverride The method 'selectActionsByQuicklinksState(boolean, Plugin)' is missing an @Override annotation. 3 58–81

fr/paris/lutece/plugins/quicklinks/business/QuicklinksDAO.java

Rule Violation Priority Line
MissingOverride The method 'newPrimaryKey(Plugin)' is missing an @Override annotation. 3 79–93
MissingOverride The method 'insert(Quicklinks, Plugin)' is missing an @Override annotation. 3 102–120
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 102–120
MissingOverride The method 'delete(int, Plugin)' is missing an @Override annotation. 3 128–136
MissingOverride The method 'store(Quicklinks, Plugin)' is missing an @Override annotation. 3 144–159
MissingOverride The method 'load(int, Plugin)' is missing an @Override annotation. 3 168–191
MissingOverride The method 'findAll(Plugin)' is missing an @Override annotation. 3 199–223
MissingOverride The method 'findbyFilter(QuicklinksFilter, Plugin)' is missing an @Override annotation. 3 232–257
NPathComplexity The method 'getDaoFromFilter(String, QuicklinksFilter, Plugin)' has an NPath complexity of 2048 3 266–342
CyclomaticComplexity The method 'getDaoFromFilter(String, QuicklinksFilter, Plugin)' has a cyclomatic complexity of 14. 3 266–342
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 302
GuardLogStatement Logger calls should be surrounded by log level guards. 2 305
GuardLogStatement Logger calls should be surrounded by log level guards. 2 315
GuardLogStatement Logger calls should be surrounded by log level guards. 2 323–324
GuardLogStatement Logger calls should be surrounded by log level guards. 2 331
GuardLogStatement Logger calls should be surrounded by log level guards. 2 338

fr/paris/lutece/plugins/quicklinks/business/QuicklinksFilter.java

Rule Violation Priority Line
MethodReturnsInternalArray Returning '_arrayRoleKey' may expose an internal array. 3 52
ArrayIsStoredDirectly The user-supplied array 'arrayRoleKey' is stored directly. 3 62
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 62

fr/paris/lutece/plugins/quicklinks/business/QuicklinksHome.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 46–161

fr/paris/lutece/plugins/quicklinks/business/QuicklinksType.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_nValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 46
FieldNamingConventions The final field name '_strI18nKey' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'QuicklinksType(int, String)': enum constructors are implicitly private 3 55–59

fr/paris/lutece/plugins/quicklinks/business/QuicklinksWorkgroupRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 60–73
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 84–88

fr/paris/lutece/plugins/quicklinks/business/insertservice/InternalLinkInsertServiceDAO.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 45–107
FieldNamingConventions The constant name '_dao' doesn't match '[A-Z][A-Z_0-9]*' 1 50
DefaultPackage Use explicit scoping instead of the default package private level 3 64–67
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInstance method if you want a default access modifier 3 64–67
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the selectPageListbyName method if you want a default access modifier 3 76–106
DefaultPackage Use explicit scoping instead of the default package private level 3 76–106

fr/paris/lutece/plugins/quicklinks/business/insertservice/InternalLinkInsertServiceHome.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 42–65

fr/paris/lutece/plugins/quicklinks/business/portlet/IQuicklinksPortletDAO.java

Rule Violation Priority Line
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 51
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 60
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 70
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 88

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortlet.java

Rule Violation Priority Line
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 72–99
ConfusingTernary Avoid if (x != y) ..; else ..; 3 77–84
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 108–111
MissingOverride The method 'remove()' is missing an @Override annotation. 3 124–127

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortletDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 60–71
ShortVariable Avoid variables with short names like p 3 62
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 79–86
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 96–111
MissingOverride The method 'selectCountPortletByIdQuicklinks(int)' is missing an @Override annotation. 3 119–135
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 143–153
ShortVariable Avoid variables with short names like p 3 145

fr/paris/lutece/plugins/quicklinks/business/portlet/QuicklinksPortletHome.java

Rule Violation Priority Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 52
CallSuperInConstructor It is a good practice to call super() in a constructor 3 57–63
NonThreadSafeSingleton Singleton is not thread safe 3 72–75
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 3 85–89
MissingOverride The method 'getDAO()' is missing an @Override annotation. 3 96–99

fr/paris/lutece/plugins/quicklinks/service/EntryUrlService.java

Rule Violation Priority Line
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the EntryUrlService constructor if you want a default access modifier 3 59–62
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 3 81–94
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 3 101–104

fr/paris/lutece/plugins/quicklinks/service/QuicklinksResourceIdService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 77–80
MissingOverride The method 'register()' is missing an @Override annotation. 3 85–119
ShortVariable Avoid variables with short names like rt 3 87
ShortVariable Avoid variables with short names like p 3 93
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 142–158

fr/paris/lutece/plugins/quicklinks/service/QuicklinksService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–60

fr/paris/lutece/plugins/quicklinks/web/InternalLinkInsertServiceJspBean.java

Rule Violation Priority Line
ImmutableField Private field '_pageService' could be made final; it is only initialized in the declaration or constructor. 3 107
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 3 118–158
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 205
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 206
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 207
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 208
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 210
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 239

fr/paris/lutece/plugins/quicklinks/web/QuicklinksEntrySelectJspBean.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 128
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 202
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 245
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 332

fr/paris/lutece/plugins/quicklinks/web/QuicklinksInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 99–113
UselessStringValueOf No need to call String.valueOf to append to a string. 3 111
ShortVariable Avoid variables with short names like in 3 141
ConfusingTernary Avoid if (x != y) ..; else ..; 3 171–178

fr/paris/lutece/plugins/quicklinks/web/QuicklinksJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1165
CyclomaticComplexity The class 'QuicklinksJspBean' has a total cyclomatic complexity of 113 (highest 13). 3 83–1165
ExcessiveClassLength Avoid really long classes. 3 83–1165
TooManyMethods This class has too many methods, consider refactoring it. 3 84–1165
UselessStringValueOf No need to call String.valueOf to append to a string. 3 216
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 250
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 306
CyclomaticComplexity The method 'doModifyQuicklinks(HttpServletRequest)' has a cyclomatic complexity of 13. 3 409–478
NPathComplexity The method 'doModifyQuicklinks(HttpServletRequest)' has an NPath complexity of 384 3 409–478
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 416
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 422
ConfusingTernary Avoid if (x != y) ..; else ..; 3 467–475
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 685
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 686
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 688
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 734
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 735
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 737
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 739
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 809
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 856
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 858
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 907
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 946
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 987
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1026
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1075
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1133

fr/paris/lutece/plugins/quicklinks/web/portlet/QuicklinksPortletJspBean.java

Rule Violation Priority Line
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 3 89–117
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 3 126–167
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 3 176–215
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 3 224–263