Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 2

fr/paris/lutece/plugins/links/web/LinksLibraryJspBean.java

Rule Violation Line
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 351
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 409

fr/paris/lutece/plugins/links/web/portlet/LinksPortletJspBean.java

Rule Violation Line
IntegerInstantiation Avoid instantiating Integer objects. Call Integer.valueOf() instead. 320

Priority 3

fr/paris/lutece/plugins/links/business/ILinkDAO.java

Rule Violation Line
CommentRequired Header comments are required 41–101
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectList': the method is declared in an interface type 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'loadImageResource': the method is declared in an interface type 100

fr/paris/lutece/plugins/links/business/Link.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 86–88
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 86–88
NonThreadSafeSingleton Singleton is not thread safe 96–100
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 212–236
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 286
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 306–309
MethodReturnsInternalArray Returning '_imageContent' may expose an internal array. 336
ArrayIsStoredDirectly The user-supplied array 'content' is stored directly. 344
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 375–378

fr/paris/lutece/plugins/links/business/LinkDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 81–84
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInstance method if you want a default access modifier 81–84
MissingOverride The method 'insert(Link)' is missing an @Override annotation. 94–123
MissingOverride The method 'delete(int)' is missing an @Override annotation. 130–143
MissingOverride The method 'load(int)' is missing an @Override annotation. 151–176
MissingOverride The method 'store(Link)' is missing an @Override annotation. 183–207
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 214–232
MissingOverride The method 'selectList()' is missing an @Override annotation. 239–265
MissingOverride The method 'selectByPortlet(int)' is missing an @Override annotation. 273–300
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 351–369
CommentRequired Public method and constructor comments are required 351–369

fr/paris/lutece/plugins/links/business/LinkWorkgroupRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 55–73
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 81–85

fr/paris/lutece/plugins/links/business/portlet/ILinksPortletDAO.java

Rule Violation Line
CommentRequired Header comments are required 44–217
TooManyMethods This class has too many methods, consider refactoring it. 45–217
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 51
MissingOverride The method 'delete(int)' is missing an @Override annotation. 75
MissingOverride The method 'load(int)' is missing an @Override annotation. 83
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 90

fr/paris/lutece/plugins/links/business/portlet/LinksPortlet.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 61–64
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 92–112
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 120–123
MissingOverride The method 'remove()' is missing an @Override annotation. 136–139

fr/paris/lutece/plugins/links/business/portlet/LinksPortletDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 49–541
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 88–90
UncommentedEmptyMethodBody Document empty method body 89–90
MissingOverride The method 'insertLink(int, int, int)' is missing an @Override annotation. 99–109
MissingOverride The method 'deleteLink(int, int)' is missing an @Override annotation. 117–126
MissingOverride The method 'delete(int)' is missing an @Override annotation. 132–145
MissingOverride The method 'load(int)' is missing an @Override annotation. 152–168
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 174–176
UncommentedEmptyMethodBody Document empty method body 175–176
MissingOverride The method 'selectLinksList()' is missing an @Override annotation. 182–197
MissingOverride The method 'testDuplicate(int, int)' is missing an @Override annotation. 205–219
MissingOverride The method 'selectLinksInPortletList(int)' is missing an @Override annotation. 227–252
MissingOverride The method 'selectLinkOrder(int, int)' is missing an @Override annotation. 261–278
MissingOverride The method 'selectMaxOrder(int)' is missing an @Override annotation. 285–301
MissingOverride The method 'selectPortletMaxOrder()' is missing an @Override annotation. 307–322
MissingOverride The method 'storeLinkOrder(int, int, int)' is missing an @Override annotation. 331–341
MissingOverride The method 'selectLinkIdByOrder(int, int)' is missing an @Override annotation. 349–366
MissingOverride The method 'findUnselectedPortlets()' is missing an @Override annotation. 372–389
MissingOverride The method 'selectPortletsInLinksPage()' is missing an @Override annotation. 396–414
MissingOverride The method 'selectPortletOrder(int)' is missing an @Override annotation. 421–437
MissingOverride The method 'removePortlet(int)' is missing an @Override annotation. 443–450
MissingOverride The method 'removeLinkFromPortlets(int)' is missing an @Override annotation. 456–463
MissingOverride The method 'insertPortlet(int, int)' is missing an @Override annotation. 470–478
MissingOverride The method 'selectPortletIdByOrder(int)' is missing an @Override annotation. 485–501
MissingOverride The method 'storePortletOrder(int, int)' is missing an @Override annotation. 509–517

fr/paris/lutece/plugins/links/business/portlet/LinksPortletHome.java

Rule Violation Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 56
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 56
CallSuperInConstructor It is a good practice to call super() in a constructor 65–71
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 78–84
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 83
NonThreadSafeSingleton Singleton is not thread safe 93–96
MissingOverride The method 'getDAO()' is missing an @Override annotation. 106–110

fr/paris/lutece/plugins/links/service/LinkService.java

Rule Violation Line
CommentRequired Header comments are required 39–61

fr/paris/lutece/plugins/links/service/LinksPlugin.java

Rule Violation Line
CommentRequired Header comments are required 39–49
MissingOverride The method 'init()' is missing an @Override annotation. 44–48

fr/paris/lutece/plugins/links/util/LinksImageProvider.java

Rule Violation Line
CommentRequired Header comments are required 42–81
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 44
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 44
CommentRequired Public method and constructor comments are required 62–70
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 62–70
CommentRequired Public method and constructor comments are required 72–75
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 72–75
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 77–80
CommentRequired Public method and constructor comments are required 77–80

fr/paris/lutece/plugins/links/web/LinksApp.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 77–79
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 77–79
MissingOverride The method 'getPage(HttpServletRequest, int, Plugin)' is missing an @Override annotation. 89–99

fr/paris/lutece/plugins/links/web/LinksLibraryJspBean.java

Rule Violation Line
GodClass Possible God Class (WMC=68, ATFD=122, TCC=19.780%) 68–719
UncommentedEmptyConstructor Document empty constructor 140–142
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 140–142
CallSuperInConstructor It is a good practice to call super() in a constructor 140–142
CyclomaticComplexity The method 'getLinksList(HttpServletRequest)' has a cyclomatic complexity of 10. 149–212
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 175
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 175
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 225
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 358
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 358
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 416
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 416
CyclomaticComplexity The method 'doModifyLink(HttpServletRequest)' has a cyclomatic complexity of 11. 439–506
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 446
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 447
CyclomaticComplexity The method 'getUrlsListFromMultipart(String, MultipartHttpServletRequest)' has a cyclomatic complexity of 11. 661–718
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 690
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 712
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 712

fr/paris/lutece/plugins/links/web/LinksServiceJspBean.java

Rule Violation Line
CommentRequired Header comments are required 56–134
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 91–112
CommentRequired Public method and constructor comments are required 114–133
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 118
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 120

fr/paris/lutece/plugins/links/web/portlet/LinksPortletJspBean.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 112–114
CallSuperInConstructor It is a good practice to call super() in a constructor 112–114
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 112–114
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 122–130
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 138–154
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 162–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 166
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 231–265
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 236
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 343
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 343
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 415

Priority 4

fr/paris/lutece/plugins/links/business/Link.java

Rule Violation Line
ShortClassName Avoid short class names like Link 55–397

Files

fr/paris/lutece/plugins/links/business/ILinkDAO.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 41–101
UnnecessaryModifier Unnecessary modifier 'public' on method 'selectList': the method is declared in an interface type 3 84
UnnecessaryModifier Unnecessary modifier 'public' on method 'loadImageResource': the method is declared in an interface type 3 100

fr/paris/lutece/plugins/links/business/Link.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Link 4 55–397
UncommentedEmptyConstructor Document empty constructor 3 86–88
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 86–88
NonThreadSafeSingleton Singleton is not thread safe 3 96–100
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 212–236
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 286
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 306–309
MethodReturnsInternalArray Returning '_imageContent' may expose an internal array. 3 336
ArrayIsStoredDirectly The user-supplied array 'content' is stored directly. 3 344
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 375–378

fr/paris/lutece/plugins/links/business/LinkDAO.java

Rule Violation Priority Line
DefaultPackage Use explicit scoping instead of the default package private level 3 81–84
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInstance method if you want a default access modifier 3 81–84
MissingOverride The method 'insert(Link)' is missing an @Override annotation. 3 94–123
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 130–143
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 151–176
MissingOverride The method 'store(Link)' is missing an @Override annotation. 3 183–207
MissingOverride The method 'newPrimaryKey()' is missing an @Override annotation. 3 214–232
MissingOverride The method 'selectList()' is missing an @Override annotation. 3 239–265
MissingOverride The method 'selectByPortlet(int)' is missing an @Override annotation. 3 273–300
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 3 351–369
CommentRequired Public method and constructor comments are required 3 351–369

fr/paris/lutece/plugins/links/business/LinkWorkgroupRemovalListener.java

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

fr/paris/lutece/plugins/links/business/portlet/ILinksPortletDAO.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 44–217
TooManyMethods This class has too many methods, consider refactoring it. 3 45–217
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 51
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 75
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 83
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 90

fr/paris/lutece/plugins/links/business/portlet/LinksPortlet.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 61–64
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 92–112
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 120–123
MissingOverride The method 'remove()' is missing an @Override annotation. 3 136–139

fr/paris/lutece/plugins/links/business/portlet/LinksPortletDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 49–541
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 88–90
UncommentedEmptyMethodBody Document empty method body 3 89–90
MissingOverride The method 'insertLink(int, int, int)' is missing an @Override annotation. 3 99–109
MissingOverride The method 'deleteLink(int, int)' is missing an @Override annotation. 3 117–126
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 132–145
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 152–168
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 174–176
UncommentedEmptyMethodBody Document empty method body 3 175–176
MissingOverride The method 'selectLinksList()' is missing an @Override annotation. 3 182–197
MissingOverride The method 'testDuplicate(int, int)' is missing an @Override annotation. 3 205–219
MissingOverride The method 'selectLinksInPortletList(int)' is missing an @Override annotation. 3 227–252
MissingOverride The method 'selectLinkOrder(int, int)' is missing an @Override annotation. 3 261–278
MissingOverride The method 'selectMaxOrder(int)' is missing an @Override annotation. 3 285–301
MissingOverride The method 'selectPortletMaxOrder()' is missing an @Override annotation. 3 307–322
MissingOverride The method 'storeLinkOrder(int, int, int)' is missing an @Override annotation. 3 331–341
MissingOverride The method 'selectLinkIdByOrder(int, int)' is missing an @Override annotation. 3 349–366
MissingOverride The method 'findUnselectedPortlets()' is missing an @Override annotation. 3 372–389
MissingOverride The method 'selectPortletsInLinksPage()' is missing an @Override annotation. 3 396–414
MissingOverride The method 'selectPortletOrder(int)' is missing an @Override annotation. 3 421–437
MissingOverride The method 'removePortlet(int)' is missing an @Override annotation. 3 443–450
MissingOverride The method 'removeLinkFromPortlets(int)' is missing an @Override annotation. 3 456–463
MissingOverride The method 'insertPortlet(int, int)' is missing an @Override annotation. 3 470–478
MissingOverride The method 'selectPortletIdByOrder(int)' is missing an @Override annotation. 3 485–501
MissingOverride The method 'storePortletOrder(int, int)' is missing an @Override annotation. 3 509–517

fr/paris/lutece/plugins/links/business/portlet/LinksPortletHome.java

Rule Violation Priority Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 56
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 3 56
CallSuperInConstructor It is a good practice to call super() in a constructor 3 65–71
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 3 78–84
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strPortletTypeId' 3 83
NonThreadSafeSingleton Singleton is not thread safe 3 93–96
MissingOverride The method 'getDAO()' is missing an @Override annotation. 3 106–110

fr/paris/lutece/plugins/links/service/LinkService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–61

fr/paris/lutece/plugins/links/service/LinksPlugin.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 39–49
MissingOverride The method 'init()' is missing an @Override annotation. 3 44–48

fr/paris/lutece/plugins/links/util/LinksImageProvider.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 42–81
RedundantFieldInitializer Avoid using redundant field initializer for '_singleton' 3 44
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 44
CommentRequired Public method and constructor comments are required 3 62–70
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 62–70
CommentRequired Public method and constructor comments are required 3 72–75
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 3 72–75
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 3 77–80
CommentRequired Public method and constructor comments are required 3 77–80

fr/paris/lutece/plugins/links/web/LinksApp.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 77–79
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 77–79
MissingOverride The method 'getPage(HttpServletRequest, int, Plugin)' is missing an @Override annotation. 3 89–99

fr/paris/lutece/plugins/links/web/LinksLibraryJspBean.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=68, ATFD=122, TCC=19.780%) 3 68–719
UncommentedEmptyConstructor Document empty constructor 3 140–142
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 140–142
CallSuperInConstructor It is a good practice to call super() in a constructor 3 140–142
CyclomaticComplexity The method 'getLinksList(HttpServletRequest)' has a cyclomatic complexity of 10. 3 149–212
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 175
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 175
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 225
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 2 351
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 358
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 358
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 2 409
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 416
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 416
CyclomaticComplexity The method 'doModifyLink(HttpServletRequest)' has a cyclomatic complexity of 11. 3 439–506
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 446
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 447
CyclomaticComplexity The method 'getUrlsListFromMultipart(String, MultipartHttpServletRequest)' has a cyclomatic complexity of 11. 3 661–718
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 690
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 712
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 712

fr/paris/lutece/plugins/links/web/LinksServiceJspBean.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 56–134
MissingOverride The method 'getInsertServiceSelectorUI(HttpServletRequest)' is missing an @Override annotation. 3 91–112
CommentRequired Public method and constructor comments are required 3 114–133
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 118
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 120

fr/paris/lutece/plugins/links/web/portlet/LinksPortletJspBean.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 112–114
CallSuperInConstructor It is a good practice to call super() in a constructor 3 112–114
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 112–114
MissingOverride The method 'getCreate(HttpServletRequest)' is missing an @Override annotation. 3 122–130
MissingOverride The method 'getModify(HttpServletRequest)' is missing an @Override annotation. 3 138–154
MissingOverride The method 'doCreate(HttpServletRequest)' is missing an @Override annotation. 3 162–183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 166
MissingOverride The method 'doModify(HttpServletRequest)' is missing an @Override annotation. 3 231–265
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 236
IntegerInstantiation Avoid instantiating Integer objects. Call Integer.valueOf() instead. 2 320
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 343
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 343
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 415