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/portal/business/accesscontrol/AccessControlSessionData.java

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

fr/paris/lutece/portal/business/dashboard/AdminDashboardFactory.java

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

fr/paris/lutece/portal/business/dashboard/DashboardFactory.java

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

fr/paris/lutece/portal/business/portlet/Portlet.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 616–619
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 645–648

fr/paris/lutece/portal/business/portlet/PortletHtmlContent.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 55–58
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 64–67

fr/paris/lutece/portal/business/prefs/AbstractUserPreferencesDAO.java

Rule Violation Line
FieldNamingConventions The final field name '_strSqlSelect' doesn't match '[a-z][a-zA-Z0-9]*' 47
FieldNamingConventions The final field name '_strSqlInsert' doesn't match '[a-z][a-zA-Z0-9]*' 48
FieldNamingConventions The final field name '_strSqlUpdate' doesn't match '[a-z][a-zA-Z0-9]*' 49
FieldNamingConventions The final field name '_strSqlDelete' doesn't match '[a-z][a-zA-Z0-9]*' 50
FieldNamingConventions The final field name '_strSqlSelectAll' doesn't match '[a-z][a-zA-Z0-9]*' 51
FieldNamingConventions The final field name '_strSqlSelectByValue' doesn't match '[a-z][a-zA-Z0-9]*' 52
FieldNamingConventions The final field name '_strSqlDeleteKey' doesn't match '[a-z][a-zA-Z0-9]*' 53
FieldNamingConventions The final field name '_strSqlDeleteKeyPrefix' doesn't match '[a-z][a-zA-Z0-9]*' 54
FieldNamingConventions The final field name '_strSqlSelectCount' doesn't match '[a-z][a-zA-Z0-9]*' 55
FieldNamingConventions The final field name '_strSqlSelectCountPrefValue' doesn't match '[a-z][a-zA-Z0-9]*' 56

fr/paris/lutece/portal/business/resourceenhancer/ResourceEnhancer.java

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

fr/paris/lutece/portal/business/rss/ResourceRss.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 207–210

fr/paris/lutece/portal/business/securityheader/SecurityHeaderPageCategory.java

Rule Violation Line
FieldNamingConventions The final field name '_code' doesn't match '[a-z][a-zA-Z0-9]*' 54

fr/paris/lutece/portal/business/securityheader/SecurityHeaderType.java

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

fr/paris/lutece/portal/business/template/CommonsImport.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_bDefault' doesn't match '[a-z][a-zA-Z0-9]*' 149

fr/paris/lutece/portal/business/template/CommonsInclude.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_bDefault' doesn't match '[a-z][a-zA-Z0-9]*' 149

fr/paris/lutece/portal/business/user/authentication/PasswordFactory.java

Rule Violation Line
ClassNamingConventions The enum name 'PASSWORD_REPRESENTATION' doesn't match '[A-Z][a-zA-Z0-9]*' 117–121
FieldNamingConventions The final field name '_iterations' doesn't match '[a-z][a-zA-Z0-9]*' 148
FieldNamingConventions The final field name '_salt' doesn't match '[a-z][a-zA-Z0-9]*' 150
FieldNamingConventions The final field name '_hash' doesn't match '[a-z][a-zA-Z0-9]*' 152
FieldNamingConventions The final field name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 423
FieldNamingConventions The final field name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 450
FieldNamingConventions The final field name '_strAlgorithm' doesn't match '[a-z][a-zA-Z0-9]*' 452

fr/paris/lutece/portal/business/user/menu/AdminUserMenuItem.java

Rule Violation Line
FieldNamingConventions The final field name '_strClass' doesn't match '[a-z][a-zA-Z0-9]*' 43
FieldNamingConventions The final field name '_strContent' doesn't match '[a-z][a-zA-Z0-9]*' 44

fr/paris/lutece/portal/business/user/menu/DividerAdminUserMenuItemProvider.java

Rule Violation Line
FieldNamingConventions The constant name '_item' doesn't match '[A-Z][A-Z_0-9]*' 44

fr/paris/lutece/portal/service/admin/DefaultImportAdminUserService.java

Rule Violation Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 89

fr/paris/lutece/portal/service/cache/AbstractCacheableService.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 312–315
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 321–324
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 330–333
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 339–342
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 348–351
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 357–360

fr/paris/lutece/portal/service/cache/CacheService.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 284

fr/paris/lutece/portal/service/csv/CSVReaderService.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 220

fr/paris/lutece/portal/service/daemon/AppDaemonService.java

Rule Violation Line
FieldNamingConventions The constant name '_mapDaemonEntries' doesn't match '[A-Z][A-Z_0-9]*' 58
FieldNamingConventions The constant name '_random' doesn't match '[A-Z][A-Z_0-9]*' 59

fr/paris/lutece/portal/service/daemon/Daemon.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 146–149

fr/paris/lutece/portal/service/daemon/DaemonEntry.java

Rule Violation Line
FieldNamingConventions The final field name '_thread' doesn't match '[a-z][a-zA-Z0-9]*' 58

fr/paris/lutece/portal/service/daemon/DaemonScheduler.java

Rule Violation Line
FieldNamingConventions The final field name '_queue' doesn't match '[a-z][a-zA-Z0-9]*' 63
FieldNamingConventions The final field name '_executor' doesn't match '[a-z][a-zA-Z0-9]*' 64
FieldNamingConventions The final field name '_coordinatorThread' doesn't match '[a-z][a-zA-Z0-9]*' 65
FieldNamingConventions The final field name '_scheduledDaemonsTimer' doesn't match '[a-z][a-zA-Z0-9]*' 66
FieldNamingConventions The final field name '_executingDaemons' doesn't match '[a-z][a-zA-Z0-9]*' 67
FieldNamingConventions The final field name '_scheduledDaemons' doesn't match '[a-z][a-zA-Z0-9]*' 68
FieldNamingConventions The final field name '_entry' doesn't match '[a-z][a-zA-Z0-9]*' 293
FieldNamingConventions The final field name '_entry' doesn't match '[a-z][a-zA-Z0-9]*' 352

fr/paris/lutece/portal/service/daemon/DaemonThreadFactory.java

Rule Violation Line
FieldNamingConventions The constant name '_defaultThreadFactory' doesn't match '[A-Z][A-Z_0-9]*' 49

fr/paris/lutece/portal/service/daemon/ThreadLauncherDaemon.java

Rule Violation Line
FieldNamingConventions The final field name '_wrapped' doesn't match '[a-z][a-zA-Z0-9]*' 61

fr/paris/lutece/portal/service/dashboard/IPublicDashboardComponent.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name 'user_id' doesn't match '[a-z][a-zA-Z0-9]*' 71

fr/paris/lutece/portal/service/dashboard/admin/AdminDashboardComponent.java

Rule Violation Line
AbstractClassWithoutAnyMethod No abstract method which means that the keyword is most likely used to prevent instantiation. Use a private or protected constructor instead. 43–45

fr/paris/lutece/portal/service/datastore/CoreDataKeys.java

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

fr/paris/lutece/portal/service/datastore/DatastoreCacheService.java

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

fr/paris/lutece/portal/service/editor/RichTextContentService.java

Rule Violation Line
LocalVariableNamingConventions The local variable name '_parser' doesn't match '[a-z][a-zA-Z0-9]*' 63

fr/paris/lutece/portal/service/event/ResourceEventManager.java

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

fr/paris/lutece/portal/service/file/FileService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 44–155

fr/paris/lutece/portal/service/file/implementation/LocalDatabaseFileService.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_fileRBACService' doesn't match '[a-z][a-zA-Z0-9]*' 83
FormalParameterNamingConventions The method parameter name '_fileDownloadUrlService' doesn't match '[a-z][a-zA-Z0-9]*' 83

fr/paris/lutece/portal/service/fileimage/FileImagePublicService.java

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

fr/paris/lutece/portal/service/fileimage/FileImageService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 60–170

fr/paris/lutece/portal/service/html/XmlTransformerService.java

Rule Violation Line
FieldNamingConventions The constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 59

fr/paris/lutece/portal/service/i18n/CombinedResourceBundle.java

Rule Violation Line
FieldNamingConventions The final field name '_override' doesn't match '[a-z][a-zA-Z0-9]*' 42
FieldNamingConventions The final field name '_defaults' doesn't match '[a-z][a-zA-Z0-9]*' 43

fr/paris/lutece/portal/service/i18n/I18nService.java

Rule Violation Line
FieldNamingConventions The constant name '_overrideLoader' doesn't match '[A-Z][A-Z_0-9]*' 85
FieldNamingConventions The constant name '_resourceBundleCache' doesn't match '[A-Z][A-Z_0-9]*' 86

fr/paris/lutece/portal/service/image/ImageResource.java

Rule Violation Line
ConstructorCallsOverridableMethod Overridable method 'setImage' called during object construction 53
ConstructorCallsOverridableMethod Overridable method 'setMimeType' called during object construction 54

fr/paris/lutece/portal/service/image/ImageResourceManager.java

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

fr/paris/lutece/portal/service/image/ImageServlet.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 115

fr/paris/lutece/portal/service/init/AppInfo.java

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

fr/paris/lutece/portal/service/init/AppInit.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 316
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 341

fr/paris/lutece/portal/service/init/PostStartUpServiceManager.java

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

fr/paris/lutece/portal/service/init/ShutdownServiceManager.java

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

fr/paris/lutece/portal/service/init/StartUpServiceManager.java

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

fr/paris/lutece/portal/service/insert/InsertServiceManager.java

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

fr/paris/lutece/portal/service/plugin/Plugin.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1163–1166

fr/paris/lutece/portal/service/plugin/PluginFile.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 152

fr/paris/lutece/portal/service/plugin/PluginService.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 304

fr/paris/lutece/portal/service/prefs/PrefsConstants.java

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

fr/paris/lutece/portal/service/rbac/RBACService.java

Rule Violation Line
FieldNamingConventions The final field name '_strResourceType' doesn't match '[a-z][a-zA-Z0-9]*' 63
FieldNamingConventions The final field name '_item' doesn't match '[a-z][a-zA-Z0-9]*' 64

fr/paris/lutece/portal/service/rbac/ResourceTypeManager.java

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

fr/paris/lutece/portal/service/resource/ResourceService.java

Rule Violation Line
ConstructorCallsOverridableMethod Overridable method 'initLoaders' called during object construction 70

fr/paris/lutece/portal/service/security/AccessLogService.java

Rule Violation Line
FieldNamingConventions The final field name '_accessLoggerList' doesn't match '[a-z][a-zA-Z0-9]*' 67

fr/paris/lutece/portal/service/security/AccessLoggerConstants.java

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

fr/paris/lutece/portal/service/security/FailedLoginCaptchaException.java

Rule Violation Line
FieldNamingConventions The final field name '_bEnableCaptcha' doesn't match '[a-z][a-zA-Z0-9]*' 44

fr/paris/lutece/portal/service/security/LoginRedirectException.java

Rule Violation Line
FieldNamingConventions The final field name '_strRedirectUrl' doesn't match '[a-z][a-zA-Z0-9]*' 42

fr/paris/lutece/portal/service/security/LuteceUser.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 492–495

fr/paris/lutece/portal/service/security/SecurityModel.java

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

fr/paris/lutece/portal/service/security/SecurityTokenService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 52–141

fr/paris/lutece/portal/service/security/impl/DefaultAccessLogger.java

Rule Violation Line
FieldNamingConventions The final field name '_bAddHashToLogs' doesn't match '[a-z][a-zA-Z0-9]*' 82
FieldNamingConventions The final field name '_messageFormat' doesn't match '[a-z][a-zA-Z0-9]*' 83
FieldNamingConventions The final field name '_messageFormatSeparator' doesn't match '[a-z][a-zA-Z0-9]*' 84

fr/paris/lutece/portal/service/template/CommonsService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 50–377

fr/paris/lutece/portal/service/user/attribute/AdminUserFieldService.java

Rule Violation Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 73

fr/paris/lutece/portal/service/user/menu/AdminUserMenuItemProviderRegistrar.java

Rule Violation Line
FieldNamingConventions The final field name '_service' doesn't match '[a-z][a-zA-Z0-9]*' 55

fr/paris/lutece/portal/service/user/menu/AdminUserMenuService.java

Rule Violation Line
FieldNamingConventions The final field name '_itemProviders' doesn't match '[a-z][a-zA-Z0-9]*' 57

fr/paris/lutece/portal/service/util/AppPathService.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 187

fr/paris/lutece/portal/web/LocalVariables.java

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

fr/paris/lutece/portal/web/constants/Markers.java

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

fr/paris/lutece/portal/web/constants/Messages.java

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

fr/paris/lutece/portal/web/constants/Parameters.java

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

fr/paris/lutece/portal/web/pluginaction/AbstractPluginAction.java

Rule Violation Line
AbstractClassWithoutAnyMethod No abstract method which means that the keyword is most likely used to prevent instantiation. Use a private or protected constructor instead. 42–45

fr/paris/lutece/portal/web/pluginaction/PluginActionManager.java

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

fr/paris/lutece/portal/web/resource/ExtendableResourcePluginActionManager.java

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

fr/paris/lutece/portal/web/style/PageTemplatesJspBean.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 418

fr/paris/lutece/portal/web/stylesheet/StyleSheetJspBean.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 499

fr/paris/lutece/portal/web/upload/DosGuardFilter.java

Rule Violation Line
FieldNamingConventions The static field name 'PROPERTY_DOSGUARDFILTER_MINCONTENTLENGTH' doesn't match '_[a-z][a-zA-Z0-9]*' 61
FieldNamingConventions The static field name 'PROPERTY_DOSGUARDFILTER_MININTERVAL' doesn't match '_[a-z][a-zA-Z0-9]*' 62
FieldNamingConventions The static field name 'CONSTANT_DEFAULT_DOSGUARDFILTER_MINCONTENTLENGTH' doesn't match '_[a-z][a-zA-Z0-9]*' 65
FieldNamingConventions The static field name 'CONSTANT_DEFAULT_DOSGUARDFILTER_MININTERVAL' doesn't match '_[a-z][a-zA-Z0-9]*' 66

fr/paris/lutece/portal/web/upload/MultipartHttpServletRequest.java

Rule Violation Line
FieldNamingConventions The final field name '_multipartFiles' doesn't match '[a-z][a-zA-Z0-9]*' 52
FieldNamingConventions The final field name '_stringParameters' doesn't match '[a-z][a-zA-Z0-9]*' 53

fr/paris/lutece/portal/web/upload/UploadFilter.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 189–192

fr/paris/lutece/portal/web/upload/UploadServlet.java

Rule Violation Line
FieldNamingConventions The constant name 'objectMapper' doesn't match '[A-Z][A-Z_0-9]*' 64

fr/paris/lutece/portal/web/user/UsersAdminDashboardComponent.java

Rule Violation Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 72
FieldNamingConventions The constant name '_attributeTypeService' doesn't match '[A-Z][A-Z_0-9]*' 73

fr/paris/lutece/portal/web/user/attribute/AttributeFieldJspBean.java

Rule Violation Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 98
FieldNamingConventions The constant name '_attributeFieldService' doesn't match '[A-Z][A-Z_0-9]*' 99

fr/paris/lutece/portal/web/user/attribute/AttributeJspBean.java

Rule Violation Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 91

fr/paris/lutece/portal/web/xss/SafeRequestFilter.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 99–102

fr/paris/lutece/util/PropertiesService.java

Rule Violation Line
FieldNamingConventions The final field name 'RSA_KEY_PREFIX' doesn't match '[a-z][a-zA-Z0-9]*' 60
FieldNamingConventions The final field name 'MESSAGE_CIPHERED_PROPERTY_SECURITY_EXCEPTION' doesn't match '[a-z][a-zA-Z0-9]*' 61
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 141

fr/paris/lutece/util/UniqueIDGenerator.java

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

fr/paris/lutece/util/annotation/ScannotationDB.java

Rule Violation Line
FieldNamingConventions The final field name '_db' doesn't match '[a-z][a-zA-Z0-9]*' 64

fr/paris/lutece/util/datatable/DataTableManager.java

Rule Violation Line
ConstructorCallsOverridableMethod Overridable method 'setSortUrl' called during object construction 120

fr/paris/lutece/util/html/AbstractPaginator.java

Rule Violation Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 264–267
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 273–276

fr/paris/lutece/util/http/SecurityUtil.java

Rule Violation Line
FieldNamingConventions The static field name 'PATTERN_URL_SAFE' doesn't match '_[a-z][a-zA-Z0-9]*' 72
FieldNamingConventions The public constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 74

fr/paris/lutece/util/jpa/JPAConstants.java

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

fr/paris/lutece/util/jpa/JPAPersistenceUnitPostProcessor.java

Rule Violation Line
FieldNamingConventions The constant name '_Log' doesn't match '[A-Z][A-Z_0-9]*' 62

fr/paris/lutece/util/jpa/transaction/ChainedTransactionManager.java

Rule Violation Line
FieldNamingConventions The constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 57

fr/paris/lutece/util/json/JsonUtil.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 46–78
FieldNamingConventions The constant name '_mapper' doesn't match '[A-Z][A-Z_0-9]*' 49

fr/paris/lutece/util/pool/service/LuteceConnectionFactory.java

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

fr/paris/lutece/util/rsa/RSAKeyPairUtil.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 43–99
FieldNamingConventions The static field name 'RSA_KEY_PROVIDER_BEAN_NAME' doesn't match '_[a-z][a-zA-Z0-9]*' 46

fr/paris/lutece/util/sql/DAOUtil.java

Rule Violation Line
AvoidUsingShortType Do not use the short type 1724
AvoidUsingShortType Do not use the short type 3029
AvoidUsingShortType Do not use the short type 3052
AvoidUsingShortType Do not use the short type 3074

fr/paris/lutece/util/sql/Transaction.java

Rule Violation Line
ConstructorCallsOverridableMethod Overridable method 'beginTransaction' called during object construction 108

fr/paris/lutece/util/stream/StreamUtil.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 43–71

fr/paris/lutece/util/xml/XmlTransformer.java

Rule Violation Line
FieldNamingConventions The constant name 'transformersPoolList' doesn't match '[A-Z][A-Z_0-9]*' 68

Priority 2

fr/paris/lutece/portal/business/user/AdminUserDAO.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'user' 210

fr/paris/lutece/portal/service/admin/DefaultImportAdminUserService.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'listAttributes' 296

fr/paris/lutece/portal/service/cache/AbstractCacheableService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 58

fr/paris/lutece/portal/service/cache/HeadersPageCachingFilter.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 69

fr/paris/lutece/portal/service/daemon/DaemonScheduler.java

Rule Violation Line
AvoidUsingVolatile Use of modifier volatile is not recommended. 69
AvoidUsingVolatile Use of modifier volatile is not recommended. 294
AvoidUsingVolatile Use of modifier volatile is not recommended. 295

fr/paris/lutece/portal/service/database/DAOUtilTransactionManager.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 62

fr/paris/lutece/portal/service/file/implementation/DefaultFileDownloadService.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'additionnalData' 120
AvoidReassigningParameters Avoid reassigning parameters such as 'additionnalData' 149

fr/paris/lutece/portal/service/filter/PageSecurityHeaderFilter.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 69

fr/paris/lutece/portal/service/filter/RestApiSecurityHeaderFilter.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 64

fr/paris/lutece/portal/service/html/XSSSanitizerService.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 94
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 94
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 94

fr/paris/lutece/portal/service/jpa/EntityManagerService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 50

fr/paris/lutece/portal/service/jpa/JPAStartupService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 74
GuardLogStatement Logger calls should be surrounded by log level guards. 96
GuardLogStatement Logger calls should be surrounded by log level guards. 109
GuardLogStatement Logger calls should be surrounded by log level guards. 130
GuardLogStatement Logger calls should be surrounded by log level guards. 139
GuardLogStatement Logger calls should be surrounded by log level guards. 144
GuardLogStatement Logger calls should be surrounded by log level guards. 147

fr/paris/lutece/portal/service/page/PageService.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'strPage' 267

fr/paris/lutece/portal/service/security/impl/DefaultAccessLogger.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 88

fr/paris/lutece/portal/service/securityheader/SecurityHeaderService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 72

fr/paris/lutece/portal/service/util/AppLogService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 53
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 54
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 55

fr/paris/lutece/portal/util/mvc/admin/MVCAdminJspBean.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 88

fr/paris/lutece/portal/util/mvc/utils/MVCUtils.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 59

fr/paris/lutece/portal/util/mvc/xpage/MVCApplication.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 104

fr/paris/lutece/portal/web/admin/AdminMenuJspBean.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 145

fr/paris/lutece/portal/web/encoding/EncodingFilter.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'response' 81

fr/paris/lutece/portal/web/includes/LinksInclude.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'resourceURI' 276

fr/paris/lutece/portal/web/style/StylesJspBean.java

Rule Violation Line
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 354–355

fr/paris/lutece/portal/web/user/AuthenticationFilter.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 90

fr/paris/lutece/util/jpa/JPAPersistenceUnitPostProcessor.java

Rule Violation Line
GuardLogStatement Logger calls should be surrounded by log level guards. 128
GuardLogStatement Logger calls should be surrounded by log level guards. 130
GuardLogStatement Logger calls should be surrounded by log level guards. 131
GuardLogStatement Logger calls should be surrounded by log level guards. 132
GuardLogStatement Logger calls should be surrounded by log level guards. 133
GuardLogStatement Logger calls should be surrounded by log level guards. 134
GuardLogStatement Logger calls should be surrounded by log level guards. 135
GuardLogStatement Logger calls should be surrounded by log level guards. 136
GuardLogStatement Logger calls should be surrounded by log level guards. 137
GuardLogStatement Logger calls should be surrounded by log level guards. 138
GuardLogStatement Logger calls should be surrounded by log level guards. 139
GuardLogStatement Logger calls should be surrounded by log level guards. 140

fr/paris/lutece/util/pool/PoolManager.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 65

fr/paris/lutece/util/pool/service/C3p0ConnectionService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 68

fr/paris/lutece/util/pool/service/ConnectionPool.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 68

fr/paris/lutece/util/pool/service/LuteceConnectionService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 55

fr/paris/lutece/util/pool/service/TomcatConnectionService.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 55

fr/paris/lutece/util/sql/DAOUtil.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 117

fr/paris/lutece/util/sql/Transaction.java

Rule Violation Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 87

Priority 3

fr/paris/lutece/portal/business/accesscontrol/AccessControlSessionData.java

Rule Violation Line
CommentRequired Header comments are required 40–152
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 50
ImmutableField Private field '_persistentData' could be made final; it is only initialized in the declaration or constructor. 50

fr/paris/lutece/portal/business/dashboard/AdminDashboardDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 50–436
ConfusingTernary Avoid if (x != y) ..; else ..; 150–157
ConfusingTernary Avoid if (x != y) ..; else ..; 185–193
ConfusingTernary Avoid if (x != y) ..; else ..; 273–281
LinguisticNaming Linguistics Antipattern - The setter 'setInsertOrUpdateValues' should not return any type except void linguistically 356–363
ConfusingTernary Avoid if (x != y) ..; else ..; 397–404

fr/paris/lutece/portal/business/dashboard/AdminDashboardFactory.java

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

fr/paris/lutece/portal/business/dashboard/DashboardDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 49–434
ConfusingTernary Avoid if (x != y) ..; else ..; 149–156
ConfusingTernary Avoid if (x != y) ..; else ..; 185–193
ConfusingTernary Avoid if (x != y) ..; else ..; 271–279
LinguisticNaming Linguistics Antipattern - The setter 'setInsertOrUpdateValues' should not return any type except void linguistically 354–361
ConfusingTernary Avoid if (x != y) ..; else ..; 395–402

fr/paris/lutece/portal/business/dashboard/DashboardFactory.java

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

fr/paris/lutece/portal/business/datastore/DataEntity.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 52–54

fr/paris/lutece/portal/business/event/AbstractLuteceEvent.java

Rule Violation Line
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 36–69
CommentRequired Header comments are required 36–69

fr/paris/lutece/portal/business/event/LuteceUserEvent.java

Rule Violation Line
CommentRequired Header comments are required 38–75
ImmutableField Private field '_type' could be made final; it is only initialized in the declaration or constructor. 53

fr/paris/lutece/portal/business/event/ResourceEvent.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 53–55

fr/paris/lutece/portal/business/file/FileDAO.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 71–78
ConfusingTernary Avoid if (x != y) ..; else ..; 168–175

fr/paris/lutece/portal/business/indexeraction/IndexerActionDAO.java

Rule Violation Line
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 255
AssignmentInOperand Avoid assignments in operands 255

fr/paris/lutece/portal/business/mail/MailItemQueueDAO.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 115–132
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 128
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 149
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 231

fr/paris/lutece/portal/business/mailinglist/MailingList.java

Rule Violation Line
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 59–67

fr/paris/lutece/portal/business/mailinglist/MailingListDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 47–366

fr/paris/lutece/portal/business/mailinglist/MailingListFilter.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 65–67
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 285

fr/paris/lutece/portal/business/mailinglist/MailingListWorkgroupRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 79–83

fr/paris/lutece/portal/business/page/IPageDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–203

fr/paris/lutece/portal/business/page/Page.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–636
TooManyFields Too many fields 52–636
DefaultPackage Use explicit scoping instead of the default package private level 139–142
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the setOrigParentPageId method if you want a default access modifier 139–142
MethodReturnsInternalArray Returning '_strImageContent' may expose an internal array. 162
ArrayIsStoredDirectly The user-supplied array 'strImageContent' is stored directly. 171
AddEmptyString Do not add empty strings 470
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 579
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 580
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 581
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 582
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 583
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 584
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 585

fr/paris/lutece/portal/business/page/PageDAO.java

Rule Violation Line
GodClass Possible God Class (WMC=58, ATFD=218, TCC=0.000%) 52–812
TooManyMethods This class has too many methods, consider refactoring it. 53–812
MissingOverride The method 'insert(Page)' is missing an @Override annotation. 106–164
ConfusingTernary Avoid if (x != y) ..; else ..; 146–153
MissingOverride The method 'load(int, boolean)' is missing an @Override annotation. 169–219
MissingOverride The method 'loadWithoutImageContent(int, boolean)' is missing an @Override annotation. 224–269
MissingOverride The method 'loadPageByIdPortlet(int)' is missing an @Override annotation. 274–306
MissingOverride The method 'delete(int)' is missing an @Override annotation. 311–319
MissingOverride The method 'store(Page)' is missing an @Override annotation. 324–376
ConfusingTernary Avoid if (x != y) ..; else ..; 360–367
DefaultPackage Use explicit scoping instead of the default package private level 385–400
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the checkPrimaryKey method if you want a default access modifier 385–400
DefaultPackage Use explicit scoping instead of the default package private level 408–435
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the loadPortlets method if you want a default access modifier 408–435
MissingOverride The method 'selectChildPages(int)' is missing an @Override annotation. 440–481
MissingOverride The method 'selectChildPagesMinimalData(int)' is missing an @Override annotation. 486–510
MissingOverride The method 'selectAllPages()' is missing an @Override annotation. 515–554
MissingOverride The method 'invalidatePage(int)' is missing an @Override annotation. 559–569
MissingOverride The method 'getPagesList()' is missing an @Override annotation. 574–592
MissingOverride The method 'getPagesByRoleKey(String)' is missing an @Override annotation. 601–643
MissingOverride The method 'selectNewChildPageOrder(int)' is missing an @Override annotation. 648–667
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 672–690
MissingOverride The method 'checkPageExist(int)' is missing an @Override annotation. 699–716
MissingOverride The method 'loadLastModifiedPage()' is missing an @Override annotation. 721–762
MissingOverride The method 'updateAutorisationNode(int, Integer)' is missing an @Override annotation. 767–788
ConfusingTernary Avoid if (x != y) ..; else ..; 775–782
MissingOverride The method 'selectPageForChangeAutorisationNode(int)' is missing an @Override annotation. 793–811

fr/paris/lutece/portal/business/page/PageRoleRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 79–83

fr/paris/lutece/portal/business/physicalfile/PhysicalFile.java

Rule Violation Line
MethodReturnsInternalArray Returning '_byValue' may expose an internal array. 74
ArrayIsStoredDirectly The user-supplied array 'value' is stored directly. 83

fr/paris/lutece/portal/business/portalcomponent/PortalComponentDAO.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 60–70
MissingOverride The method 'insert(PortalComponent)' is missing an @Override annotation. 60–70
MissingOverride The method 'load(int)' is missing an @Override annotation. 75–95
MissingOverride The method 'delete(int)' is missing an @Override annotation. 100–108
MissingOverride The method 'store(PortalComponent)' is missing an @Override annotation. 113–124
MissingOverride The method 'selectXslFile(int, int)' is missing an @Override annotation. 129–151

fr/paris/lutece/portal/business/portlet/AliasPortlet.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 55–58
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 114–131
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 142–145
MissingOverride The method 'remove()' is missing an @Override annotation. 173–176

fr/paris/lutece/portal/business/portlet/AliasPortletDAO.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 64–76
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 64–76
MissingOverride The method 'delete(int)' is missing an @Override annotation. 81–89
MissingOverride The method 'load(int)' is missing an @Override annotation. 94–110
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 115–126
ShortVariable Avoid variables with short names like r 117
MissingOverride The method 'selectPortletsByTypeList(String)' is missing an @Override annotation. 131–147
MissingOverride The method 'selectAliasId(int)' is missing an @Override annotation. 152–168
MissingOverride The method 'selectAcceptAliasPortletRefList()' is missing an @Override annotation. 173–188
MissingOverride The method 'selectAcceptAliasPortletList()' is missing an @Override annotation. 193–212

fr/paris/lutece/portal/business/portlet/AliasPortletHome.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
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 70–74
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 81–88
MissingOverride The method 'getDAO()' is missing an @Override annotation. 95–98

fr/paris/lutece/portal/business/portlet/IAliasPortletDAO.java

Rule Violation Line
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 52
MissingOverride The method 'delete(int)' is missing an @Override annotation. 60
MissingOverride The method 'load(int)' is missing an @Override annotation. 69
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 77

fr/paris/lutece/portal/business/portlet/IPortletDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 47–203

fr/paris/lutece/portal/business/portlet/Portlet.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–689
TooManyFields Too many fields 52–689
GodClass Possible God Class (WMC=58, ATFD=22, TCC=1.943%) 52–689
ConfusingTernary Avoid if (x != y) ..; else ..; 532
ConfusingTernary Avoid if (x != y) ..; else ..; 535
ConfusingTernary Avoid if (x != y) ..; else ..; 538
ConfusingTernary Avoid if (x != y) ..; else ..; 541

fr/paris/lutece/portal/business/portlet/PortletDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 51–546
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 98–124
MissingOverride The method 'delete(int)' is missing an @Override annotation. 129–151
MissingOverride The method 'load(int)' is missing an @Override annotation. 156–189
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 194–213
MissingOverride The method 'updateStatus(Portlet, int)' is missing an @Override annotation. 218–229
MissingOverride The method 'updatePosition(Portlet, int, int)' is missing an @Override annotation. 234–244
MissingOverride The method 'selectXslFile(int, int)' is missing an @Override annotation. 249–269
MissingOverride The method 'selectPortletsListbyName(String)' is missing an @Override annotation. 274–295
MissingOverride The method 'selectAliasesForPortlet(int)' is missing an @Override annotation. 300–321
MissingOverride The method 'selectPortletsByType(String)' is missing an @Override annotation. 326–358
MissingOverride The method 'selectStylesList(String)' is missing an @Override annotation. 363–379
MissingOverride The method 'hasAlias(int)' is missing an @Override annotation. 384–401
MissingOverride The method 'selectPortletType(String)' is missing an @Override annotation. 406–427
MissingOverride The method 'selectPortletListByStyle(int)' is missing an @Override annotation. 432–455
MissingOverride The method 'selectPortletsByRole(String)' is missing an @Override annotation. 460–481
MissingOverride The method 'loadLastModifiedPortlet()' is missing an @Override annotation. 486–521

fr/paris/lutece/portal/business/portlet/PortletHome.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 51–360
ShortVariable Avoid variables with short names like p 72
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getXsl method if you want a default access modifier 121–124
DefaultPackage Use explicit scoping instead of the default package private level 121–124
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 157–171
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 179–189

fr/paris/lutece/portal/business/portlet/PortletRoleRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 79–83

fr/paris/lutece/portal/business/portlet/PortletType.java

Rule Violation Line
TooManyFields Too many fields 45–426
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 233–236
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 243–246
AddEmptyString Do not add empty strings 245
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 422–425

fr/paris/lutece/portal/business/portlet/PortletTypeDAO.java

Rule Violation Line
MissingOverride The method 'insert(PortletType)' is missing an @Override annotation. 70–92
MissingOverride The method 'load(String)' is missing an @Override annotation. 101–131
MissingOverride The method 'delete(String)' is missing an @Override annotation. 139–147
MissingOverride The method 'selectPortletTypeId(String)' is missing an @Override annotation. 156–172
MissingOverride The method 'selectNbPortletTypeByPortlet(String)' is missing an @Override annotation. 181–197
MissingOverride The method 'selectPortletsTypesList(Locale)' is missing an @Override annotation. 206–226
MissingOverride The method 'selectPortletTypesList()' is missing an @Override annotation. 233–254

fr/paris/lutece/portal/business/prefs/AbstractUserPreferencesDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 63
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 63

fr/paris/lutece/portal/business/prefs/AdminUserPreferencesDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 46–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 47–50

fr/paris/lutece/portal/business/prefs/UserPreferencesDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 46–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 47–50

fr/paris/lutece/portal/business/progressmanager/ProgressFeed.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemTotal' 51
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemSuccess' 53
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemFailure' 55
ImmutableField Private field '_report' could be made final; it is only initialized in the declaration or constructor. 57
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 179

fr/paris/lutece/portal/business/rbac/AdminRole.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 42–45

fr/paris/lutece/portal/business/rbac/IRBACDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 42–146
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteForResourceTypeAndId': the method is declared in an interface type 144

fr/paris/lutece/portal/business/rbac/RBAC.java

Rule Violation Line
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 67–70

fr/paris/lutece/portal/business/rbac/RBACDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 47–344
MissingOverride The method 'insert(RBAC)' is missing an @Override annotation. 72–90
MissingOverride The method 'load(int)' is missing an @Override annotation. 99–120
MissingOverride The method 'delete(int)' is missing an @Override annotation. 128–136
MissingOverride The method 'store(RBAC)' is missing an @Override annotation. 144–157
MissingOverride The method 'selectRBACList()' is missing an @Override annotation. 164–186
MissingOverride The method 'selectRBACListByRoleKey(String)' is missing an @Override annotation. 195–218
MissingOverride The method 'updateRoleKey(String, String)' is missing an @Override annotation. 267–276
MissingOverride The method 'deleteForRoleKey(String)' is missing an @Override annotation. 284–292
MissingOverride The method 'selectRoleKeys(String, String, String)' is missing an @Override annotation. 303–327

fr/paris/lutece/portal/business/rbac/RBACHome.java

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

fr/paris/lutece/portal/business/rbac/RBACRole.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 51–53

fr/paris/lutece/portal/business/rbac/RBACRoleDAO.java

Rule Violation Line
MissingOverride The method 'insert(RBACRole)' is missing an @Override annotation. 59–68
MissingOverride The method 'load(String)' is missing an @Override annotation. 77–95
MissingOverride The method 'delete(String)' is missing an @Override annotation. 103–111
MissingOverride The method 'store(String, RBACRole)' is missing an @Override annotation. 121–131
MissingOverride The method 'selectRoleList()' is missing an @Override annotation. 138–157
MissingOverride The method 'checkExistRole(String)' is missing an @Override annotation. 166–181

fr/paris/lutece/portal/business/regularexpression/RegularExpression.java

Rule Violation Line
MissingOverride The method 'equals(Object)' is missing an @Override annotation. 182–185
MissingOverride The method 'hashCode()' is missing an @Override annotation. 190–193

fr/paris/lutece/portal/business/resourceenhancer/IResourceDisplayManager.java

Rule Violation Line
LinguisticNaming Linguistics Antipattern - The getter 'getXmlAddOn' should not return void linguistically 57

fr/paris/lutece/portal/business/resourceenhancer/IResourceManager.java

Rule Violation Line
LinguisticNaming Linguistics Antipattern - The getter 'getCreateResourceModelAddOn' should not return void linguistically 53
LinguisticNaming Linguistics Antipattern - The getter 'getModifyResourceModelAddOn' should not return void linguistically 77

fr/paris/lutece/portal/business/resourceenhancer/ResourceEnhancer.java

Rule Violation Line
LinguisticNaming Linguistics Antipattern - The getter 'getXmlAddOn' should not return void linguistically 68–76
LinguisticNaming Linguistics Antipattern - The getter 'getCreateResourceModelAddOn' should not return void linguistically 110–118
LinguisticNaming Linguistics Antipattern - The getter 'getModifyResourceModelAddOn' should not return void linguistically 150–158

fr/paris/lutece/portal/business/right/FeatureGroup.java

Rule Violation Line
ImmutableField Private field '_aFeaturesList' could be made final; it is only initialized in the declaration or constructor. 59
ConfusingTernary Avoid if (x != y) ..; else ..; 112–119
ConfusingTernary Avoid if (x != y) ..; else ..; 172–179

fr/paris/lutece/portal/business/right/FeatureGroupDAO.java

Rule Violation Line
MissingOverride The method 'insert(FeatureGroup)' is missing an @Override annotation. 66–79
MissingOverride The method 'load(String)' is missing an @Override annotation. 88–110
MissingOverride The method 'delete(String)' is missing an @Override annotation. 118–125
MissingOverride The method 'store(FeatureGroup)' is missing an @Override annotation. 133–146
MissingOverride The method 'selectFeatureGroupsList()' is missing an @Override annotation. 153–176
MissingOverride The method 'selectFeatureGroupsCount()' is missing an @Override annotation. 183–198

fr/paris/lutece/portal/business/right/FeatureGroupHome.java

Rule Violation Line
CyclomaticComplexity The method 'changeRightOrder(FeatureGroup, int)' has a cyclomatic complexity of 10. 199–235

fr/paris/lutece/portal/business/right/IRightDAO.java

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

fr/paris/lutece/portal/business/right/LevelDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 62–80
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 62–80
MissingOverride The method 'insert(Level)' is missing an @Override annotation. 88–99
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 88–99
MissingOverride The method 'load(int)' is missing an @Override annotation. 108–126
MissingOverride The method 'delete(int)' is missing an @Override annotation. 134–142
MissingOverride The method 'store(Level)' is missing an @Override annotation. 150–161
MissingOverride The method 'selectLevelsList()' is missing an @Override annotation. 168–186

fr/paris/lutece/portal/business/right/Right.java

Rule Violation Line
PositionLiteralsFirstInComparisons Position literals first in String comparisons 117
PositionLiteralsFirstInComparisons Position literals first in String comparisons 195
ShortVariable Avoid variables with short names like o 349
ShortVariable Avoid variables with short names like o 370

fr/paris/lutece/portal/business/right/RightDAO.java

Rule Violation Line
AvoidDuplicateLiterals The String literal " SELECT id_right, name, level_right, admin_url, description, plugin_name, id_feature_group, icon_url, documentation_url, id_order, is_external_feature " appears 4 times in this file; the first occurrence is on line 55 55
MissingOverride The method 'insert(Right)' is missing an @Override annotation. 75–94
MissingOverride The method 'load(String)' is missing an @Override annotation. 103–131
MissingOverride The method 'delete(String)' is missing an @Override annotation. 139–154
MissingOverride The method 'store(Right)' is missing an @Override annotation. 162–181
MissingOverride The method 'selectRightsList()' is missing an @Override annotation. 188–191
MissingOverride The method 'selectRightsList(int)' is missing an @Override annotation. 200–230
MissingOverride The method 'selectRightsList(String)' is missing an @Override annotation. 289–331

fr/paris/lutece/portal/business/right/RightHome.java

Rule Violation Line
CyclomaticComplexity The method 'changeRightOrder(Right, int)' has a cyclomatic complexity of 10. 188–224
CommentRequired Public method and constructor comments are required 299–302

fr/paris/lutece/portal/business/role/Role.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 67
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 96–99
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 106–109
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 116–119

fr/paris/lutece/portal/business/role/RoleDAO.java

Rule Violation Line
MissingOverride The method 'insert(Role)' is missing an @Override annotation. 63–74
MissingOverride The method 'load(String)' is missing an @Override annotation. 83–103
MissingOverride The method 'delete(String)' is missing an @Override annotation. 111–118
MissingOverride The method 'store(Role)' is missing an @Override annotation. 126–137
MissingOverride The method 'selectRolesList()' is missing an @Override annotation. 144–163
MissingOverride The method 'selectAll()' is missing an @Override annotation. 170–190

fr/paris/lutece/portal/business/rss/FeedResource.java

Rule Violation Line
MissingOverride The method 'getDescription()' is missing an @Override annotation. 57–60
MissingOverride The method 'setDescription(String)' is missing an @Override annotation. 66–69
MissingOverride The method 'getTitle()' is missing an @Override annotation. 75–78
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 84–87
MissingOverride The method 'getImage()' is missing an @Override annotation. 93–96
MissingOverride The method 'setImage(IFeedResourceImage)' is missing an @Override annotation. 104–107
MissingOverride The method 'getItems()' is missing an @Override annotation. 113–116
MissingOverride The method 'setItems(List)' is missing an @Override annotation. 124–127
MissingOverride The method 'getLanguage()' is missing an @Override annotation. 133–136
MissingOverride The method 'setLanguage(String)' is missing an @Override annotation. 144–147
MissingOverride The method 'getLink()' is missing an @Override annotation. 153–156
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 164–167
MissingOverride The method 'getDate()' is missing an @Override annotation. 173–176
MissingOverride The method 'setDate(Date)' is missing an @Override annotation. 182–185

fr/paris/lutece/portal/business/rss/FeedResourceImage.java

Rule Violation Line
MissingOverride The method 'getUrl()' is missing an @Override annotation. 50–53
MissingOverride The method 'setUrl(String)' is missing an @Override annotation. 59–62
MissingOverride The method 'getTitle()' is missing an @Override annotation. 68–71
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 77–80
MissingOverride The method 'getLink()' is missing an @Override annotation. 86–89
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 95–98

fr/paris/lutece/portal/business/rss/FeedResourceItem.java

Rule Violation Line
MissingOverride The method 'getTitle()' is missing an @Override annotation. 54–57
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 63–66
MissingOverride The method 'getLink()' is missing an @Override annotation. 72–75
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 81–84
MissingOverride The method 'getDescription()' is missing an @Override annotation. 90–93
MissingOverride The method 'setDescription(String)' is missing an @Override annotation. 99–102
MissingOverride The method 'getGUID()' is missing an @Override annotation. 108–111
MissingOverride The method 'setGUID(String)' is missing an @Override annotation. 117–120
MissingOverride The method 'getDate()' is missing an @Override annotation. 126–129
MissingOverride The method 'setDate(Date)' is missing an @Override annotation. 135–138

fr/paris/lutece/portal/business/rss/ResourceRssType.java

Rule Violation Line
MissingOverride The method 'getKey()' is missing an @Override annotation. 53–56
MissingOverride The method 'setKey(String)' is missing an @Override annotation. 64–67
MissingOverride The method 'getTitleI18nKey()' is missing an @Override annotation. 74–77
MissingOverride The method 'setTitleI18nKey(String)' is missing an @Override annotation. 85–88
MissingOverride The method 'getClassName()' is missing an @Override annotation. 95–98
MissingOverride The method 'setClassName(String)' is missing an @Override annotation. 106–109
MissingOverride The method 'getTitle()' is missing an @Override annotation. 116–119
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 127–130

fr/paris/lutece/portal/business/search/SearchParameterDAO.java

Rule Violation Line
MissingOverride The method 'load(String)' is missing an @Override annotation. 55–73
MissingOverride The method 'store(ReferenceItem)' is missing an @Override annotation. 76–84
MissingOverride The method 'findAll()' is missing an @Override annotation. 87–103
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 89
MissingOverride The method 'selectParametersList()' is missing an @Override annotation. 106–122

fr/paris/lutece/portal/business/securityheader/SecurityHeaderDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 184

fr/paris/lutece/portal/business/securityheader/SecurityHeaderPageCategory.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'SecurityHeaderPageCategory(String)': enum constructors are implicitly private 62–65

fr/paris/lutece/portal/business/securityheader/SecurityHeaderType.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'SecurityHeaderType(String)': enum constructors are implicitly private 55–58

fr/paris/lutece/portal/business/style/ModeDAO.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 69–87
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 69–87
MissingOverride The method 'insert(Mode)' is missing an @Override annotation. 95–115
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 95–115
MissingOverride The method 'load(int)' is missing an @Override annotation. 124–151
MissingOverride The method 'delete(int)' is missing an @Override annotation. 159–166
MissingOverride The method 'store(Mode)' is missing an @Override annotation. 174–192
MissingOverride The method 'selectModesList()' is missing an @Override annotation. 199–227
MissingOverride The method 'getModesList()' is missing an @Override annotation. 234–250

fr/paris/lutece/portal/business/style/ModeHome.java

Rule Violation Line
NPathComplexity The method 'getOuputXslProperties(int)' has an NPath complexity of 2187 140–195
CyclomaticComplexity The method 'getOuputXslProperties(int)' has a cyclomatic complexity of 15. 140–195

fr/paris/lutece/portal/business/style/PageTemplateDAO.java

Rule Violation Line
MissingOverride The method 'insert(PageTemplate)' is missing an @Override annotation. 65–81
MissingOverride The method 'load(int)' is missing an @Override annotation. 90–111
MissingOverride The method 'delete(int)' is missing an @Override annotation. 119–126
MissingOverride The method 'store(PageTemplate)' is missing an @Override annotation. 134–147
MissingOverride The method 'selectPageTemplatesList()' is missing an @Override annotation. 154–175
MissingOverride The method 'checkPageTemplateIsUsed(int)' is missing an @Override annotation. 184–201

fr/paris/lutece/portal/business/style/StyleDAO.java

Rule Violation Line
MissingOverride The method 'insert(Style)' is missing an @Override annotation. 74–86
MissingOverride The method 'load(int)' is missing an @Override annotation. 95–118
MissingOverride The method 'delete(int)' is missing an @Override annotation. 126–133
MissingOverride The method 'store(Style)' is missing an @Override annotation. 141–153
MissingOverride The method 'selectStylesList()' is missing an @Override annotation. 160–184
MissingOverride The method 'selectPortalComponentList()' is missing an @Override annotation. 191–206
MissingOverride The method 'selectStyleSheetList(int)' is missing an @Override annotation. 215–238
MissingOverride The method 'checkStylePortalComponent(int)' is missing an @Override annotation. 247–264

fr/paris/lutece/portal/business/stylesheet/StyleSheet.java

Rule Violation Line
MethodReturnsInternalArray Returning '_strSource' may expose an internal array. 162
ArrayIsStoredDirectly The user-supplied array 'strSource' is stored directly. 171

fr/paris/lutece/portal/business/stylesheet/StyleSheetDAO.java

Rule Violation Line
MissingOverride The method 'insert(StyleSheet)' is missing an @Override annotation. 72–92
MissingOverride The method 'load(int)' is missing an @Override annotation. 101–123
MissingOverride The method 'delete(int)' is missing an @Override annotation. 131–141
MissingOverride The method 'selectStyleSheetList(int)' is missing an @Override annotation. 150–189
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 162
MissingOverride The method 'store(StyleSheet)' is missing an @Override annotation. 197–212
MissingOverride The method 'selectStyleSheetNbPerStyleMode(int, int)' is missing an @Override annotation. 276–298
MissingOverride The method 'selectModeId(int)' is missing an @Override annotation. 307–327

fr/paris/lutece/portal/business/template/AutoImport.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 52–54

fr/paris/lutece/portal/business/template/AutoInclude.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 51–53

fr/paris/lutece/portal/business/template/CommonsImport.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for '_bDefault' 47

fr/paris/lutece/portal/business/template/CommonsInclude.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for '_bDefault' 47

fr/paris/lutece/portal/business/user/AdminUser.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–739
TooManyFields Too many fields 63–739
GodClass Possible God Class (WMC=57, ATFD=9, TCC=3.098%) 63–739
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 88
ImmutableField Private field '_userInfo' could be made final; it is only initialized in the declaration or constructor. 88
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 90
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 95
ImmutableField Private field '_rights' could be made final; it is only initialized in the declaration or constructor. 95
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 100
ImmutableField Private field '_roles' could be made final; it is only initialized in the declaration or constructor. 100
UncommentedEmptyConstructor Document empty constructor 114–116
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 135–142
LinguisticNaming Linguistics Antipattern - The setter 'setUserInfo' should not return any type except void linguistically 684–687
CommentRequired Public method and constructor comments are required 705–708

fr/paris/lutece/portal/business/user/AdminUserDAO.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–1384
ExcessiveClassLength Avoid really long classes. 59–1384
TooManyMethods This class has too many methods, consider refactoring it. 60–1384
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 243
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 406
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 468
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 898
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 903
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 906
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1105

fr/paris/lutece/portal/business/user/AdminUserFilter.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 83–86
LinguisticNaming Linguistics Antipattern - The setter 'setAdminUserFilter' should not return any type except void linguistically 230–270
ConfusingTernary Avoid if (x != y) ..; else ..; 235–267

fr/paris/lutece/portal/business/user/AdminUserHome.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–661
TooManyMethods This class has too many methods, consider refactoring it. 54–661
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 18 characters appended. 639

fr/paris/lutece/portal/business/user/IAdminUserDAO.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–483
TooManyMethods This class has too many methods, consider refactoring it. 51–483

fr/paris/lutece/portal/business/user/attribute/AbstractAttribute.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 74–76
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 74–76
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 271
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 290
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 310
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 346

fr/paris/lutece/portal/business/user/attribute/AdminUserField.java

Rule Violation Line
DataClass The class 'AdminUserField' is suspected to be a Data Class (WOC=16.667%, NOPA=0, NOAM=10, WMC=12) 44–178

fr/paris/lutece/portal/business/user/attribute/AdminUserFieldDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 54–568
ConfusingTernary Avoid if (x != y) ..; else ..; 141–148
CyclomaticComplexity The method 'selectUsersByFilter(AdminUserFieldFilter)' has a cyclomatic complexity of 11. 327–398
NPathComplexity The method 'selectUsersByFilter(AdminUserFieldFilter)' has an NPath complexity of 220 327–398
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 341
ConfusingTernary Avoid if (x != y) ..; else ..; 350–358
NPathComplexity The method 'selectByFilter(AdminUserFieldFilter)' has an NPath complexity of 544 408–480
CyclomaticComplexity The method 'selectByFilter(AdminUserFieldFilter)' has a cyclomatic complexity of 11. 408–480

fr/paris/lutece/portal/business/user/attribute/AdminUserFieldHome.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 48–220

fr/paris/lutece/portal/business/user/attribute/AttributeCheckBox.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 84–87
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 177
ConfusingTernary Avoid if (x != y) ..; else ..; 245–288

fr/paris/lutece/portal/business/user/attribute/AttributeComboBox.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 84–87
CallSuperInConstructor It is a good practice to call super() in a constructor 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 177
ConfusingTernary Avoid if (x != y) ..; else ..; 254–297

fr/paris/lutece/portal/business/user/attribute/AttributeDAO.java

Rule Violation Line
MissingOverride The method 'load(int, Locale)' is missing an @Override annotation. 111–152
MissingOverride The method 'insert(IAttribute)' is missing an @Override annotation. 161–184
MissingOverride The method 'store(IAttribute)' is missing an @Override annotation. 192–208
MissingOverride The method 'delete(int)' is missing an @Override annotation. 216–224
MissingOverride The method 'selectAll(Locale)' is missing an @Override annotation. 233–277
MissingOverride The method 'selectPluginAttributes(String, Locale)' is missing an @Override annotation. 288–334
MissingOverride The method 'selectCoreAttributes(Locale)' is missing an @Override annotation. 343–383
MissingOverride The method 'updateAttributeAnonymization(int, boolean)' is missing an @Override annotation. 393–401

fr/paris/lutece/portal/business/user/attribute/AttributeImage.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 105–108
CyclomaticComplexity The method 'setAttributeData(HttpServletRequest)' has a cyclomatic complexity of 11. 195–251
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
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 200
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 201
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 202

fr/paris/lutece/portal/business/user/attribute/AttributeRadioButton.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 84–87
CallSuperInConstructor It is a good practice to call super() in a constructor 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 177

fr/paris/lutece/portal/business/user/attribute/AttributeText.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 90–93
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 90–93
CyclomaticComplexity The method 'setAttributeData(HttpServletRequest)' has a cyclomatic complexity of 10. 180–238
ConfusingTernary Avoid if (x != y) ..; else ..; 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 184
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 185
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 186
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 188
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 189
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 201
AvoidReassigningLoopVariables Avoid reassigning the loop control variable 'strValue' 295

fr/paris/lutece/portal/business/user/attribute/IAdminUserFieldDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–142

fr/paris/lutece/portal/business/user/attribute/IAttribute.java

Rule Violation Line
LinguisticNaming Linguistics Antipattern - The setter 'setAttributeData' should not return any type except void linguistically 304

fr/paris/lutece/portal/business/user/attribute/SimpleAdminUserFieldListener.java

Rule Violation Line
MissingOverride The method 'doRemoveUserFields(AdminUser, HttpServletRequest, Locale)' is missing an @Override annotation. 166–169

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminAuthentication.java

Rule Violation Line
CyclomaticComplexity The method 'login(String, String, HttpServletRequest)' has a cyclomatic complexity of 10. 97–143

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminUser.java

Rule Violation Line
DataClass The class 'LuteceDefaultAdminUser' is suspected to be a Data Class (WOC=25.000%, NOPA=0, NOAM=4, WMC=8) 44–135

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminUserDAO.java

Rule Violation Line
MissingOverride The method 'load(String, AdminAuthentication)' is missing an @Override annotation. 71–102
MissingOverride The method 'updateResetPassword(LuteceDefaultAdminUser, boolean)' is missing an @Override annotation. 112–120

fr/paris/lutece/portal/business/user/authentication/PasswordFactory.java

Rule Violation Line
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PROPERTY_PASSWORD_HASH_ITERATIONS field if you want a default access modifier 143
DefaultPackage Use explicit scoping instead of the default package private level 143
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DEFAULT_HASH_ITERATIONS field if you want a default access modifier 144
UseUnderscoresInNumericLiterals Number 210000 should separate every third digit with an underscore 144
DefaultPackage Use explicit scoping instead of the default package private level 144
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _iterations field if you want a default access modifier 148
DefaultPackage Use explicit scoping instead of the default package private level 148
CyclomaticComplexity The constructor 'PBKDF2Password(String, PASSWORD_REPRESENTATION)' has a cyclomatic complexity of 11. 173–214
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 208
ShortVariable Avoid variables with short names like sb 249
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 250
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 251
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DummyPassword constructor if you want a default access modifier 364–368
CallSuperInConstructor It is a good practice to call super() in a constructor 431–434
CallSuperInConstructor It is a good practice to call super() in a constructor 462–475

fr/paris/lutece/portal/business/user/log/UserLogDAO.java

Rule Violation Line
MissingOverride The method 'selectLoginErrors(UserLog, int)' is missing an @Override annotation. 58–81
MissingOverride The method 'insertLog(UserLog)' is missing an @Override annotation. 89–100

fr/paris/lutece/portal/business/user/menu/AccessibilityModeAdminUserMenuItemProvider.java

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

fr/paris/lutece/portal/business/user/menu/LanguageAdminUserMenuItemProvider.java

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

fr/paris/lutece/portal/business/user/parameter/EmailPatternRegularExpressionRemovalListener.java

Rule Violation Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 60–81
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 92–96

fr/paris/lutece/portal/business/workgroup/AdminWorkgroup.java

Rule Violation Line
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 93–96

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupDAO.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 48–334
MissingOverride The method 'insert(AdminWorkgroup)' is missing an @Override annotation. 71–80
MissingOverride The method 'load(String)' is missing an @Override annotation. 85–103
MissingOverride The method 'delete(String)' is missing an @Override annotation. 108–116
MissingOverride The method 'store(AdminWorkgroup)' is missing an @Override annotation. 121–130
MissingOverride The method 'selectWorkgroupList()' is missing an @Override annotation. 135–154
MissingOverride The method 'checkExistWorkgroup(String)' is missing an @Override annotation. 159–173
MissingOverride The method 'isUserInWorkgroup(int, String)' is missing an @Override annotation. 178–195
MissingOverride The method 'checkUserHasWorkgroup(int)' is missing an @Override annotation. 200–214
MissingOverride The method 'getUserWorkgroups(int)' is missing an @Override annotation. 219–235
MissingOverride The method 'getUsersListForWorkgroup(String)' is missing an @Override annotation. 240–263
MissingOverride The method 'deleteAllUsersForWorkgroup(String)' is missing an @Override annotation. 268–275
MissingOverride The method 'insertUserForWorkgroup(AdminUser, String)' is missing an @Override annotation. 280–288
MissingOverride The method 'deleteUserFromWorkgroup(int, String)' is missing an @Override annotation. 293–301
MissingOverride The method 'selectWorkgroupsByFilter(AdminWorkgroupFilter)' is missing an @Override annotation. 310–333

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupFilter.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 68–71
LinguisticNaming Linguistics Antipattern - The setter 'setAdminWorkgroupFilter' should not return any type except void linguistically 141–158
ConfusingTernary Avoid if (x != y) ..; else ..; 146–155

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupHome.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 46–231

fr/paris/lutece/portal/business/workgroup/IAdminWorkgroupDAO.java

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

fr/paris/lutece/portal/business/xsl/XslExportDAO.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 71–78
ConfusingTernary Avoid if (x != y) ..; else ..; 154–161
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 221

fr/paris/lutece/portal/service/accesscontrol/AccessControlService.java

Rule Violation Line
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 57
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 95–102
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 162–165
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 166–169

fr/paris/lutece/portal/service/admin/AdminAuthenticationService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 89–98
CyclomaticComplexity The method 'getRemoteUser(HttpServletRequest)' has a cyclomatic complexity of 10. 131–179
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 205

fr/paris/lutece/portal/service/admin/AdminUserService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1529
GodClass Possible God Class (WMC=144, ATFD=173, TCC=6.410%) 104–1529
CyclomaticComplexity The class 'AdminUserService' has a total cyclomatic complexity of 144 (highest 11). 104–1529
ExcessiveClassLength Avoid really long classes. 104–1529
TooManyMethods This class has too many methods, consider refactoring it. 105–1529
ConfusingTernary Avoid if (x != y) ..; else ..; 278–289
CyclomaticComplexity The method 'getFilteredUsersInterface(Collection, HttpServletRequest, Map, UrlItem)' has a cyclomatic complexity of 10. 307–386
ConfusingTernary Avoid if (x != y) ..; else ..; 345–354
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 356
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 397
CyclomaticComplexity The method 'checkEmail(String)' has a cyclomatic complexity of 11. 475–519
ConfusingTernary Avoid if (x != y) ..; else ..; 603–610
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1290
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 1350
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1358

fr/paris/lutece/portal/service/admin/DefaultImportAdminUserService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–473
NcssCount The method 'readLineOfCSVFile(String, int, Locale, String)' has a NCSS line count of 68. 95–207
ExcessiveMethodLength Avoid really long methods. 95–207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 171
AvoidReassigningLoopVariables Avoid reassigning the loop control variable 'strValue' 327
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 367
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 427

fr/paris/lutece/portal/service/cache/AbstractCacheableService.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 55–372
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 58
ConfusingTernary Avoid if (x != y) ..; else ..; 193
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 180 characters appended. 272
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 292–295
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 292–295

fr/paris/lutece/portal/service/cache/CacheService.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 61–479
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 120–132
ShortVariable Avoid variables with short names like cs 207
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInfos method if you want a default access modifier 244–258
DefaultPackage Use explicit scoping instead of the default package private level 244–258
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 27 characters appended. 246
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 248
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 248
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 248
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 250
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 250
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 250
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 251
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 251
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 251
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 252
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 252
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 252
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 253
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 253
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 253
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 254
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 255
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 265
UseUnderscoresInNumericLiterals Number 10000L should separate every third digit with an underscore 267
UseUnderscoresInNumericLiterals Number 10000L should separate every third digit with an underscore 268
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 272
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 305
ShortVariable Avoid variables with short names like cs 317
ShortVariable Avoid variables with short names like cs 330

fr/paris/lutece/portal/service/cache/DefaultCacheKeyService.java

Rule Violation Line
MissingOverride The method 'getKey(Map, int, LuteceUser)' is missing an @Override annotation. 62–83
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 73
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 73
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 73
ConfusingTernary Avoid if (x != y) ..; else ..; 77
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 79
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 79
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 79
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 80
MissingOverride The method 'setAllowedParametersList(List)' is missing an @Override annotation. 88–91
MissingOverride The method 'setIgnoredParametersList(List)' is missing an @Override annotation. 96–99

fr/paris/lutece/portal/service/cache/FullPageCachingService.java

Rule Violation Line
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 56

fr/paris/lutece/portal/service/cache/HeadersPageCachingFilter.java

Rule Violation Line
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 69
MissingOverride The method 'parseBlockingCacheTimeoutMillis(FilterConfig)' is missing an @Override annotation. 152–164
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 180

fr/paris/lutece/portal/service/cache/PathCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 54–58
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PathCacheService constructor if you want a default access modifier 54–58
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 21 characters appended. 79
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 80
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 80

fr/paris/lutece/portal/service/content/PageData.java

Rule Violation Line
TooManyFields Too many fields 41–465

fr/paris/lutece/portal/service/content/XPageAppService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 80
CyclomaticComplexity The method 'getPage(HttpServletRequest, int)' has a cyclomatic complexity of 11. 190–265
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 336

fr/paris/lutece/portal/service/csv/CSVMessageDescriptor.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 50–52
ShortVariable Avoid variables with short names like o 151
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 162–165
ShortVariable Avoid variables with short names like o 190

fr/paris/lutece/portal/service/csv/CSVReaderService.java

Rule Violation Line
GodClass Possible God Class (WMC=67, ATFD=48, TCC=3.297%) 64–727
CyclomaticComplexity The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has a cyclomatic complexity of 31. 340–572
NcssCount The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has a NCSS line count of 103. 340–572
ExcessiveMethodLength Avoid really long methods. 340–572
NPathComplexity The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has an NPath complexity of 233024 340–572
ConfusingTernary Avoid if (x != y) ..; else ..; 442–474
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 450
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 462
ConfusingTernary Avoid if (x != y) ..; else ..; 476–549
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 532

fr/paris/lutece/portal/service/daemon/AccountLifeTimeDaemon.java

Rule Violation Line
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 24 characters appended. 136
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 137
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 138
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 142
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 30 characters appended. 181
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. 187
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 29 characters appended. 230
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 231
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 232
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 54 characters appended. 264
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 265
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 266
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 270
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 285
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 296
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 303

fr/paris/lutece/portal/service/daemon/AppDaemonService.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 52–385
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 58
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 74–120
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 84
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 325–328

fr/paris/lutece/portal/service/daemon/Daemon.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 39
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 57
ConfusingTernary Avoid if (x != y) ..; else ..; 89

fr/paris/lutece/portal/service/daemon/DaemonEntry.java

Rule Violation Line
ImmutableField Private field '_formatterDateTime' could be made final; it is only initialized in the declaration or constructor. 47
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 176–179
ConfusingTernary Avoid if (x != y) ..; else ..; 285

fr/paris/lutece/portal/service/daemon/DaemonScheduler.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 59
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 65
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 86
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 96
AvoidCatchingThrowable A catch statement should never catch throwable since it includes errors. 189
ConfusingTernary Avoid if (x != y) ..; else ..; 221–231
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 225
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 290
CommentRequired Public method and constructor comments are required 306–309
CallSuperInConstructor It is a good practice to call super() in a constructor 358–361

fr/paris/lutece/portal/service/daemon/DaemonThread.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 44
DefaultPackage Use explicit scoping instead of the default package private level 46
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DEAMON_THREAD_BEAN_NAME field if you want a default access modifier 46
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 85
AvoidCatchingThrowable A catch statement should never catch throwable since it includes errors. 106

fr/paris/lutece/portal/service/daemon/DaemonThreadFactory.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 63
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 73–76

fr/paris/lutece/portal/service/daemon/IndexerDaemon.java

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

fr/paris/lutece/portal/service/daemon/RunnableQueueItem.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 42
ImmutableField Private field '_runnable' could be made final; it is only initialized in the declaration or constructor. 44
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 44
ImmutableField Private field '_strKey' could be made final; it is only initialized in the declaration or constructor. 45
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 46
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 59
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 76
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 87

fr/paris/lutece/portal/service/daemon/ThreadLauncherDaemon.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 59
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 69
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 91
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 92
ImmutableField Private field '_mapThreadByKey' could be made final; it is only initialized in the declaration or constructor. 93
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 93
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 93
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 93
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 94
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 94
ImmutableField Private field '_listThread' could be made final; it is only initialized in the declaration or constructor. 94
AssignmentInOperand Avoid assignments in operands 112
ConfusingTernary Avoid if (x != y) ..; else ..; 116–150
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 118
ConfusingTernary Avoid if (x != y) ..; else ..; 120–142
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 147
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 166
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 168
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 168
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 176
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 189
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 191
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 204
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 221
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 239–242
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 249–257
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 264–267

fr/paris/lutece/portal/service/dashboard/DashboardComponent.java

Rule Violation Line
ShortVariable Avoid variables with short names like o 185
ConfusingTernary Avoid if (x != y) ..; else ..; 252

fr/paris/lutece/portal/service/dashboard/DashboardListenerService.java

Rule Violation Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 51
LinguisticNaming Linguistics Antipattern - The getter 'getDashboardComponents' should not return void linguistically 74–80

fr/paris/lutece/portal/service/dashboard/DashboardService.java

Rule Violation Line
GodClass Possible God Class (WMC=56, ATFD=45, TCC=3.268%) 60–530
ShortVariable Avoid variables with short names like dc 136
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 291
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 433
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 495

fr/paris/lutece/portal/service/dashboard/IMyDashboardComponent.java

Rule Violation Line
CommentRequired Header comments are required 40–70

fr/paris/lutece/portal/service/dashboard/admin/AdminDashboardService.java

Rule Violation Line
ShortVariable Avoid variables with short names like dc 136
CyclomaticComplexity The method 'updateDashboardComponents(IAdminDashboardComponent, List, int)' has a cyclomatic complexity of 11. 224–254
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 286
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 358

fr/paris/lutece/portal/service/database/AppConnectionService.java

Rule Violation Line
ShortVariable Avoid variables with short names like is 82
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 87
LinguisticNaming Linguistics Antipattern - The getter 'getPoolList' should not return void linguistically 148–154

fr/paris/lutece/portal/service/database/DAOUtilTransactionManager.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 69–72
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 114
MissingOverride The method 'getParentLogger()' is missing an @Override annotation. 226–229

fr/paris/lutece/portal/service/database/LuteceTransactionManager.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 107–122

fr/paris/lutece/portal/service/datastore/DatastoreCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 50–54
DefaultPackage Use explicit scoping instead of the default package private level 74–77
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getEntityCacheKey method if you want a default access modifier 74–77
DefaultPackage Use explicit scoping instead of the default package private level 86–91
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPrefixCacheKey method if you want a default access modifier 86–91
DefaultPackage Use explicit scoping instead of the default package private level 96–99
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the removeCachedPrefixes method if you want a default access modifier 96–99

fr/paris/lutece/portal/service/datastore/DatastoreService.java

Rule Violation Line
GodClass Possible God Class (WMC=52, ATFD=14, TCC=19.118%) 51–473
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the VALUE_MISSING field if you want a default access modifier 57
DefaultPackage Use explicit scoping instead of the default package private level 57
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 102–105
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 107–110
ShortVariable Avoid variables with short names like p 154
ConfusingTernary Avoid if (x != y) ..; else ..; 157–174
ShortVariable Avoid variables with short names like sb 354
ShortVariable Avoid variables with short names like e 448
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 466

fr/paris/lutece/portal/service/datastore/DatastoreTemplateMethod.java

Rule Violation Line
CommentRequired Header comments are required 40–47

fr/paris/lutece/portal/service/editor/EditorBbcodeService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 90
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 107
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 120–132
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 148–155
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 174–197

fr/paris/lutece/portal/service/editor/IEditorBbcodeService.java

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

fr/paris/lutece/portal/service/editor/IRichTextContentParser.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPrefix': the method is declared in an interface type 48
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPrefix': the method is declared in an interface type 56
UnnecessaryModifier Unnecessary modifier 'public' on method 'getName': the method is declared in an interface type 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'setName': the method is declared in an interface type 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'parseContent': the method is declared in an interface type 81

fr/paris/lutece/portal/service/editor/ParserBbcodeServlet.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 65–68
ConfusingTernary Avoid if (x != y) ..; else ..; 83

fr/paris/lutece/portal/service/editor/RichTextContentService.java

Rule Violation Line
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/portal/service/editor/RichTextParsingException.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 37–92
CommentRequired Header comments are required 37–92
ShortVariable Avoid variables with short names like e 62
ShortVariable Avoid variables with short names like e 77

fr/paris/lutece/portal/service/event/AbstractEventManager.java

Rule Violation Line
CommentRequired Header comments are required 43–73
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 43–73
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 46
ImmutableField Private field '_listeners' could be made final; it is only initialized in the declaration or constructor. 46

fr/paris/lutece/portal/service/event/LuteceUserEventManager.java

Rule Violation Line
CommentRequired Header comments are required 38–58
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 41
NonThreadSafeSingleton Singleton is not thread safe 49–52

fr/paris/lutece/portal/service/file/ExpiredLinkException.java

Rule Violation Line
CommentRequired Header comments are required 36–51

fr/paris/lutece/portal/service/file/FileService.java

Rule Violation Line
ImmutableField Private field '_defaulFileStoreServiceProvider' could be made final; it is only initialized in the declaration or constructor. 62
NonThreadSafeSingleton Singleton is not thread safe 82–85

fr/paris/lutece/portal/service/file/FileServiceException.java

Rule Violation Line
CommentRequired Header comments are required 36–105
ShortVariable Avoid variables with short names like e 66
ShortVariable Avoid variables with short names like e 81

fr/paris/lutece/portal/service/file/IFileDownloadUrlService.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'static final' on field 'LINK_VALIDITY_TIME': the field is declared in an interface type 50

fr/paris/lutece/portal/service/file/IFileRBACService.java

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

fr/paris/lutece/portal/service/file/IFileStoreServiceProvider.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getName': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDefault': the method is declared in an interface type 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'healthCheck': the method is declared in an interface type 72–76

fr/paris/lutece/portal/service/file/implementation/DefaultFileDownloadService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 97
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 124
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 154
ShortVariable Avoid variables with short names like sb 211
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 212
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 213
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 214

fr/paris/lutece/portal/service/file/implementation/DefaultFileNoRBACService.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_ACCESS_DENIED_KEY'. 49

fr/paris/lutece/portal/service/file/implementation/LocalDatabaseFileService.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 228
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 229
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 266
CommentRequired Public method and constructor comments are required 300–303
CommentRequired Public method and constructor comments are required 305–308

fr/paris/lutece/portal/service/fileimage/FileImagePublicService.java

Rule Violation Line
CommentRequired Header comments are required 50–176
CallSuperInConstructor It is a good practice to call super() in a constructor 59–62
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 70–73
ConfusingTernary Avoid if (x != y) ..; else ..; 110–132
MissingOverride The method 'addImageResource(FileItem)' is missing an @Override annotation. 144–155

fr/paris/lutece/portal/service/fileimage/FileImageService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 78–81
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 108–127
ControlStatementBraces This statement should have braces 111
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 134–137
MissingOverride The method 'addImageResource(FileItem)' is missing an @Override annotation. 158–169

fr/paris/lutece/portal/service/fileupload/FileUploadService.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 60–72
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 71

fr/paris/lutece/portal/service/filter/FilterEntry.java

Rule Violation Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 48
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 48

fr/paris/lutece/portal/service/filter/FilterService.java

Rule Violation Line
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 54
ShortVariable Avoid variables with short names like f 86
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 139

fr/paris/lutece/portal/service/filter/LuteceFilter.java

Rule Violation Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 53
ShortVariable Avoid variables with short names like o 224

fr/paris/lutece/portal/service/filter/LuteceFilterChain.java

Rule Violation Line
MissingOverride The method 'doFilter(ServletRequest, ServletResponse)' is missing an @Override annotation. 122–129

fr/paris/lutece/portal/service/filter/LuteceFilterConfig.java

Rule Violation Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 48
ImmutableField Private field '_context' could be made final; it is only initialized in the declaration or constructor. 49
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 50
MissingOverride The method 'getFilterName()' is missing an @Override annotation. 72–75
MissingOverride The method 'getServletContext()' is missing an @Override annotation. 80–83
MissingOverride The method 'getInitParameter(String)' is missing an @Override annotation. 88–91
MissingOverride The method 'getInitParameterNames()' is missing an @Override annotation. 98–101

fr/paris/lutece/portal/service/filter/MainFilter.java

Rule Violation Line
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 58–61
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 66–109
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 99
MissingOverride The method 'destroy()' is missing an @Override annotation. 114–132
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 127
DefaultPackage Use explicit scoping instead of the default package private level 143–146
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the matchMapping method if you want a default access modifier 143–146
CyclomaticComplexity The method 'matchFilterUrl(String, String)' has a cyclomatic complexity of 13. 159–202
NPathComplexity The method 'matchFilterUrl(String, String)' has an NPath complexity of 240 159–202
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the matchFilterUrl method if you want a default access modifier 159–202
DefaultPackage Use explicit scoping instead of the default package private level 159–202
PositionLiteralsFirstInComparisons Position literals first in String comparisons 171
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 178–182

fr/paris/lutece/portal/service/filter/PageSecurityHeaderFilter.java

Rule Violation Line
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 69
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 80–83
UncommentedEmptyMethodBody Document empty method body 81–83
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 99–109
CollapsibleIfStatements These nested if statements could be combined 153–156
MissingOverride The method 'destroy()' is missing an @Override annotation. 189–192
UncommentedEmptyMethodBody Document empty method body 190–192

fr/paris/lutece/portal/service/filter/RestApiSecurityHeaderFilter.java

Rule Violation Line
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 64
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 74–77
UncommentedEmptyMethodBody Document empty method body 75–77
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 93–101
MissingOverride The method 'destroy()' is missing an @Override annotation. 128–131
UncommentedEmptyMethodBody Document empty method body 129–131

fr/paris/lutece/portal/service/html/HtmlCleanerService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 61–66
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 75–80

fr/paris/lutece/portal/service/html/IHtmlCleaner.java

Rule Violation Line
UncommentedEmptyMethodBody Document empty method body 58–60

fr/paris/lutece/portal/service/html/IXSSSanitizer.java

Rule Violation Line
UncommentedEmptyMethodBody Document empty method body 55–57

fr/paris/lutece/portal/service/html/OwaspXSSSanitizer.java

Rule Violation Line
CommentRequired Header comments are required 6–26
CommentRequired Public method and constructor comments are required 17–25
MissingOverride The method 'init()' is missing an @Override annotation. 17–25

fr/paris/lutece/portal/service/html/XSSSanitizerService.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 65–74
NonThreadSafeSingleton Singleton is not thread safe 81–85

fr/paris/lutece/portal/service/html/XmlTransformerService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 164
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 198

fr/paris/lutece/portal/service/i18n/CombinedResourceBundle.java

Rule Violation Line
CommentRequired Header comments are required 40–76
CallSuperInConstructor It is a good practice to call super() in a constructor 45–49
CommentRequired Public method and constructor comments are required 45–49

fr/paris/lutece/portal/service/i18n/I18nService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 81
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 82
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 83
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 86
ConfusingTernary Avoid if (x != y) ..; else ..; 118–125
ShortVariable Avoid variables with short names like sb 156
PositionLiteralsFirstInComparisons Position literals first in String comparisons 205
ConfusingTernary Avoid if (x != y) ..; else ..; 205–235
PositionLiteralsFirstInComparisons Position literals first in String comparisons 207
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 248
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 254
ShortVariable Avoid variables with short names like rb 554

fr/paris/lutece/portal/service/i18n/I18nTemplateMethod.java

Rule Violation Line
CommentRequired Header comments are required 40–47

fr/paris/lutece/portal/service/image/ImageResource.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 51–55
UncommentedEmptyConstructor Document empty constructor 57–60
CommentRequired Public method and constructor comments are required 57–60
MethodReturnsInternalArray Returning '_strImage' may expose an internal array. 69
ArrayIsStoredDirectly The user-supplied array 'strImage' is stored directly. 78

fr/paris/lutece/portal/service/image/ImageResourceManager.java

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

fr/paris/lutece/portal/service/image/ImageServlet.java

Rule Violation Line
ShortVariable Avoid variables with short names like sc 107
ShortVariable Avoid variables with short names like in 115
AssignmentInOperand Avoid assignments in operands 120
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 200

fr/paris/lutece/portal/service/includes/PageIncludeService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 51
ConfusingTernary Avoid if (x != y) ..; else ..; 75

fr/paris/lutece/portal/service/init/AppInfo.java

Rule Violation Line
DefaultPackage Use explicit scoping instead of the default package private level 43–45
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LUTECE_BANNER_VERSION field if you want a default access modifier 43–45
DefaultPackage Use explicit scoping instead of the default package private level 47–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LUTECE_BANNER_SERVER field if you want a default access modifier 47–50

fr/paris/lutece/portal/service/init/AppInit.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–360
ExcessiveMethodLength Avoid really long methods. 125–245
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 71 characters appended. 227
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 228
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 230
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 313
ShortVariable Avoid variables with short names like p 314
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 320
ShortVariable Avoid variables with short names like fw 341
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 345

fr/paris/lutece/portal/service/init/LuteceInitException.java

Rule Violation Line
ShortVariable Avoid variables with short names like e 56

fr/paris/lutece/portal/service/init/PostStartUpServiceManager.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 69

fr/paris/lutece/portal/service/init/ShutdownServiceManager.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 69

fr/paris/lutece/portal/service/init/StartUpServiceManager.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 81
ControlStatementBraces This statement should have braces 85
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 105

fr/paris/lutece/portal/service/insert/InsertResourceIdService.java

Rule Violation Line
MissingOverride The method 'register()' is missing an @Override annotation. 57–70
ShortVariable Avoid variables with short names like rt 59
ShortVariable Avoid variables with short names like p 64
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 79–89
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 100–105

fr/paris/lutece/portal/service/insert/InsertService.java

Rule Violation Line
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 257–260
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 267–270
AddEmptyString Do not add empty strings 269
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 278–281

fr/paris/lutece/portal/service/insert/InsertServiceManager.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 53
ShortVariable Avoid variables with short names like is 71
ShortVariable Avoid variables with short names like is 83

fr/paris/lutece/portal/service/jpa/JPALuteceDAO.java

Rule Violation Line
MissingOverride The method 'getEntityManagerFactory()' is missing an @Override annotation. 69–82

fr/paris/lutece/portal/service/jpa/JPAStartupService.java

Rule Violation Line
MissingOverride The method 'process()' is missing an @Override annotation. 79–159
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 84
ShortVariable Avoid variables with short names like ds 94
ShortVariable Avoid variables with short names like tm 141
MissingOverride The method 'getName()' is missing an @Override annotation. 166–169

fr/paris/lutece/portal/service/mail/DatabaseQueue.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 51–56
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 64–76

fr/paris/lutece/portal/service/mail/MailAttachmentCacheKeyService.java

Rule Violation Line
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 60

fr/paris/lutece/portal/service/mail/MailAttachmentCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 53–56
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 71–79

fr/paris/lutece/portal/service/mail/MailSenderDaemon.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 79–142
ConfusingTernary Avoid if (x != y) ..; else ..; 92–141
AvoidDuplicateLiterals The String literal "{} {} " appears 4 times in this file; the first occurrence is on line 122 122
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 124
CyclomaticComplexity The method 'sendMail(MailItem, Transport, Session, StringBuilder)' has a cyclomatic complexity of 12. 219–271
ConfusingTernary Avoid if (x != y) ..; else ..; 224
ConfusingTernary Avoid if (x != y) ..; else ..; 226
ConfusingTernary Avoid if (x != y) ..; else ..; 228

fr/paris/lutece/portal/service/mail/MailService.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 52–628
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 88
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 111–112
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 137–138
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 171–172
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 200–201
ExcessiveParameterList Avoid long parameter lists. 232–234
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 232–234
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 270–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 298–299
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 329–330
ExcessiveParameterList Avoid long parameter lists. 329–330
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 362
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 385–386
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 411–412
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 444–445
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 470–471
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 499–500
ShortVariable Avoid variables with short names like sb 595

fr/paris/lutece/portal/service/mail/MailUtil.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–707
GodClass Possible God Class (WMC=47, ATFD=86, TCC=16.190%) 82–707
ConfusingTernary Avoid if (x != y) ..; else ..; 154
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 181–188
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 206–216
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 234–288
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 306–340
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 358–381
ConfusingTernary Avoid if (x != y) ..; else ..; 397–405
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 420–429
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 452–485
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 465
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 500–538
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 530
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 549–552
ShortVariable Avoid variables with short names like st 587
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 605–625
AssignmentInOperand Avoid assignments in operands 617
CyclomaticComplexity The method 'convertUrlAttachmentDataSourceToByteArrayDataSource(UrlAttachment)' has a cyclomatic complexity of 11. 634–706
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 637
ShortVariable Avoid variables with short names like bo 645
ShortVariable Avoid variables with short names like o 651

fr/paris/lutece/portal/service/mail/MemoryQueue.java

Rule Violation Line
ImmutableField Private field '_listMails' could be made final; it is only initialized in the declaration or constructor. 46
MissingOverride The method 'send(MailItem)' is missing an @Override annotation. 54–60
MissingOverride The method 'consume()' is missing an @Override annotation. 67–81
MissingOverride The method 'size()' is missing an @Override annotation. 88–91

fr/paris/lutece/portal/service/mailinglist/AdminMailingListService.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 186–193

fr/paris/lutece/portal/service/message/AdminMessage.java

Rule Violation Line
ArrayIsStoredDirectly The user-supplied array 'messageArgs' is stored directly. 166
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 166–167

fr/paris/lutece/portal/service/message/AdminMessageService.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 243–244
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 270–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 334–335
ConfusingTernary Avoid if (x != y) ..; else ..; 337
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 481
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 502
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 524
UnusedLocalVariable Avoid unused local variables such as 'session'. 543
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 543

fr/paris/lutece/portal/service/message/CustomSiteMessage.java

Rule Violation Line
CommentRequired Header comments are required 38–63
ImmutableField Private field '_strText' could be made final; it is only initialized in the declaration or constructor. 42
ImmutableField Private field '_strTitle' could be made final; it is only initialized in the declaration or constructor. 43
CommentRequired Public method and constructor comments are required 45–50

fr/paris/lutece/portal/service/message/SiteMessage.java

Rule Violation Line
ImmutableField Private field '_strTextKey' could be made final; it is only initialized in the declaration or constructor. 62
ImmutableField Private field '_strTitleKey' could be made final; it is only initialized in the declaration or constructor. 63
ImmutableField Private field '_strUrl' could be made final; it is only initialized in the declaration or constructor. 64
ImmutableField Private field '_strTarget' could be made final; it is only initialized in the declaration or constructor. 65
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 67
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 111
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 122

fr/paris/lutece/portal/service/message/SiteMessageHandler.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 91
ConfusingTernary Avoid if (x != y) ..; else ..; 157
ConfusingTernary Avoid if (x != y) ..; else ..; 164

fr/paris/lutece/portal/service/message/SiteMessageService.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 267–268
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 295–296
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 325–326
ConfusingTernary Avoid if (x != y) ..; else ..; 328
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 353
ConfusingTernary Avoid if (x != y) ..; else ..; 356
LinguisticNaming Linguistics Antipattern - The setter 'setSiteMessageUrl' should not return any type except void linguistically 444–450
ConfusingTernary Avoid if (x != y) ..; else ..; 516–535

fr/paris/lutece/portal/service/page/PageCacheService.java

Rule Violation Line
MissingOverride The method 'getName()' is missing an @Override annotation. 56–59
DefaultPackage Use explicit scoping instead of the default package private level 68–78
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getKey method if you want a default access modifier 68–78
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 144–147
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 144–147

fr/paris/lutece/portal/service/page/PageContentService.java

Rule Violation Line
ImmutableField Private field '_pageService' could be made final; it is only initialized in the declaration or constructor. 53
MissingOverride The method 'isInvoked(HttpServletRequest)' is missing an @Override annotation. 67–71
MissingOverride The method 'getName()' is missing an @Override annotation. 76–79

fr/paris/lutece/portal/service/page/PageEvent.java

Rule Violation Line
ImmutableField Private field '_page' could be made final; it is only initialized in the declaration or constructor. 50
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 51

fr/paris/lutece/portal/service/page/PageResourceIdService.java

Rule Violation Line
MissingOverride The method 'register()' is missing an @Override annotation. 60–78
ShortVariable Avoid variables with short names like rt 62
ShortVariable Avoid variables with short names like p 67
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 87–90
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 101–106

fr/paris/lutece/portal/service/page/PageService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1157
GodClass Possible God Class (WMC=86, ATFD=104, TCC=6.907%) 97–1157
ExcessiveClassLength Avoid really long classes. 97–1157
CyclomaticComplexity The class 'PageService' has a total cyclomatic complexity of 86 (highest 19). 97–1157
TooManyMethods This class has too many methods, consider refactoring it. 98–1157
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 263
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 361
CyclomaticComplexity The method 'buildPageContent(String, int, HttpServletRequest)' has a cyclomatic complexity of 11. 401–492
NPathComplexity The method 'getPageContent(int, int, HttpServletRequest)' has an NPath complexity of 360 508–573
CyclomaticComplexity The method 'getPageContent(int, int, HttpServletRequest)' has a cyclomatic complexity of 12. 508–573
ConfusingTernary Avoid if (x != y) ..; else ..; 534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 555
ShortVariable Avoid variables with short names like t 570
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 588
CyclomaticComplexity The method 'getPortletContent(HttpServletRequest, Portlet, Map, int)' has a cyclomatic complexity of 19. 612–710
NPathComplexity The method 'getPortletContent(HttpServletRequest, Portlet, Map, int)' has an NPath complexity of 4608 612–710
ConfusingTernary Avoid if (x != y) ..; else ..; 643
ConfusingTernary Avoid if (x != y) ..; else ..; 650–660
UselessStringValueOf No need to call String.valueOf to append to a string. 676
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 679
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 696
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 706
SimplifiedTernary Ternary operators that can be simplified with || or && 720
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1006
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1032
ConfusingTernary Avoid if (x != y) ..; else ..; 1052–1066
ConfusingTernary Avoid if (x != y) ..; else ..; 1059

fr/paris/lutece/portal/service/page/PortletCacheService.java

Rule Violation Line
MissingOverride The method 'getName()' is missing an @Override annotation. 55–58
MissingOverride The method 'processPortletEvent(PortletEvent)' is missing an @Override annotation. 63–74

fr/paris/lutece/portal/service/panel/LutecePanelService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 94–108
ShortVariable Avoid variables with short names like p1 153
ShortVariable Avoid variables with short names like p2 153

fr/paris/lutece/portal/service/plugin/Plugin.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–1370
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1370
TooManyFields Too many fields 84–1370
GodClass Possible God Class (WMC=130, ATFD=76, TCC=3.918%) 84–1370
CyclomaticComplexity The class 'Plugin' has a total cyclomatic complexity of 130 (highest 7). 84–1370
ExcessiveClassLength Avoid really long classes. 84–1370
TooManyMethods This class has too many methods, consider refactoring it. 85–1370
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 139
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the load method if you want a default access modifier 156–216
DefaultPackage Use explicit scoping instead of the default package private level 156–216
ConfusingTernary Avoid if (x != y) ..; else ..; 191
ConfusingTernary Avoid if (x != y) ..; else ..; 193
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 212
ShortVariable Avoid variables with short names like cs 438
ShortVariable Avoid variables with short names like o 1109
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 1368

fr/paris/lutece/portal/service/plugin/PluginDefaultImplementation.java

Rule Violation Line
MissingOverride The method 'init()' is missing an @Override annotation. 45–48

fr/paris/lutece/portal/service/plugin/PluginEvent.java

Rule Violation Line
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 46
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 47

fr/paris/lutece/portal/service/plugin/PluginFile.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–1075
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1075
CyclomaticComplexity The class 'PluginFile' has a total cyclomatic complexity of 81 (highest 3). 74–1075
TooManyFields Too many fields 74–1075
GodClass Possible God Class (WMC=81, ATFD=8, TCC=1.499%) 74–1075
ExcessiveClassLength Avoid really long classes. 74–1075
TooManyMethods This class has too many methods, consider refactoring it. 75–1075
ImmutableField Private field '_listCssStyleSheets' could be made final; it is only initialized in the declaration or constructor. 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 93
ImmutableField Private field '_listJavascriptFiles' could be made final; it is only initialized in the declaration or constructor. 93
ImmutableField Private field '_listAdminCssStyleSheets' could be made final; it is only initialized in the declaration or constructor. 94
ImmutableField Private field '_listAdminJavascriptFiles' could be made final; it is only initialized in the declaration or constructor. 95
ImmutableField Private field '_listFreemarkerAutoIncludes' could be made final; it is only initialized in the declaration or constructor. 96
ImmutableField Private field '_mapFreemarkerAutoImports' could be made final; it is only initialized in the declaration or constructor. 97
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 97
ImmutableField Private field '_listRights' could be made final; it is only initialized in the declaration or constructor. 98
ImmutableField Private field '_listPortletTypes' could be made final; it is only initialized in the declaration or constructor. 99
ImmutableField Private field '_listDaemons' could be made final; it is only initialized in the declaration or constructor. 100
ImmutableField Private field '_listApplications' could be made final; it is only initialized in the declaration or constructor. 101
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 102
ImmutableField Private field '_listServlets' could be made final; it is only initialized in the declaration or constructor. 103
ImmutableField Private field '_listListeners' could be made final; it is only initialized in the declaration or constructor. 104
ImmutableField Private field '_listContentServices' could be made final; it is only initialized in the declaration or constructor. 105
ImmutableField Private field '_listSearchIndexers' could be made final; it is only initialized in the declaration or constructor. 106
ImmutableField Private field '_listInsertServices' could be made final; it is only initialized in the declaration or constructor. 107
ImmutableField Private field '_listRBACResourceTypes' could be made final; it is only initialized in the declaration or constructor. 108
ImmutableField Private field '_listPageIncludes' could be made final; it is only initialized in the declaration or constructor. 109
ImmutableField Private field '_listDashboardComponents' could be made final; it is only initialized in the declaration or constructor. 110
ImmutableField Private field '_listAdminDashboardComponents' could be made final; it is only initialized in the declaration or constructor. 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 112
ImmutableField Private field '_mapParams' could be made final; it is only initialized in the declaration or constructor. 112
ShortVariable Avoid variables with short names like is 800

fr/paris/lutece/portal/service/plugin/PluginService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 72
ConfusingTernary Avoid if (x != y) ..; else ..; 173–214
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 206
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 237–240
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 308

fr/paris/lutece/portal/service/portal/PortalMenuService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 78–82
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 89–97
MissingOverride The method 'getName()' is missing an @Override annotation. 104–107
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 185
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 19 characters appended. 297

fr/paris/lutece/portal/service/portal/PortalService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–784
GodClass Possible God Class (WMC=63, ATFD=111, TCC=5.238%) 82–784
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 129
ShortVariable Avoid variables with short names like cs 167
NPathComplexity The method 'buildPageContent(int, PageData, int, HttpServletRequest)' has an NPath complexity of 2304 266–356
CyclomaticComplexity The method 'buildPageContent(int, PageData, int, HttpServletRequest)' has a cyclomatic complexity of 13. 266–356
ConfusingTernary Avoid if (x != y) ..; else ..; 321
ConfusingTernary Avoid if (x != y) ..; else ..; 344
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 408
CyclomaticComplexity The method 'getXPagePathContent(String, int, HttpServletRequest)' has a cyclomatic complexity of 10. 428–504
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 493
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 710
ConfusingTernary Avoid if (x != y) ..; else ..; 733–741

fr/paris/lutece/portal/service/portal/ThemesService.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 313
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 326

fr/paris/lutece/portal/service/portlet/PortletResourceIdService.java

Rule Violation Line
MissingOverride The method 'register()' is missing an @Override annotation. 61–79
ShortVariable Avoid variables with short names like rt 63
ShortVariable Avoid variables with short names like p 68
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 88–91
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 102–108

fr/paris/lutece/portal/service/portlet/PortletService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 68–76

fr/paris/lutece/portal/service/prefs/AdminUserPreferencesService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 56–64

fr/paris/lutece/portal/service/prefs/BaseUserPreferencesServiceImpl.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 57–59

fr/paris/lutece/portal/service/prefs/UserPreferencesService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 56–64

fr/paris/lutece/portal/service/progressmanager/ProgressManagerService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 71–79
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 88
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 142–148
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 156–162
ConfusingTernary Avoid if (x != y) ..; else ..; 290–298

fr/paris/lutece/portal/service/rbac/Permission.java

Rule Violation Line
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 56–59

fr/paris/lutece/portal/service/rbac/RBACService.java

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

fr/paris/lutece/portal/service/rbac/ResourceType.java

Rule Violation Line
ImmutableField Private field '_mapPermissions' could be made final; it is only initialized in the declaration or constructor. 53
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 72–75

fr/paris/lutece/portal/service/rbac/ResourceTypeManager.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 51
ShortVariable Avoid variables with short names like rt 69

fr/paris/lutece/portal/service/regularexpression/RegularExpressionService.java

Rule Violation Line
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 78–85
DefaultPackage Use explicit scoping instead of the default package private level 103–106
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isPatternValide method if you want a default access modifier 103–106
DefaultPackage Use explicit scoping instead of the default package private level 115–118
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isPatternValide method if you want a default access modifier 115–118

fr/paris/lutece/portal/service/resource/ExtendableResourceActionHit.java

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

fr/paris/lutece/portal/service/resource/ExtendableResourceRemovalListenerService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 57–60

fr/paris/lutece/portal/service/resource/ResourceService.java

Rule Violation Line
ImmutableField Private field '_listLoaders' could be made final; it is only initialized in the declaration or constructor. 59
CallSuperInConstructor It is a good practice to call super() in a constructor 64–76
ConfusingTernary Avoid if (x != y) ..; else ..; 68–75
ShortVariable Avoid variables with short names like st 95
MissingOverride The method 'getName()' is missing an @Override annotation. 120–123
PositionLiteralsFirstInComparisons Position literals first in String comparisons 146
ShortVariable Avoid variables with short names like i 214
ShortVariable Avoid variables with short names like i 233
ShortVariable Avoid variables with short names like j 239

fr/paris/lutece/portal/service/scheduler/JobSchedulerService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 67–75

fr/paris/lutece/portal/service/search/IndexationService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–668
GodClass Possible God Class (WMC=59, ATFD=82, TCC=18.182%) 74–668
TooManyMethods This class has too many methods, consider refactoring it. 75–668
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 88
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 133
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 182–261
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 186
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 229
AvoidDuplicateLiterals The String literal "</strong>\r\n" appears 4 times in this file; the first occurrence is on line 281 281
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 287
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 322
ConfusingTernary Avoid if (x != y) ..; else ..; 373–383
ConfusingTernary Avoid if (x != y) ..; else ..; 410–418
ShortVariable Avoid variables with short names like e 469
ShortVariable Avoid variables with short names like e 485
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 488
ShortVariable Avoid variables with short names like e 502
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 504
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 507
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 514
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 522
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 528

fr/paris/lutece/portal/service/search/LuceneSearchEngine.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–327
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 78
MissingOverride The method 'getSearchResults(String, HttpServletRequest)' is missing an @Override annotation. 95–148
ConfusingTernary Avoid if (x != y) ..; else ..; 106–128
ConfusingTernary Avoid if (x != y) ..; else ..; 110–123
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 182–186
CyclomaticComplexity The method 'search(String, String, Query, HttpServletRequest, boolean)' has a cyclomatic complexity of 11. 221–291
ShortVariable Avoid variables with short names like ir 224
ConfusingTernary Avoid if (x != y) ..; else ..; 234
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 273–284
ShortVariable Avoid variables with short names like si 277
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 286

fr/paris/lutece/portal/service/search/PageIndexer.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 106
ExcessiveMethodLength Avoid really long methods. 196–299
ShortVariable Avoid variables with short names like ft 198
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 238
ShortVariable Avoid variables with short names like sb 243
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 262
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 272

fr/paris/lutece/portal/service/search/QueryListenersService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 92

fr/paris/lutece/portal/service/search/SearchItem.java

Rule Violation Line
ImmutableField Private field '_strMetadata' could be made final; it is only initialized in the declaration or constructor. 59
ConfusingTernary Avoid if (x != y) ..; else ..; 156
ConfusingTernary Avoid if (x != y) ..; else ..; 177
ConfusingTernary Avoid if (x != y) ..; else ..; 219

fr/paris/lutece/portal/service/search/SearchResourceIdService.java

Rule Violation Line
ShortVariable Avoid variables with short names like rt 59
ShortVariable Avoid variables with short names like p 64

fr/paris/lutece/portal/service/search/SearchService.java

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

fr/paris/lutece/portal/service/security/IAccessLogger.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'info': the method is declared in an interface type 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'info': the method is declared in an interface type 72–75
UnnecessaryModifier Unnecessary modifier 'public' on method 'debug': the method is declared in an interface type 91
UnnecessaryModifier Unnecessary modifier 'public' on method 'debug': the method is declared in an interface type 105–108
UnnecessaryModifier Unnecessary modifier 'public' on method 'trace': the method is declared in an interface type 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'trace': the method is declared in an interface type 138–141
UnnecessaryModifier Unnecessary modifier 'public' on method 'warn': the method is declared in an interface type 157
UnnecessaryModifier Unnecessary modifier 'public' on method 'warn': the method is declared in an interface type 171–174

fr/paris/lutece/portal/service/security/LuteceUser.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 141
ImmutableField Private field '_mapUserInfo' could be made final; it is only initialized in the declaration or constructor. 141
ImmutableField Private field '_workgroups' could be made final; it is only initialized in the declaration or constructor. 161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 161
MethodReturnsInternalArray Returning '_roles' may expose an internal array. 286
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 295
MethodReturnsInternalArray Returning '_groups' may expose an internal array. 332
ShortVariable Avoid variables with short names like j 370
ShortVariable Avoid variables with short names like j 401
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 481–484

fr/paris/lutece/portal/service/security/LuteceUserCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 49–52
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 59–66

fr/paris/lutece/portal/service/security/RsaService.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'final' on method 'encryptRsa': the method is already in a final class 64–67
UnnecessaryModifier Unnecessary modifier 'final' on method 'encryptRsa': the method is already in a final class 76–81
UnnecessaryModifier Unnecessary modifier 'final' on method 'decryptRsa': the method is already in a final class 91–94
UnnecessaryModifier Unnecessary modifier 'final' on method 'decryptRsa': the method is already in a final class 103–109

fr/paris/lutece/portal/service/security/SecurityService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 94–114
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 100
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 112
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 198
ConfusingTernary Avoid if (x != y) ..; else ..; 389
PositionLiteralsFirstInComparisons Position literals first in String comparisons 501
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isUsersListAvailable method if you want a default access modifier 568–571
DefaultPackage Use explicit scoping instead of the default package private level 568–571

fr/paris/lutece/portal/service/security/SecurityTokenService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 72–80

fr/paris/lutece/portal/service/security/impl/DefaultAccessLogger.java

Rule Violation Line
AvoidDuplicateLiterals The String literal "null" appears 4 times in this file; the first occurrence is on line 101 101
ConfusingTernary Avoid if (x != y) ..; else ..; 101
ConfusingTernary Avoid if (x != y) ..; else ..; 119
ConfusingTernary Avoid if (x != y) ..; else ..; 137
ConfusingTernary Avoid if (x != y) ..; else ..; 155
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 171
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 202–203
ShortVariable Avoid variables with short names like md 232
ShortVariable Avoid variables with short names like sb 236

fr/paris/lutece/portal/service/securityheader/SecurityHeaderService.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 59–343
ImmutableField Private field '_mapSecurityHeaders' could be made final; it is only initialized in the declaration or constructor. 64
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 64
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 64
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 66
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _mapActiveSecurityHeadersForFilters field if you want a default access modifier 66
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 66
DefaultPackage Use explicit scoping instead of the default package private level 66
RedundantFieldInitializer Avoid using redundant field initializer for '_bMapRefreshDone' 70
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 72
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 88
CollapsibleIfStatements These nested if statements could be combined 94–97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 327
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 328
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 335

fr/paris/lutece/portal/service/servlet/LuteceServlet.java

Rule Violation Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 47
ImmutableField Private field '_servlet' could be made final; it is only initialized in the declaration or constructor. 48
ImmutableField Private field '_strMapping' could be made final; it is only initialized in the declaration or constructor. 49
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 50
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 51

fr/paris/lutece/portal/service/servlet/LuteceServletConfig.java

Rule Violation Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 48
ImmutableField Private field '_context' could be made final; it is only initialized in the declaration or constructor. 49
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 50
MissingOverride The method 'getServletName()' is missing an @Override annotation. 72–75
MissingOverride The method 'getServletContext()' is missing an @Override annotation. 80–83
MissingOverride The method 'getInitParameter(String)' is missing an @Override annotation. 88–91
MissingOverride The method 'getInitParameterNames()' is missing an @Override annotation. 98–101

fr/paris/lutece/portal/service/servlet/MainServlet.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 87
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 111

fr/paris/lutece/portal/service/servlet/ServletEntry.java

Rule Violation Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 49
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 49

fr/paris/lutece/portal/service/servlet/ServletService.java

Rule Violation Line
ImmutableField Private field '_listServlets' could be made final; it is only initialized in the declaration or constructor. 53
ShortVariable Avoid variables with short names like s 85
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 137

fr/paris/lutece/portal/service/sessionlistener/MainHttpSessionListener.java

Rule Violation Line
MissingOverride The method 'sessionCreated(HttpSessionEvent)' is missing an @Override annotation. 49–55
ShortVariable Avoid variables with short names like se 49
ShortVariable Avoid variables with short names like se 60
MissingOverride The method 'sessionDestroyed(HttpSessionEvent)' is missing an @Override annotation. 60–66

fr/paris/lutece/portal/service/spring/SpringContextService.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 75
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 208
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 270
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the ContextFileFilter nested class if you want a default access modifier 392–408

fr/paris/lutece/portal/service/template/AbstractMessageFormatTemplateMethod.java

Rule Violation Line
CommentRequired Header comments are required 50–101
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 57
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 65
CommentRequired Protected method constructor comments are required 100

fr/paris/lutece/portal/service/template/AppTemplateService.java

Rule Violation Line
NonThreadSafeSingleton Singleton is not thread safe 322–326

fr/paris/lutece/portal/service/template/CommonsService.java

Rule Violation Line
GodClass Possible God Class (WMC=50, ATFD=33, TCC=3.297%) 50–377
UnusedLocalVariable Avoid unused local variables such as 'mapAutoImports'. 157
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 277
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 302
ShortVariable Avoid variables with short names like ci 321
ShortVariable Avoid variables with short names like ci 328
ShortVariable Avoid variables with short names like ci 349
ShortVariable Avoid variables with short names like ci 356

fr/paris/lutece/portal/service/template/FreeMarkerTemplateService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 64–74

fr/paris/lutece/portal/service/user/AdminUserResourceIdService.java

Rule Violation Line
MissingOverride The method 'register()' is missing an @Override annotation. 59–77
ShortVariable Avoid variables with short names like rt 61
ShortVariable Avoid variables with short names like p 66
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 86–89
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 100–103

fr/paris/lutece/portal/service/user/attribute/AdminUserFieldListenerService.java

Rule Violation Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 54

fr/paris/lutece/portal/service/user/attribute/AdminUserFieldService.java

Rule Violation Line
CyclomaticComplexity The method 'checkUserFields(HttpServletRequest, Locale)' has a cyclomatic complexity of 10. 91–121
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 174
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 282

fr/paris/lutece/portal/service/user/attribute/AttributeFieldService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 60–68

fr/paris/lutece/portal/service/user/attribute/AttributeService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 65–73

fr/paris/lutece/portal/service/user/attribute/AttributeTypeService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 78–93

fr/paris/lutece/portal/service/user/menu/AdminUserMenuService.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 73–95
ConfusingTernary Avoid if (x != y) ..; else ..; 78–95

fr/paris/lutece/portal/service/util/AppException.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 69
ShortVariable Avoid variables with short names like e 83
CallSuperInConstructor It is a good practice to call super() in a constructor 91–94
ShortVariable Avoid variables with short names like t 108
ShortVariable Avoid variables with short names like sb 123

fr/paris/lutece/portal/service/util/AppLogService.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 150

fr/paris/lutece/portal/service/util/AppPathService.java

Rule Violation Line
GodClass Possible God Class (WMC=68, ATFD=40, TCC=5.846%) 62–640
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 194
NPathComplexity The method 'getBaseUrl(HttpServletRequest)' has an NPath complexity of 240 218–273
CyclomaticComplexity The method 'getBaseUrl(HttpServletRequest)' has a cyclomatic complexity of 12. 218–273
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 239–242
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 261
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 269
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 303
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 328
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 352

fr/paris/lutece/portal/service/util/AppPropertiesService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 78
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 223
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 223

fr/paris/lutece/portal/service/util/CryptoService.java

Rule Violation Line
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PROPERTY_CRYPTO_KEY field if you want a default access modifier 59
DefaultPackage Use explicit scoping instead of the default package private level 59
DefaultPackage Use explicit scoping instead of the default package private level 60
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DSKEY_CRYPTO_KEY field if you want a default access modifier 60
ShortVariable Avoid variables with short names like md 81
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 224–234
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 226
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 229

fr/paris/lutece/portal/service/util/NoDatabaseException.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 41–53

fr/paris/lutece/portal/service/util/RemovalListener.java

Rule Violation Line
ShortVariable Avoid variables with short names like id 50
ShortVariable Avoid variables with short names like id 61

fr/paris/lutece/portal/service/util/RemovalListenerService.java

Rule Violation Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 45

fr/paris/lutece/portal/service/workflow/WorkflowService.java

Rule Violation Line
ExcessiveClassLength Avoid really long classes. 67–1069
GodClass Possible God Class (WMC=68, ATFD=37, TCC=24.878%) 67–1069
TooManyMethods This class has too many methods, consider refactoring it. 68–1069
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 72
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 98–105
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 294
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 535
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 564
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 836
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 894
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 1047

fr/paris/lutece/portal/service/xsl/XslExportResourceIdService.java

Rule Violation Line
MissingOverride The method 'register()' is missing an @Override annotation. 62–85
ShortVariable Avoid variables with short names like rt 64
ShortVariable Avoid variables with short names like p 69
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 94–97
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 108–124
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 116
ConfusingTernary Avoid if (x != y) ..; else ..; 123

fr/paris/lutece/portal/util/mvc/admin/MVCAdminJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–583
TooManyMethods This class has too many methods, consider refactoring it. 76–583
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_SITE_CODE'. 85
ImmutableField Private field '_listErrors' could be made final; it is only initialized in the declaration or constructor. 89
ImmutableField Private field '_listInfos' could be made final; it is only initialized in the declaration or constructor. 90
ImmutableField Private field '_listWarnings' could be made final; it is only initialized in the declaration or constructor. 91
ImmutableField Private field '_controller' could be made final; it is only initialized in the declaration or constructor. 92
ShortVariable Avoid variables with short names like m 116
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 260
ShortVariable Avoid variables with short names like os 569

fr/paris/lutece/portal/util/mvc/utils/MVCMessage.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 52–54

fr/paris/lutece/portal/util/mvc/utils/MVCMessageBox.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 274
ConfusingTernary Avoid if (x != y) ..; else ..; 275
ConfusingTernary Avoid if (x != y) ..; else ..; 276
ConfusingTernary Avoid if (x != y) ..; else ..; 277

fr/paris/lutece/portal/util/mvc/xpage/MVCApplication.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–931
GodClass Possible God Class (WMC=70, ATFD=70, TCC=3.949%) 86–931
TooManyMethods This class has too many methods, consider refactoring it. 87–931
ImmutableField Private field '_listErrors' could be made final; it is only initialized in the declaration or constructor. 105
ImmutableField Private field '_listInfos' could be made final; it is only initialized in the declaration or constructor. 106
ImmutableField Private field '_listWarnings' could be made final; it is only initialized in the declaration or constructor. 107
ImmutableField Private field '_controller' could be made final; it is only initialized in the declaration or constructor. 109
CyclomaticComplexity The method 'processController(HttpServletRequest)' has a cyclomatic complexity of 14. 146–209
ShortVariable Avoid variables with short names like m 160
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 200
ConfusingTernary Avoid if (x != y) ..; else ..; 230–238
ConfusingTernary Avoid if (x != y) ..; else ..; 252–260
ShortVariable Avoid variables with short names like t 294
ShortVariable Avoid variables with short names like t 330
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 345
ShortVariable Avoid variables with short names like os 781

fr/paris/lutece/portal/web/PortalJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–618
GodClass Possible God Class (WMC=48, ATFD=95, TCC=3.922%) 86–618
CyclomaticComplexity The method 'getContent(HttpServletRequest, int)' has a cyclomatic complexity of 10. 162–213
EmptyCatchBlock Avoid empty catch blocks 195–199
ShortVariable Avoid variables with short names like cs 203
ConfusingTernary Avoid if (x != y) ..; else ..; 205
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 240
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 373
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 409
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 556
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 563
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 594–595

fr/paris/lutece/portal/web/SiteDashboardComponent.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 85
ShortVariable Avoid variables with short names like t 100

fr/paris/lutece/portal/web/admin/AdminFeaturesPageJspBean.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 164
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 240
ConfusingTernary Avoid if (x != y) ..; else ..; 245

fr/paris/lutece/portal/web/admin/AdminMapJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 110
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 115
ConfusingTernary Avoid if (x != y) ..; else ..; 120
ShortVariable Avoid variables with short names like t 126
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 204

fr/paris/lutece/portal/web/admin/AdminMenuJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–632
GodClass Possible God Class (WMC=57, ATFD=117, TCC=7.500%) 88–632
ImmutableField Private field '_bAdminAvatar' could be made final; it is only initialized in the declaration or constructor. 144
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 156
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 197
ConfusingTernary Avoid if (x != y) ..; else ..; 201
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 224
ConfusingTernary Avoid if (x != y) ..; else ..; 401–414
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 430
CyclomaticComplexity The method 'doModifyDefaultAdminUserPassword(HttpServletRequest)' has a cyclomatic complexity of 10. 447–504
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 457
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 552–566
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 560
CommentRequired Public method and constructor comments are required 568–571
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 579–606
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 594
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 620
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 626

fr/paris/lutece/portal/web/admin/AdminMessageJspBean.java

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

fr/paris/lutece/portal/web/admin/AdminPageJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–907
GodClass Possible God Class (WMC=79, ATFD=183, TCC=10.526%) 90–907
ShortVariable Avoid variables with short names like cs 198
ConfusingTernary Avoid if (x != y) ..; else ..; 203–210
PositionLiteralsFirstInComparisons Position literals first in String comparisons 291
ConfusingTernary Avoid if (x != y) ..; else ..; 312–320
LinguisticNaming Linguistics Antipattern - The setter 'setParentPageId' should not return any type except void linguistically 336–350
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 372
ConfusingTernary Avoid if (x != y) ..; else ..; 459–467
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 518
ConfusingTernary Avoid if (x != y) ..; else ..; 529
CyclomaticComplexity The method 'getPageData(HttpServletRequest, Page)' has a cyclomatic complexity of 12. 666–769
ExcessiveMethodLength Avoid really long methods. 666–769
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 668
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 671
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 672
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 673
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 675
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 676
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 677
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 678
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 679
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 680
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 684
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 708
ConfusingTernary Avoid if (x != y) ..; else ..; 755
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 816
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 857
ConfusingTernary Avoid if (x != y) ..; else ..; 879–888
ConfusingTernary Avoid if (x != y) ..; else ..; 891–899

fr/paris/lutece/portal/web/admin/AdminPagePortletJspBean.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'JSP_DO_MODIFY_POSITION'. 79
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 161
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 161
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 178
CyclomaticComplexity The method 'doRemovePortlet(HttpServletRequest)' has a cyclomatic complexity of 10. 216–257
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 229
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 229
CyclomaticComplexity The method 'getModifyPortletStatus(HttpServletRequest)' has a cyclomatic complexity of 10. 268–313
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 282
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 282
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 307
NPathComplexity The method 'doModifyPortletStatus(HttpServletRequest)' has an NPath complexity of 216 324–368
CyclomaticComplexity The method 'doModifyPortletStatus(HttpServletRequest)' has a cyclomatic complexity of 12. 324–368
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 342
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 342
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 390
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 391
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 397
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 397

fr/paris/lutece/portal/web/dashboard/AdminDashboardJspBean.java

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

fr/paris/lutece/portal/web/dashboard/AdminHomePageManagementComponent.java

Rule Violation Line
ImmutableField Private field '_service' could be made final; it is only initialized in the declaration or constructor. 67
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 75

fr/paris/lutece/portal/web/dashboard/DashboardJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 57–190

fr/paris/lutece/portal/web/documentation/AdminDocumentationJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 156
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 167
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 201
CyclomaticComplexity The method 'getFeatureGroupsList(AdminUser)' has a cyclomatic complexity of 16. 218–307
ConfusingTernary Avoid if (x != y) ..; else ..; 261–304

fr/paris/lutece/portal/web/download/AbstractDownloadServlet.java

Rule Violation Line
CommentRequired Header comments are required 56–128
CyclomaticComplexity The method 'doGet(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 11. 63–125
ConfusingTernary Avoid if (x != y) ..; else ..; 99
CommentRequired Protected method constructor comments are required 127

fr/paris/lutece/portal/web/download/DownloadServletBo.java

Rule Violation Line
CommentRequired Header comments are required 36–47

fr/paris/lutece/portal/web/download/DownloadServletFo.java

Rule Violation Line
CommentRequired Header comments are required 36–47

fr/paris/lutece/portal/web/editor/EditorAdminDashboardComponent.java

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

fr/paris/lutece/portal/web/encoding/EncodingFilter.java

Rule Violation Line
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 60–65
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 81–94
MissingOverride The method 'destroy()' is missing an @Override annotation. 99–102

fr/paris/lutece/portal/web/encoding/EncodingServletResponse.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 78–94

fr/paris/lutece/portal/web/features/ExternalFeaturesJspBean.java

Rule Violation Line
CommentRequired Public method and constructor comments are required 97–124
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 101
CommentRequired Public method and constructor comments are required 126–140
CommentRequired Public method and constructor comments are required 142–160
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 154
CommentRequired Public method and constructor comments are required 162–171
CommentRequired Public method and constructor comments are required 173–204
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 177
CommentRequired Public method and constructor comments are required 206–234

fr/paris/lutece/portal/web/features/FeaturesAdminDashboardComponent.java

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

fr/paris/lutece/portal/web/features/FeaturesGroupJspBean.java

Rule Violation Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 111
PositionLiteralsFirstInComparisons Position literals first in String comparisons 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 193
ShortVariable Avoid variables with short names like t 198
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 221
ShortVariable Avoid variables with short names like t 226
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. 246
PositionLiteralsFirstInComparisons Position literals first in String comparisons 249
PositionLiteralsFirstInComparisons Position literals first in String comparisons 249
PositionLiteralsFirstInComparisons Position literals first in String comparisons 249
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
PositionLiteralsFirstInComparisons Position literals first in String comparisons 289
PositionLiteralsFirstInComparisons Position literals first in String comparisons 289
PositionLiteralsFirstInComparisons Position literals first in String comparisons 289
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 340

fr/paris/lutece/portal/web/features/LevelsJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 88
PositionLiteralsFirstInComparisons Position literals first in String comparisons 109
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 165
PositionLiteralsFirstInComparisons Position literals first in String comparisons 169

fr/paris/lutece/portal/web/features/RightJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–357
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 129
ExcessiveMethodLength Avoid really long methods. 144–244
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 146
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 146
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 150
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 355

fr/paris/lutece/portal/web/includes/LinksInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 101–139
ConfusingTernary Avoid if (x != y) ..; else ..; 108
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 235
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 286–289

fr/paris/lutece/portal/web/includes/LinksIncludeCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 50–54
CommentRequired Public method and constructor comments are required 50–54

fr/paris/lutece/portal/web/includes/MainMenuInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 64–83

fr/paris/lutece/portal/web/includes/MetasInclude.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 75
ConfusingTernary Avoid if (x != y) ..; else ..; 76–77

fr/paris/lutece/portal/web/includes/StatisticsInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 74–116
ConfusingTernary Avoid if (x != y) ..; else ..; 79–112
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 89
ShortVariable Avoid variables with short names like t 97

fr/paris/lutece/portal/web/includes/ThemesInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 64–71

fr/paris/lutece/portal/web/includes/TreeMenuInclude.java

Rule Violation Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 84–104
CyclomaticComplexity The method 'buildTreeMenuContent(int, int, HttpServletRequest)' has a cyclomatic complexity of 10. 117–208
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 127
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 202

fr/paris/lutece/portal/web/insert/InsertServiceJspBean.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 131

fr/paris/lutece/portal/web/insert/InsertServiceSelectorJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 106
ShortVariable Avoid variables with short names like t 111
ConfusingTernary Avoid if (x != y) ..; else ..; 135–144
ShortVariable Avoid variables with short names like is 137
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 167

fr/paris/lutece/portal/web/l10n/LocaleService.java

Rule Violation Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 110–140
ConfusingTernary Avoid if (x != y) ..; else ..; 112–139
CollapsibleIfStatements These nested if statements could be combined 161–164
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 161–164
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 210–223

fr/paris/lutece/portal/web/mailinglist/MailingListJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–541
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 138
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 260
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 281
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 344
ConfusingTernary Avoid if (x != y) ..; else ..; 389–399
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 432
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 525
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 528

fr/paris/lutece/portal/web/portlet/AliasPortletJspBean.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 85
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 144
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. 151
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 189
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 211

fr/paris/lutece/portal/web/portlet/PortletJspBean.java

Rule Violation Line
LinguisticNaming Linguistics Antipattern - The setter 'setPortletCommonData' should not return any type except void linguistically 191–284
CyclomaticComplexity The method 'setPortletCommonData(HttpServletRequest, Portlet)' has a cyclomatic complexity of 12. 191–284
NPathComplexity The method 'setPortletCommonData(HttpServletRequest, Portlet)' has an NPath complexity of 768 191–284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 193
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. 202
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 203
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 204
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

fr/paris/lutece/portal/web/progressmanager/ProgressManagerServlet.java

Rule Violation Line
MissingOverride The method 'init(ServletConfig)' is missing an @Override annotation. 81–84
UselessOverridingMethod Overriding method merely calls super 81–84
ConfusingTernary Avoid if (x != y) ..; else ..; 125–157
ConfusingTernary Avoid if (x != y) ..; else ..; 133–157
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 145

fr/paris/lutece/portal/web/rbac/RoleManagementJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–1106
ExcessiveClassLength Avoid really long classes. 89–1106
CyclomaticComplexity The class 'RoleManagementJspBean' has a total cyclomatic complexity of 98 (highest 16). 89–1106
TooManyMethods This class has too many methods, consider refactoring it. 90–1106
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 241
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 262
CyclomaticComplexity The method 'doCreateRole(HttpServletRequest)' has a cyclomatic complexity of 11. 280–320
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 284
CyclomaticComplexity The method 'doModifyRole(HttpServletRequest)' has a cyclomatic complexity of 16. 332–402
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 334
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 337
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 416
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 434
ConfusingTernary Avoid if (x != y) ..; else ..; 441–463
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 492
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 520
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 570
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 653
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 708
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 708
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 709
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 710
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 710
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 711
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 712
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 712
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 713
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 714
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 714
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 715
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 716
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 716
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 717
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 718
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 718
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 721–727
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 723
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 725
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 736
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 736
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 737
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 738
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 738
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 739
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 740
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 740
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 741
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 742
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 742
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 743
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 744
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 744
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 745
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 746
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 746
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 782
CyclomaticComplexity The method 'doSelectPermissions(HttpServletRequest)' has a cyclomatic complexity of 12. 822–890
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 824
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 825
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 876–887
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 878–886
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 901
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 1016–1025
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 1104

fr/paris/lutece/portal/web/resource/ExtendableResourcePluginActionManager.java

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

fr/paris/lutece/portal/web/role/RoleJspBean.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 117–120
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 117–120
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 133
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 157
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 225
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 225
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 256
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 304

fr/paris/lutece/portal/web/search/SearchApp.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–287
ExcessiveMethodLength Avoid really long methods. 131–242
CyclomaticComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 13. 131–242
NPathComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has an NPath complexity of 672 131–242
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 210
ConfusingTernary Avoid if (x != y) ..; else ..; 257

fr/paris/lutece/portal/web/search/SearchIndexationJspBean.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 104–111

fr/paris/lutece/portal/web/search/SearchJspBean.java

Rule Violation Line
CyclomaticComplexity The method 'doModifyAdvancedParameters(HttpServletRequest)' has a cyclomatic complexity of 11. 91–146
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 108

fr/paris/lutece/portal/web/style/PageTemplatesJspBean.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 167
NPathComplexity The method 'doModifyPageTemplate(HttpServletRequest)' has an NPath complexity of 480 250–332
CyclomaticComplexity The method 'doModifyPageTemplate(HttpServletRequest)' has a cyclomatic complexity of 14. 250–332
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. 256
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. 262
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 266
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 360

fr/paris/lutece/portal/web/style/StylesJspBean.java

Rule Violation Line
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 151
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 156
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 162
AddEmptyString Do not add empty strings 163
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 181
CyclomaticComplexity The method 'doCreateStyle(HttpServletRequest)' has a cyclomatic complexity of 10. 200–252
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 202
ConfusingTernary Avoid if (x != y) ..; else ..; 247
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 266
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 288
ConfusingTernary Avoid if (x != y) ..; else ..; 292
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 294
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 335
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 350
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 359

fr/paris/lutece/portal/web/stylesheet/StyleSheetFileServlet.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 86

fr/paris/lutece/portal/web/stylesheet/StyleSheetJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–527
ConfusingTernary Avoid if (x != y) ..; else ..; 143
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 173
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 178
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 184
AddEmptyString Do not add empty strings 186
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 207
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 263
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 265
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 266
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 269
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 320
ConfusingTernary Avoid if (x != y) ..; else ..; 349
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 413
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 462–481
ShortVariable Avoid variables with short names like is 472
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 475

fr/paris/lutece/portal/web/system/CacheJspBean.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 118–129
ShortVariable Avoid variables with short names like cs 121
ConfusingTernary Avoid if (x != y) ..; else ..; 165–175
ShortVariable Avoid variables with short names like cs 168
ShortVariable Avoid variables with short names like cs 198
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 205
ShortVariable Avoid variables with short names like cs 235

fr/paris/lutece/portal/web/system/DaemonsJspBean.java

Rule Violation Line
UseUnderscoresInNumericLiterals Number 30000 should separate every third digit with an underscore 87

fr/paris/lutece/portal/web/system/PluginJspBean.java

Rule Violation Line
GodClass Possible God Class (WMC=51, ATFD=81, TCC=16.667%) 66–514
ConfusingTernary Avoid if (x != y) ..; else ..; 119
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 160
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 193
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 214
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 257
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 311
CyclomaticComplexity The method 'verifyCoreCompatibility(Plugin)' has a cyclomatic complexity of 10. 413–459

fr/paris/lutece/portal/web/system/SecurityHeaderJspBean.java

Rule Violation Line
GodClass Possible God Class (WMC=57, ATFD=57, TCC=9.091%) 66–627
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 142
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 175
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 418
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 557
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 596
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 597
MissingBreakInSwitch A switch statement does not contain a break 603–613

fr/paris/lutece/portal/web/system/SystemDashboardComponent.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 69

fr/paris/lutece/portal/web/system/SystemJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–156
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 108

fr/paris/lutece/portal/web/template/AutoIncludeAdminDashboardComponent.java

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

fr/paris/lutece/portal/web/upload/DosGuardFilter.java

Rule Violation Line
UseUnderscoresInNumericLiterals Number 10240 should separate every third digit with an underscore 65
UnusedPrivateField Avoid unused private fields such as '_filterConfig'. 70
SingularField Perhaps '_filterConfig' could be replaced by a local variable. 70
LooseCoupling Avoid using implementation types like 'LinkedList'; use the interface instead 83
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 92
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 93
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 135–201
ImmutableField Private field '_strRemoteAddr' could be made final; it is only initialized in the declaration or constructor. 247
ImmutableField Private field '_lRequestTime' could be made final; it is only initialized in the declaration or constructor. 248

fr/paris/lutece/portal/web/upload/MultipartHttpServletRequest.java

Rule Violation Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 95

fr/paris/lutece/portal/web/upload/NormalizeFileItem.java

Rule Violation Line
ImmutableField Private field '_item' could be made final; it is only initialized in the declaration or constructor. 54

fr/paris/lutece/portal/web/upload/UploadFilter.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 144–172

fr/paris/lutece/portal/web/upload/UploadServlet.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 77
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 85
ConfusingTernary Avoid if (x != y) ..; else ..; 97–109

fr/paris/lutece/portal/web/user/AdminLoginJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–746
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 181
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 196–199
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 247
CommentRequired Public method and constructor comments are required 280–313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 290
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 324
CyclomaticComplexity The method 'doLogin(HttpServletRequest)' has a cyclomatic complexity of 11. 393–466
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 481
NPathComplexity The method 'doResetPassword(HttpServletRequest)' has an NPath complexity of 3456 527–607
CyclomaticComplexity The method 'doResetPassword(HttpServletRequest)' has a cyclomatic complexity of 15. 527–607
CommentRequired Public method and constructor comments are required 527–607
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 529
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 621
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 740
UnusedLocalVariable Avoid unused local variables such as 'strLoginUrl'. 740

fr/paris/lutece/portal/web/user/AdminUserJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–2781
ExcessiveClassLength Avoid really long classes. 121–2781
CyclomaticComplexity The class 'AdminUserJspBean' has a total cyclomatic complexity of 284 (highest 14). 121–2781
GodClass Possible God Class (WMC=284, ATFD=582, TCC=28.862%) 121–2781
TooManyMethods This class has too many methods, consider refactoring it. 122–2781
ImmutableField Private field '_bAdminAvatar' could be made final; it is only initialized in the declaration or constructor. 381
CyclomaticComplexity The method 'getManageAdminUsers(HttpServletRequest)' has a cyclomatic complexity of 10. 394–493
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 404
AddEmptyString Do not add empty strings 480
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 512
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 592
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 626
ExcessiveMethodLength Avoid really long methods. 660–776
CyclomaticComplexity The method 'doCreateAdminUser(HttpServletRequest)' has a cyclomatic complexity of 11. 660–776
NcssCount The method 'doCreateAdminUser(HttpServletRequest)' has a NCSS line count of 64. 660–776
NPathComplexity The method 'doCreateAdminUser(HttpServletRequest)' has an NPath complexity of 408 660–776
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 662
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 663
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 664
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 665
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 666
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 667
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 668
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 669
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 670
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 703
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 705
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 781
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 782
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 783
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 842
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 842
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 843
EmptyStatementNotInLoop An empty statement (semicolon) not part of a loop 882
CyclomaticComplexity The method 'doModifyAdminUser(HttpServletRequest)' has a cyclomatic complexity of 14. 918–1031
NPathComplexity The method 'doModifyAdminUser(HttpServletRequest)' has an NPath complexity of 432 918–1031
ExcessiveMethodLength Avoid really long methods. 918–1031
NcssCount The method 'doModifyAdminUser(HttpServletRequest)' has a NCSS line count of 63. 918–1031
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 921
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 922
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 923
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 924
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 925
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 926
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 927
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 928
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1050
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1050
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1051
CyclomaticComplexity The method 'doModifyAdminUserPassword(HttpServletRequest)' has a cyclomatic complexity of 11. 1102–1165
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1129
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1132
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1185
CyclomaticComplexity The method 'doImportUsersFromFile(HttpServletRequest)' has a cyclomatic complexity of 11. 1212–1280
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1228
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1299
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1338
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1339
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1340
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1341
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1439
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1579
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1610
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 1632
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1637
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1664
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1672
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1710
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1743
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1810
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1833
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 1840
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 1879
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2040
ExcessiveMethodLength Avoid really long methods. 2060–2164
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2073
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2293
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2361
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2458
ConfusingTernary Avoid if (x != y) ..; else ..; 2519–2534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 2550
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 2723

fr/paris/lutece/portal/web/user/AuthenticationFilter.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–446
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 90

fr/paris/lutece/portal/web/user/UserHeaderDashboardComponent.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 72

fr/paris/lutece/portal/web/user/UsersDashboardComponent.java

Rule Violation Line
ShortVariable Avoid variables with short names like t 76

fr/paris/lutece/portal/web/user/attribute/AttributeFieldJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 195
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 221
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 267
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 287
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 288
CyclomaticComplexity The method 'doMoveUpAttributeField(HttpServletRequest)' has a cyclomatic complexity of 10. 314–357
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 323
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 326
ShortVariable Avoid variables with short names like it 337
CyclomaticComplexity The method 'doMoveDownAttributeField(HttpServletRequest)' has a cyclomatic complexity of 10. 368–411
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 377
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 380
ShortVariable Avoid variables with short names like it 390

fr/paris/lutece/portal/web/user/attribute/AttributeJspBean.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 125
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 211
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 281
ShortVariable Avoid variables with short names like it 340
ShortVariable Avoid variables with short names like it 387

fr/paris/lutece/portal/web/util/LocalizedDelegatePaginator.java

Rule Violation Line
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 58

fr/paris/lutece/portal/web/workgroup/AdminWorkgroupJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–643
AddEmptyString Do not add empty strings 220
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 243
CyclomaticComplexity The method 'doCreateWorkgroup(HttpServletRequest)' has a cyclomatic complexity of 10. 260–303
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 263
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 316
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 335
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 400
ExcessiveMethodLength Avoid really long methods. 427–529
CyclomaticComplexity The method 'getAssignUsers(HttpServletRequest)' has a cyclomatic complexity of 10. 427–529
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 429
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 429
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 433
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 553–562
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 641

fr/paris/lutece/portal/web/xpages/SiteMapApp.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 87–90
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 222
ConfusingTernary Avoid if (x != y) ..; else ..; 224–232
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 276

fr/paris/lutece/portal/web/xpages/SiteMapCacheService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 52–56

fr/paris/lutece/portal/web/xpages/XPageApplicationEntry.java

Rule Violation Line
ImmutableField Private field '_listRoles' could be made final; it is only initialized in the declaration or constructor. 52

fr/paris/lutece/portal/web/xsl/XslExportJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–576
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 196
ConfusingTernary Avoid if (x != y) ..; else ..; 310–327
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 352
ConfusingTernary Avoid if (x != y) ..; else ..; 414
CyclomaticComplexity The method 'getXslExportData(HttpServletRequest, XslExport)' has a cyclomatic complexity of 12. 435–505
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 514–533
ShortVariable Avoid variables with short names like is 524
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 527

fr/paris/lutece/portal/web/xss/XSSRequestWrapper.java

Rule Violation Line
CommentRequired Header comments are required 43–95
CommentRequired Public method and constructor comments are required 46–49
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 90

fr/paris/lutece/util/AppInitPropertiesService.java

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

fr/paris/lutece/util/LuteceConfigSource.java

Rule Violation Line
CommentRequired Header comments are required 39–64

fr/paris/lutece/util/PropertiesService.java

Rule Violation Line
ImmutableField Private field '_strRootPath' could be made final; it is only initialized in the declaration or constructor. 56
ImmutableField Private field '_mapPropertiesFiles' could be made final; it is only initialized in the declaration or constructor. 58
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 58
FinalFieldCouldBeStatic This final field could be made static 60
FinalFieldCouldBeStatic This final field could be made static 61
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 107–112
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 293

fr/paris/lutece/util/ReferenceList.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 145
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 184
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 205–214

fr/paris/lutece/util/UniqueIDGenerator.java

Rule Violation Line
UselessStringValueOf No need to call String.valueOf to append to a string. 66

fr/paris/lutece/util/bean/BeanUtil.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 134
ConfusingTernary Avoid if (x != y) ..; else ..; 145–152
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 171
ShortVariable Avoid variables with short names like sb 190

fr/paris/lutece/util/beanvalidation/DefaultValidationErrorConfig.java

Rule Violation Line
MethodReturnsInternalArray Returning 'VARIABLES_PREFIX' may expose an internal array. 74

fr/paris/lutece/util/beanvalidation/LuteceMessageInterpolator.java

Rule Violation Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 52
ImmutableField Private field '_interpolator' could be made final; it is only initialized in the declaration or constructor. 53
ShortVariable Avoid variables with short names like sb 111

fr/paris/lutece/util/beanvalidation/ValidationError.java

Rule Violation Line
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 49
ImmutableField Private field '_constraintViolation' could be made final; it is only initialized in the declaration or constructor. 50
ImmutableField Private field '_config' could be made final; it is only initialized in the declaration or constructor. 51
ShortVariable Avoid variables with short names like cv 63

fr/paris/lutece/util/beanvalidation/ValidationErrorUtil.java

Rule Violation Line
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 103–106
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 109
PositionLiteralsFirstInComparisons Position literals first in String comparisons 116
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 122
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 214–217
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 220

fr/paris/lutece/util/datatable/DataTableManager.java

Rule Violation Line
GodClass Possible God Class (WMC=71, ATFD=71, TCC=15.402%) 70–738
TooManyMethods This class has too many methods, consider refactoring it. 71–738
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 181
NPathComplexity The method 'filterSortAndPaginate(HttpServletRequest, List)' has an NPath complexity of 14832 259–393
CyclomaticComplexity The method 'filterSortAndPaginate(HttpServletRequest, List)' has a cyclomatic complexity of 24. 259–393
ExcessiveMethodLength Avoid really long methods. 259–393
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 329
ConfusingTernary Avoid if (x != y) ..; else ..; 371–378
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 498
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 499
ConfusingTernary Avoid if (x != y) ..; else ..; 589
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 637
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 703
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 711

fr/paris/lutece/util/datatable/DataTableSort.java

Rule Violation Line
UncommentedEmptyConstructor Document empty constructor 47–49

fr/paris/lutece/util/datatable/FilterPanel.java

Rule Violation Line
ImmutableField Private field '_listFilter' could be made final; it is only initialized in the declaration or constructor. 53
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 53
UncommentedEmptyConstructor Document empty constructor 58–60

fr/paris/lutece/util/date/DateUtil.java

Rule Violation Line
UseUnderscoresInNumericLiterals Number 86400000 should separate every third digit with an underscore 55
ConfusingTernary Avoid if (x != y) ..; else ..; 169–185
ConfusingTernary Avoid if (x != y) ..; else ..; 173–180
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 175
ShortVariable Avoid variables with short names like df 253
ShortVariable Avoid variables with short names like df 263
ConfusingTernary Avoid if (x != y) ..; else ..; 297–313
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 303
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 332
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 357

fr/paris/lutece/util/env/EnvUtil.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 85
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the setMockMapEnv method if you want a default access modifier 111–114
DefaultPackage Use explicit scoping instead of the default package private level 111–114

fr/paris/lutece/util/file/FileUtil.java

Rule Violation Line
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 135–138
AssignmentInOperand Avoid assignments in operands 180
UnnecessaryModifier Unnecessary modifier 'final' on method 'normalizeFileName': the method is already in a final class 197–200
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 199

fr/paris/lutece/util/filesystem/FileListFilter.java

Rule Violation Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 44
ImmutableField Private field '_strExtension' could be made final; it is only initialized in the declaration or constructor. 45
MissingOverride The method 'accept(File, String)' is missing an @Override annotation. 69–84

fr/paris/lutece/util/filesystem/FileSystemUtil.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 82
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 101–109
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 128
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 147–155
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 174

fr/paris/lutece/util/html/AbstractPaginator.java

Rule Violation Line
AddEmptyString Do not add empty strings 102
AddEmptyString Do not add empty strings 115
AddEmptyString Do not add empty strings 127
AddEmptyString Do not add empty strings 150
AddEmptyString Do not add empty strings 212
ConfusingTernary Avoid if (x != y) ..; else ..; 311
ConfusingTernary Avoid if (x != y) ..; else ..; 350–364
ConfusingTernary Avoid if (x != y) ..; else ..; 356–363
ConfusingTernary Avoid if (x != y) ..; else ..; 383

fr/paris/lutece/util/html/DelegatePaginator.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 64–87

fr/paris/lutece/util/html/ItemNavigator.java

Rule Violation Line
ImmutableField Private field '_listItems' could be made final; it is only initialized in the declaration or constructor. 52
ImmutableField Private field '_strParameterName' could be made final; it is only initialized in the declaration or constructor. 55
CyclomaticComplexity The method 'setCurrentItemId(String)' has a cyclomatic complexity of 11. 83–119

fr/paris/lutece/util/html/Paginator.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 63–86

fr/paris/lutece/util/http/MultipartUtil.java

Rule Violation Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 126
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 128
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 128
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 129
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 129
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 168
ConfusingTernary Avoid if (x != y) ..; else ..; 234–243

fr/paris/lutece/util/http/SecurityUtil.java

Rule Violation Line
GodClass Possible God Class (WMC=50, ATFD=40, TCC=9.167%) 56–489
TooManyMethods This class has too many methods, consider refactoring it. 57–489
ShortVariable Avoid variables with short names like e 108
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 40, but has at least 44 characters appended. 220
ConfusingTernary Avoid if (x != y) ..; else ..; 221–233
ConfusingTernary Avoid if (x != y) ..; else ..; 249–270
NPathComplexity The method 'isInternalRedirectUrlSafe(String, HttpServletRequest, String)' has an NPath complexity of 300 310–359
CyclomaticComplexity The method 'isInternalRedirectUrlSafe(String, HttpServletRequest, String)' has a cyclomatic complexity of 13. 310–359
NonThreadSafeSingleton Singleton is not thread safe 320–323
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 386
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 387
ShortVariable Avoid variables with short names like sb 399
ShortVariable Avoid variables with short names like sb 425
ShortVariable Avoid variables with short names like sb 451
ShortVariable Avoid variables with short names like e 456
ShortVariable Avoid variables with short names like sb 482
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 484
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 485
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 486

fr/paris/lutece/util/jpa/JPAGenericDAO.java

Rule Violation Line
ImmutableField Private field '_entityClass' could be made final; it is only initialized in the declaration or constructor. 63
ShortVariable Avoid variables with short names like em 115
ShortVariable Avoid variables with short names like em 151
CompareObjectsWithEquals Use equals() to compare object references. 153
CompareObjectsWithEquals Use equals() to compare object references. 158
ShortVariable Avoid variables with short names like em 172
CompareObjectsWithEquals Use equals() to compare object references. 180
CompareObjectsWithEquals Use equals() to compare object references. 185
ShortVariable Avoid variables with short names like em 200
CompareObjectsWithEquals Use equals() to compare object references. 201
CompareObjectsWithEquals Use equals() to compare object references. 206

fr/paris/lutece/util/jpa/transaction/ChainedTransactionManager.java

Rule Violation Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 63–66
MissingOverride The method 'getTransaction(TransactionDefinition)' is missing an @Override annotation. 71–97
MissingOverride The method 'commit(TransactionStatus)' is missing an @Override annotation. 103–129
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 114
MissingOverride The method 'rollback(TransactionStatus)' is missing an @Override annotation. 135–153
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 143

fr/paris/lutece/util/jpa/transaction/MultiTransactionStatus.java

Rule Violation Line
ImmutableField Private field '_mainPTM' could be made final; it is only initialized in the declaration or constructor. 48
MissingOverride The method 'flush()' is missing an @Override annotation. 97–103
MissingOverride The method 'hasSavepoint()' is missing an @Override annotation. 119–122
MissingOverride The method 'isCompleted()' is missing an @Override annotation. 128–131
MissingOverride The method 'isNewTransaction()' is missing an @Override annotation. 137–140
MissingOverride The method 'isRollbackOnly()' is missing an @Override annotation. 146–149
MissingOverride The method 'setRollbackOnly()' is missing an @Override annotation. 155–161
MissingOverride The method 'createSavepoint()' is missing an @Override annotation. 167–170
MissingOverride The method 'releaseSavepoint(Object)' is missing an @Override annotation. 176–182
MissingOverride The method 'rollbackToSavepoint(Object)' is missing an @Override annotation. 188–194

fr/paris/lutece/util/json/AbstractJsonResponse.java

Rule Violation Line
ImmutableField Private field '_strStatus' could be made final; it is only initialized in the declaration or constructor. 48

fr/paris/lutece/util/json/ErrorJsonResponse.java

Rule Violation Line
ImmutableField Private field '_strErrorCode' could be made final; it is only initialized in the declaration or constructor. 44

fr/paris/lutece/util/json/JsonResponse.java

Rule Violation Line
ImmutableField Private field '_result' could be made final; it is only initialized in the declaration or constructor. 44

fr/paris/lutece/util/ldap/LdapUtil.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 74
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 76
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 116
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 120
ShortVariable Avoid variables with short names like sc 148

fr/paris/lutece/util/mail/ByteArrayDataSource.java

Rule Violation Line
ImmutableField Private field '_type' could be made final; it is only initialized in the declaration or constructor. 59
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 80
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 94
MissingOverride The method 'getInputStream()' is missing an @Override annotation. 109–117
MissingOverride The method 'getOutputStream()' is missing an @Override annotation. 125–128
MissingOverride The method 'getContentType()' is missing an @Override annotation. 134–137
MissingOverride The method 'getName()' is missing an @Override annotation. 143–146

fr/paris/lutece/util/mail/FileAttachment.java

Rule Violation Line
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 60
MethodReturnsInternalArray Returning '_data' may expose an internal array. 73
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 82

fr/paris/lutece/util/mail/HtmlDocument.java

Rule Violation Line
ImmutableField Private field '_content' could be made final; it is only initialized in the declaration or constructor. 99
ImmutableField Private field '_strBaseUrl' could be made final; it is only initialized in the declaration or constructor. 100
ImmutableField Private field '_useAbsoluteUrl' could be made final; it is only initialized in the declaration or constructor. 101
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 134
ImmutableField Private field '_strTagName' could be made final; it is only initialized in the declaration or constructor. 268
ImmutableField Private field '_strAttributeName' could be made final; it is only initialized in the declaration or constructor. 269
ImmutableField Private field '_strTestedAttributeName' could be made final; it is only initialized in the declaration or constructor. 270
ImmutableField Private field '_strTestedAttributeValue' could be made final; it is only initialized in the declaration or constructor. 271

fr/paris/lutece/util/method/MethodUtil.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 94–101
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 130
CyclomaticComplexity The method 'getPrimitiveMethod(String, A, Class)' has a cyclomatic complexity of 10. 161–204

fr/paris/lutece/util/parser/BbcodeUtil.java

Rule Violation Line
ExcessiveMethodLength Avoid really long methods. 130–274
CyclomaticComplexity The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has a cyclomatic complexity of 21. 130–274
ExcessiveParameterList Avoid long parameter lists. 130–132
NPathComplexity The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has an NPath complexity of 396 130–274
NcssCount The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has a NCSS line count of 73. 130–274
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 130–132
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 149
ConfusingTernary Avoid if (x != y) ..; else ..; 181–211
ConfusingTernary Avoid if (x != y) ..; else ..; 193–211
ShortVariable Avoid variables with short names like s1 220
ShortVariable Avoid variables with short names like s2 221
ConfusingTernary Avoid if (x != y) ..; else ..; 237–244
ShortVariable Avoid variables with short names like m 254
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the MutableCharSequence nested class if you want a default access modifier 281–384
UncommentedEmptyConstructor Document empty constructor 298–300
ShortVariable Avoid variables with short names like sb 375

fr/paris/lutece/util/password/IPasswordFactory.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'BEAN_NAME': the field is declared in an interface type 41

fr/paris/lutece/util/password/PasswordUtil.java

Rule Violation Line
NPathComplexity The method 'makePassword(int, boolean, boolean, boolean)' has an NPath complexity of 256 107–163
ShortVariable Avoid variables with short names like r 110
ShortVariable Avoid variables with short names like c1 131
ShortVariable Avoid variables with short names like c1 137
ShortVariable Avoid variables with short names like c1 143
ShortVariable Avoid variables with short names like c1 149

fr/paris/lutece/util/pool/PoolManager.java

Rule Violation Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 66
ImmutableField Private field '_pools' could be made final; it is only initialized in the declaration or constructor. 66
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 91–99
ShortVariable Avoid variables with short names like is 109
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 156
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 167
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 174
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 185
ShortVariable Avoid variables with short names like cs 186
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 196
ShortVariable Avoid variables with short names like cs 205
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 217
ShortVariable Avoid variables with short names like cs 254
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 265–271
AddEmptyString Do not add empty strings 295
AddEmptyString Do not add empty strings 296

fr/paris/lutece/util/pool/service/C3p0ConnectionService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 104
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 129–133
CollapsibleIfStatements These nested if statements could be combined 129–133
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 137
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 166

fr/paris/lutece/util/pool/service/ConnectionPool.java

Rule Violation Line
ImmutableField Private field '_strUrl' could be made final; it is only initialized in the declaration or constructor. 63
ImmutableField Private field '_strUser' could be made final; it is only initialized in the declaration or constructor. 64
ImmutableField Private field '_strPassword' could be made final; it is only initialized in the declaration or constructor. 65
ImmutableField Private field '_nMaxConns' could be made final; it is only initialized in the declaration or constructor. 66
ImmutableField Private field '_nTimeOut' could be made final; it is only initialized in the declaration or constructor. 67
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 68
ImmutableField Private field '_freeConnections' could be made final; it is only initialized in the declaration or constructor. 70
ImmutableField Private field '_strCheckValidConnectionSql' could be made final; it is only initialized in the declaration or constructor. 71
ConfusingTernary Avoid if (x != y) ..; else ..; 108–109
ShortVariable Avoid variables with short names like lf 111
CloseResource Ensure that resources like this Connection object are closed after use 129
ShortVariable Avoid variables with short names like pc 129
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 171–217
AssignmentInOperand Avoid assignments in operands 180
CloseResource Ensure that resources like this Statement object are closed after use 228
ConfusingTernary Avoid if (x != y) ..; else ..; 232–242
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 254
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 254
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 326–334
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 339–363
CloseResource Ensure that resources like this Connection object are closed after use 341
MissingOverride The method 'getParentLogger()' is missing an @Override annotation. 526–529

fr/paris/lutece/util/pool/service/LuteceConnectionFactory.java

Rule Violation Line
UseProperClassLoader In J2EE, getClassLoader() might not work as expected. Use Thread.currentThread().getContextClassLoader() instead. 72

fr/paris/lutece/util/pool/service/LuteceConnectionProxy.java

Rule Violation Line
ImmutableField Private field '_pool' could be made final; it is only initialized in the declaration or constructor. 58
ImmutableField Private field '_connection' could be made final; it is only initialized in the declaration or constructor. 59
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LuteceConnectionProxy constructor if you want a default access modifier 69–73
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 96
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 102

fr/paris/lutece/util/pool/service/LuteceConnectionService.java

Rule Violation Line
CyclomaticComplexity The method 'init(Map)' has a cyclomatic complexity of 10. 111–177
NPathComplexity The method 'init(Map)' has an NPath complexity of 384 111–177
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 155
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 155
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 159

fr/paris/lutece/util/pool/service/TomcatConnectionService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 74
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 96
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 115

fr/paris/lutece/util/rsa/IRSAKeyProvider.java

Rule Violation Line
CommentRequired Header comments are required 40–55

fr/paris/lutece/util/rsa/RSAKeyDatastoreProvider.java

Rule Violation Line
CommentRequired Header comments are required 49–106

fr/paris/lutece/util/rsa/RSAKeyEnvironmentProvider.java

Rule Violation Line
CommentRequired Header comments are required 48–91
ConfusingTernary Avoid if (x != y) ..; else ..; 58–70
ConfusingTernary Avoid if (x != y) ..; else ..; 76–88

fr/paris/lutece/util/rsa/RSAKeyPairUtil.java

Rule Violation Line
CommentRequired Header comments are required 43–99
CommentRequired Public method and constructor comments are required 55–62
NonThreadSafeSingleton Singleton is not thread safe 57–60

fr/paris/lutece/util/sort/AttributeComparator.java

Rule Violation Line
ImmutableField Private field '_strSortedAttribute' could be made final; it is only initialized in the declaration or constructor. 52
ImmutableField Private field '_bIsASC' could be made final; it is only initialized in the declaration or constructor. 53
ShortVariable Avoid variables with short names like o2 91
ShortVariable Avoid variables with short names like o1 91
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 93
ShortVariable Avoid variables with short names like o2 120
ShortVariable Avoid variables with short names like o1 120
PositionLiteralsFirstInComparisons Position literals first in String comparisons 148
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 178
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 186

fr/paris/lutece/util/sql/DAOUtil.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–3355
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–3355
CyclomaticComplexity The class 'DAOUtil' has a total cyclomatic complexity of 429 (highest 9). 82–3355
ExcessiveClassLength Avoid really long classes. 82–3355
TooManyMethods This class has too many methods, consider refactoring it. 83–3355
ImmutableField Private field '_sbLogs' could be made final; it is only initialized in the declaration or constructor. 118
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 118
ConfusingTernary Avoid if (x != y) ..; else ..; 235–260
ShortVariable Avoid variables with short names like ds 247
ConfusingTernary Avoid if (x != y) ..; else ..; 273–299
ConfusingTernary Avoid if (x != y) ..; else ..; 275–282
ConfusingTernary Avoid if (x != y) ..; else ..; 285–299
ConfusingTernary Avoid if (x != y) ..; else ..; 287–294
ConfusingTernary Avoid if (x != y) ..; else ..; 304–313
ShortVariable Avoid variables with short names like e 328
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 32, but has at least 47 characters appended. 330
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 331
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 332
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 332
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 333
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 444
ShortVariable Avoid variables with short names like ts 973
ShortVariable Avoid variables with short names like ts 999
AvoidDuplicateLiterals The String literal "null" appears 5 times in this file; the first occurrence is on line 1,046 1046
ShortVariable Avoid variables with short names like x 1922
DefaultPackage Use explicit scoping instead of the default package private level 3274–3286
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the clearBatch method if you want a default access modifier 3274–3286

fr/paris/lutece/util/sql/MultiPluginTransaction.java

Rule Violation Line
CloseResource Ensure that resources like this Connection object are closed after use 140
ConfusingTernary Avoid if (x != y) ..; else ..; 141–148
ShortVariable Avoid variables with short names like e 175

fr/paris/lutece/util/sql/Transaction.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 53–392
ConfusingTernary Avoid if (x != y) ..; else ..; 183–190
ShortVariable Avoid variables with short names like e 253
ConfusingTernary Avoid if (x != y) ..; else ..; 262–270
ConfusingTernary Avoid if (x != y) ..; else ..; 310–319
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 373

fr/paris/lutece/util/sql/TransactionManager.java

Rule Violation Line
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 157
ShortVariable Avoid variables with short names like e 190
ShortVariable Avoid variables with short names like e 222
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 226
ConfusingTernary Avoid if (x != y) ..; else ..; 246

fr/paris/lutece/util/string/StringUtil.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 54–416
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 137–146
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 157–171
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 182–191
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 198–224
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 233–236
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 247–252
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 263–295
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 310–313
MethodReturnsInternalArray Returning 'CONSTANT_UTF8' may expose an internal array. 367
ShortVariable Avoid variables with short names like b 407
AssignmentInOperand Avoid assignments in operands 409

fr/paris/lutece/util/url/UrlItem.java

Rule Violation Line
ImmutableField Private field '_strRoot' could be made final; it is only initialized in the declaration or constructor. 52
ImmutableField Private field '_listParameters' could be made final; it is only initialized in the declaration or constructor. 55

fr/paris/lutece/util/url/UrlParameterItem.java

Rule Violation Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 45
ImmutableField Private field '_strValue' could be made final; it is only initialized in the declaration or constructor. 48

fr/paris/lutece/util/xml/XmlTransformer.java

Rule Violation Line
CyclomaticComplexity The method 'getTemplates(Source, String)' has a cyclomatic complexity of 10. 90–132
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 120
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 123
ShortVariable Avoid variables with short names like sw 238
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 251
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 254

fr/paris/lutece/util/xml/XmlUtil.java

Rule Violation Line
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 90
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 91
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 92
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 92
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 93
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 94
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 95
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 111
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 145
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 157
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 157
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 158
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 159
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 160
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 196
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 198
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 199
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 200
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 201
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 224
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 236
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 237
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 238
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 239
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 269
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 294
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 295

Priority 4

fr/paris/lutece/portal/business/editor/RichTextEditor.java

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

fr/paris/lutece/portal/business/file/File.java

Rule Violation Line
ShortClassName Avoid short class names like File 48–262

fr/paris/lutece/portal/business/page/Page.java

Rule Violation Line
ShortClassName Avoid short class names like Page 52–636
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 602–605
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 622–625

fr/paris/lutece/portal/business/rbac/RBAC.java

Rule Violation Line
ShortClassName Avoid short class names like RBAC 50–258

fr/paris/lutece/portal/business/role/Role.java

Rule Violation Line
ShortClassName Avoid short class names like Role 42–131

fr/paris/lutece/portal/business/style/Mode.java

Rule Violation Line
ShortClassName Avoid short class names like Mode 39–234

fr/paris/lutece/portal/business/user/AdminUser.java

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

fr/paris/lutece/portal/business/user/attribute/IAttribute.java

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

fr/paris/lutece/portal/service/admin/AdminUserService.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 1011
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 1276

fr/paris/lutece/portal/service/admin/ImportAdminUserService.java

Rule Violation Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 157–160
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 194
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 203

fr/paris/lutece/portal/service/cache/HeadersPageCachingFilter.java

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

fr/paris/lutece/portal/service/content/PageData.java

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

fr/paris/lutece/portal/service/daemon/AccountLifeTimeDaemon.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 100

fr/paris/lutece/portal/service/file/implementation/DefaultFileDownloadService.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'FileService.PARAMETER_VALIDITY_TIME' due to existing static import 'fr.paris.lutece.portal.service.file.FileService.PARAMETER_VALIDITY_TIME' 300

fr/paris/lutece/portal/service/mail/MailItem.java

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

fr/paris/lutece/portal/service/message/SiteMessageService.java

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

fr/paris/lutece/portal/service/page/PageService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'org.apache.commons.fileupload.FileItem' 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppException' 82

fr/paris/lutece/portal/service/progressmanager/ProgressManagerService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.Arrays' 43

fr/paris/lutece/portal/service/search/LuceneSearchEngine.java

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

fr/paris/lutece/portal/service/util/AppPropertiesService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.ArrayList' 36

fr/paris/lutece/portal/service/util/LoggerInfo.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'org.apache.logging.log4j.Level' 36

fr/paris/lutece/portal/util/mvc/utils/MVCUtils.java

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

fr/paris/lutece/portal/web/features/LevelsJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.dashboard.AdminDashboardJspBean' 51

fr/paris/lutece/portal/web/role/RoleJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.rbac.RBACRole' 36
UnusedImports Avoid unused imports such as 'org.apache.james.mime4j.io.LineReaderInputStreamAdaptor' 61

fr/paris/lutece/portal/web/search/SearchIndexationJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.dashboard.AdminDashboardJspBean' 42

fr/paris/lutece/portal/web/system/PluginJspBean.java

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

fr/paris/lutece/portal/web/system/SystemJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.io.FileInputStream' 36
UnusedImports Avoid unused imports such as 'java.io.FileNotFoundException' 37
UnusedImports Avoid unused imports such as 'java.io.IOException' 38
UnusedImports Avoid unused imports such as 'java.io.Serializable' 39
UnusedImports Avoid unused imports such as 'java.sql.Timestamp' 40
UnusedImports Avoid unused imports such as 'java.util.ArrayList' 41
UnusedImports Avoid unused imports such as 'java.util.Collection' 42
UnusedImports Avoid unused imports such as 'java.util.Collections' 43
UnusedImports Avoid unused imports such as 'java.util.Date' 44
UnusedImports Avoid unused imports such as 'org.apache.logging.log4j.core.LoggerContext' 52
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.file.File' 54
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.file.FileService' 60
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.file.IFileStoreServiceProvider' 61
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 62
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppLogService' 66
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppPropertiesService' 68
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.LoggerInfo' 69
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.http.SecurityUtil' 72

fr/paris/lutece/portal/web/template/AutoIncludeAdminDashboardComponent.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.template.AutoInclude' 36
UnusedImports Avoid unused imports such as 'java.util.List' 44

fr/paris/lutece/portal/web/user/AdminLoginJspBean.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 428

fr/paris/lutece/portal/web/user/AdminUserJspBean.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 870
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1435
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1476
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1530
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1571
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1619
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1681
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1802
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1849
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1914
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 1958

fr/paris/lutece/portal/web/user/AuthenticationFilter.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.Enumeration' 38
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.security.SecurityTokenService' 63
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.constants.Parameters' 71

fr/paris/lutece/util/ReferenceList.java

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

fr/paris/lutece/util/datatable/DataTableColumn.java

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

fr/paris/lutece/util/datatable/DataTableManager.java

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

fr/paris/lutece/util/datatable/DataTableSort.java

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

fr/paris/lutece/util/date/DateUtil.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.sql.Timestamp' due to existing import 'java.sql.Timestamp' 213

fr/paris/lutece/util/rsa/RSAKeyDatastoreProvider.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.security.NoSuchAlgorithmException' 40

fr/paris/lutece/util/rsa/RSAKeyEnvironmentProvider.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.security.KeyPair' 38
UnusedImports Avoid unused imports such as 'java.security.KeyPairGenerator' 39
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.datastore.DatastoreService' 46

fr/paris/lutece/util/rsa/RSAKeyPairUtil.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.List' 39

fr/paris/lutece/util/sql/DAOUtil.java

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

fr/paris/lutece/util/string/StringUtil.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.io.BufferedReader' 39
UnusedImports Avoid unused imports such as 'java.io.InputStreamReader' 43
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 157
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 247
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 263

Files

fr/paris/lutece/portal/business/accesscontrol/AccessControlSessionData.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–152
FieldNamingConventions The final field name '_nIdResource' doesn't match '[a-z][a-zA-Z0-9]*' 1 46
FieldNamingConventions The final field name '_strTypeResource' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 50
ImmutableField Private field '_persistentData' could be made final; it is only initialized in the declaration or constructor. 3 50

fr/paris/lutece/portal/business/dashboard/AdminDashboardDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 50–436
ConfusingTernary Avoid if (x != y) ..; else ..; 3 150–157
ConfusingTernary Avoid if (x != y) ..; else ..; 3 185–193
ConfusingTernary Avoid if (x != y) ..; else ..; 3 273–281
LinguisticNaming Linguistics Antipattern - The setter 'setInsertOrUpdateValues' should not return any type except void linguistically 3 356–363
ConfusingTernary Avoid if (x != y) ..; else ..; 3 397–404

fr/paris/lutece/portal/business/dashboard/AdminDashboardFactory.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'AdminDashboardFactory' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 48–105
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 50

fr/paris/lutece/portal/business/dashboard/DashboardDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 49–434
ConfusingTernary Avoid if (x != y) ..; else ..; 3 149–156
ConfusingTernary Avoid if (x != y) ..; else ..; 3 185–193
ConfusingTernary Avoid if (x != y) ..; else ..; 3 271–279
LinguisticNaming Linguistics Antipattern - The setter 'setInsertOrUpdateValues' should not return any type except void linguistically 3 354–361
ConfusingTernary Avoid if (x != y) ..; else ..; 3 395–402

fr/paris/lutece/portal/business/dashboard/DashboardFactory.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'DashboardFactory' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 48–105
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 50

fr/paris/lutece/portal/business/datastore/DataEntity.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 52–54

fr/paris/lutece/portal/business/editor/RichTextEditor.java

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

fr/paris/lutece/portal/business/event/AbstractLuteceEvent.java

Rule Violation Priority Line
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 3 36–69
CommentRequired Header comments are required 3 36–69

fr/paris/lutece/portal/business/event/LuteceUserEvent.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–75
ImmutableField Private field '_type' could be made final; it is only initialized in the declaration or constructor. 3 53

fr/paris/lutece/portal/business/event/ResourceEvent.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 53–55

fr/paris/lutece/portal/business/file/File.java

Rule Violation Priority Line
ShortClassName Avoid short class names like File 4 48–262

fr/paris/lutece/portal/business/file/FileDAO.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 71–78
ConfusingTernary Avoid if (x != y) ..; else ..; 3 168–175

fr/paris/lutece/portal/business/indexeraction/IndexerActionDAO.java

Rule Violation Priority Line
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 255
AssignmentInOperand Avoid assignments in operands 3 255

fr/paris/lutece/portal/business/mail/MailItemQueueDAO.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 115–132
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 128
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 149
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 231

fr/paris/lutece/portal/business/mailinglist/MailingList.java

Rule Violation Priority Line
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 3 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 59–67

fr/paris/lutece/portal/business/mailinglist/MailingListDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 47–366

fr/paris/lutece/portal/business/mailinglist/MailingListFilter.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 65–67
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 285

fr/paris/lutece/portal/business/mailinglist/MailingListWorkgroupRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 79–83

fr/paris/lutece/portal/business/page/IPageDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–203

fr/paris/lutece/portal/business/page/Page.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–636
TooManyFields Too many fields 3 52–636
ShortClassName Avoid short class names like Page 4 52–636
DefaultPackage Use explicit scoping instead of the default package private level 3 139–142
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the setOrigParentPageId method if you want a default access modifier 3 139–142
MethodReturnsInternalArray Returning '_strImageContent' may expose an internal array. 3 162
ArrayIsStoredDirectly The user-supplied array 'strImageContent' is stored directly. 3 171
AddEmptyString Do not add empty strings 3 470
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 579
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 580
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 581
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 582
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 583
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 584
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 585
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 602–605
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 622–625

fr/paris/lutece/portal/business/page/PageDAO.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=58, ATFD=218, TCC=0.000%) 3 52–812
TooManyMethods This class has too many methods, consider refactoring it. 3 53–812
MissingOverride The method 'insert(Page)' is missing an @Override annotation. 3 106–164
ConfusingTernary Avoid if (x != y) ..; else ..; 3 146–153
MissingOverride The method 'load(int, boolean)' is missing an @Override annotation. 3 169–219
MissingOverride The method 'loadWithoutImageContent(int, boolean)' is missing an @Override annotation. 3 224–269
MissingOverride The method 'loadPageByIdPortlet(int)' is missing an @Override annotation. 3 274–306
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 311–319
MissingOverride The method 'store(Page)' is missing an @Override annotation. 3 324–376
ConfusingTernary Avoid if (x != y) ..; else ..; 3 360–367
DefaultPackage Use explicit scoping instead of the default package private level 3 385–400
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the checkPrimaryKey method if you want a default access modifier 3 385–400
DefaultPackage Use explicit scoping instead of the default package private level 3 408–435
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the loadPortlets method if you want a default access modifier 3 408–435
MissingOverride The method 'selectChildPages(int)' is missing an @Override annotation. 3 440–481
MissingOverride The method 'selectChildPagesMinimalData(int)' is missing an @Override annotation. 3 486–510
MissingOverride The method 'selectAllPages()' is missing an @Override annotation. 3 515–554
MissingOverride The method 'invalidatePage(int)' is missing an @Override annotation. 3 559–569
MissingOverride The method 'getPagesList()' is missing an @Override annotation. 3 574–592
MissingOverride The method 'getPagesByRoleKey(String)' is missing an @Override annotation. 3 601–643
MissingOverride The method 'selectNewChildPageOrder(int)' is missing an @Override annotation. 3 648–667
MissingOverride The method 'loadImageResource(int)' is missing an @Override annotation. 3 672–690
MissingOverride The method 'checkPageExist(int)' is missing an @Override annotation. 3 699–716
MissingOverride The method 'loadLastModifiedPage()' is missing an @Override annotation. 3 721–762
MissingOverride The method 'updateAutorisationNode(int, Integer)' is missing an @Override annotation. 3 767–788
ConfusingTernary Avoid if (x != y) ..; else ..; 3 775–782
MissingOverride The method 'selectPageForChangeAutorisationNode(int)' is missing an @Override annotation. 3 793–811

fr/paris/lutece/portal/business/page/PageRoleRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 79–83

fr/paris/lutece/portal/business/physicalfile/PhysicalFile.java

Rule Violation Priority Line
MethodReturnsInternalArray Returning '_byValue' may expose an internal array. 3 74
ArrayIsStoredDirectly The user-supplied array 'value' is stored directly. 3 83

fr/paris/lutece/portal/business/portalcomponent/PortalComponentDAO.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 60–70
MissingOverride The method 'insert(PortalComponent)' is missing an @Override annotation. 3 60–70
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 75–95
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 100–108
MissingOverride The method 'store(PortalComponent)' is missing an @Override annotation. 3 113–124
MissingOverride The method 'selectXslFile(int, int)' is missing an @Override annotation. 3 129–151

fr/paris/lutece/portal/business/portlet/AliasPortlet.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 55–58
MissingOverride The method 'getXml(HttpServletRequest)' is missing an @Override annotation. 3 114–131
MissingOverride The method 'getXmlDocument(HttpServletRequest)' is missing an @Override annotation. 3 142–145
MissingOverride The method 'remove()' is missing an @Override annotation. 3 173–176

fr/paris/lutece/portal/business/portlet/AliasPortletDAO.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 64–76
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 64–76
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 81–89
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 94–110
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 115–126
ShortVariable Avoid variables with short names like r 3 117
MissingOverride The method 'selectPortletsByTypeList(String)' is missing an @Override annotation. 3 131–147
MissingOverride The method 'selectAliasId(int)' is missing an @Override annotation. 3 152–168
MissingOverride The method 'selectAcceptAliasPortletRefList()' is missing an @Override annotation. 3 173–188
MissingOverride The method 'selectAcceptAliasPortletList()' is missing an @Override annotation. 3 193–212

fr/paris/lutece/portal/business/portlet/AliasPortletHome.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
MissingOverride The method 'getPortletTypeId()' is missing an @Override annotation. 3 70–74
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 81–88
MissingOverride The method 'getDAO()' is missing an @Override annotation. 3 95–98

fr/paris/lutece/portal/business/portlet/IAliasPortletDAO.java

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

fr/paris/lutece/portal/business/portlet/IPortletDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 47–203

fr/paris/lutece/portal/business/portlet/Portlet.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–689
TooManyFields Too many fields 3 52–689
GodClass Possible God Class (WMC=58, ATFD=22, TCC=1.943%) 3 52–689
ConfusingTernary Avoid if (x != y) ..; else ..; 3 532
ConfusingTernary Avoid if (x != y) ..; else ..; 3 535
ConfusingTernary Avoid if (x != y) ..; else ..; 3 538
ConfusingTernary Avoid if (x != y) ..; else ..; 3 541
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 616–619
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 645–648

fr/paris/lutece/portal/business/portlet/PortletDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 51–546
MissingOverride The method 'insert(Portlet)' is missing an @Override annotation. 3 98–124
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 129–151
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 156–189
MissingOverride The method 'store(Portlet)' is missing an @Override annotation. 3 194–213
MissingOverride The method 'updateStatus(Portlet, int)' is missing an @Override annotation. 3 218–229
MissingOverride The method 'updatePosition(Portlet, int, int)' is missing an @Override annotation. 3 234–244
MissingOverride The method 'selectXslFile(int, int)' is missing an @Override annotation. 3 249–269
MissingOverride The method 'selectPortletsListbyName(String)' is missing an @Override annotation. 3 274–295
MissingOverride The method 'selectAliasesForPortlet(int)' is missing an @Override annotation. 3 300–321
MissingOverride The method 'selectPortletsByType(String)' is missing an @Override annotation. 3 326–358
MissingOverride The method 'selectStylesList(String)' is missing an @Override annotation. 3 363–379
MissingOverride The method 'hasAlias(int)' is missing an @Override annotation. 3 384–401
MissingOverride The method 'selectPortletType(String)' is missing an @Override annotation. 3 406–427
MissingOverride The method 'selectPortletListByStyle(int)' is missing an @Override annotation. 3 432–455
MissingOverride The method 'selectPortletsByRole(String)' is missing an @Override annotation. 3 460–481
MissingOverride The method 'loadLastModifiedPortlet()' is missing an @Override annotation. 3 486–521

fr/paris/lutece/portal/business/portlet/PortletHome.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 51–360
ShortVariable Avoid variables with short names like p 3 72
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getXsl method if you want a default access modifier 3 121–124
DefaultPackage Use explicit scoping instead of the default package private level 3 121–124
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 157–171
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 179–189

fr/paris/lutece/portal/business/portlet/PortletHtmlContent.java

Rule Violation Priority Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 55–58
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 64–67

fr/paris/lutece/portal/business/portlet/PortletRoleRemovalListener.java

Rule Violation Priority Line
MissingOverride The method 'canBeRemoved(String)' is missing an @Override annotation. 3 58–68
MissingOverride The method 'getRemovalRefusedMessage(String, Locale)' is missing an @Override annotation. 3 79–83

fr/paris/lutece/portal/business/portlet/PortletType.java

Rule Violation Priority Line
TooManyFields Too many fields 3 45–426
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 233–236
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 243–246
AddEmptyString Do not add empty strings 3 245
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 422–425

fr/paris/lutece/portal/business/portlet/PortletTypeDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(PortletType)' is missing an @Override annotation. 3 70–92
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 101–131
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 139–147
MissingOverride The method 'selectPortletTypeId(String)' is missing an @Override annotation. 3 156–172
MissingOverride The method 'selectNbPortletTypeByPortlet(String)' is missing an @Override annotation. 3 181–197
MissingOverride The method 'selectPortletsTypesList(Locale)' is missing an @Override annotation. 3 206–226
MissingOverride The method 'selectPortletTypesList()' is missing an @Override annotation. 3 233–254

fr/paris/lutece/portal/business/prefs/AbstractUserPreferencesDAO.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_strSqlSelect' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
FieldNamingConventions The final field name '_strSqlInsert' doesn't match '[a-z][a-zA-Z0-9]*' 1 48
FieldNamingConventions The final field name '_strSqlUpdate' doesn't match '[a-z][a-zA-Z0-9]*' 1 49
FieldNamingConventions The final field name '_strSqlDelete' doesn't match '[a-z][a-zA-Z0-9]*' 1 50
FieldNamingConventions The final field name '_strSqlSelectAll' doesn't match '[a-z][a-zA-Z0-9]*' 1 51
FieldNamingConventions The final field name '_strSqlSelectByValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 52
FieldNamingConventions The final field name '_strSqlDeleteKey' doesn't match '[a-z][a-zA-Z0-9]*' 1 53
FieldNamingConventions The final field name '_strSqlDeleteKeyPrefix' doesn't match '[a-z][a-zA-Z0-9]*' 1 54
FieldNamingConventions The final field name '_strSqlSelectCount' doesn't match '[a-z][a-zA-Z0-9]*' 1 55
FieldNamingConventions The final field name '_strSqlSelectCountPrefValue' doesn't match '[a-z][a-zA-Z0-9]*' 1 56
DefaultPackage Use explicit scoping instead of the default package private level 3 63
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 3 63

fr/paris/lutece/portal/business/prefs/AdminUserPreferencesDAO.java

Rule Violation Priority Line
DefaultPackage Use explicit scoping instead of the default package private level 3 46–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 3 47–50

fr/paris/lutece/portal/business/prefs/UserPreferencesDAO.java

Rule Violation Priority Line
DefaultPackage Use explicit scoping instead of the default package private level 3 46–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPreferencesTable method if you want a default access modifier 3 47–50

fr/paris/lutece/portal/business/progressmanager/ProgressFeed.java

Rule Violation Priority Line
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemTotal' 3 51
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemSuccess' 3 53
RedundantFieldInitializer Avoid using redundant field initializer for '_nNbItemFailure' 3 55
ImmutableField Private field '_report' could be made final; it is only initialized in the declaration or constructor. 3 57
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 179

fr/paris/lutece/portal/business/rbac/AdminRole.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 42–45

fr/paris/lutece/portal/business/rbac/IRBACDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 42–146
UnnecessaryModifier Unnecessary modifier 'public' on method 'deleteForResourceTypeAndId': the method is declared in an interface type 3 144

fr/paris/lutece/portal/business/rbac/RBAC.java

Rule Violation Priority Line
ShortClassName Avoid short class names like RBAC 4 50–258
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 67–70

fr/paris/lutece/portal/business/rbac/RBACDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 47–344
MissingOverride The method 'insert(RBAC)' is missing an @Override annotation. 3 72–90
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 99–120
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 128–136
MissingOverride The method 'store(RBAC)' is missing an @Override annotation. 3 144–157
MissingOverride The method 'selectRBACList()' is missing an @Override annotation. 3 164–186
MissingOverride The method 'selectRBACListByRoleKey(String)' is missing an @Override annotation. 3 195–218
MissingOverride The method 'updateRoleKey(String, String)' is missing an @Override annotation. 3 267–276
MissingOverride The method 'deleteForRoleKey(String)' is missing an @Override annotation. 3 284–292
MissingOverride The method 'selectRoleKeys(String, String, String)' is missing an @Override annotation. 3 303–327

fr/paris/lutece/portal/business/rbac/RBACHome.java

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

fr/paris/lutece/portal/business/rbac/RBACRole.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 51–53

fr/paris/lutece/portal/business/rbac/RBACRoleDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(RBACRole)' is missing an @Override annotation. 3 59–68
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 77–95
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 103–111
MissingOverride The method 'store(String, RBACRole)' is missing an @Override annotation. 3 121–131
MissingOverride The method 'selectRoleList()' is missing an @Override annotation. 3 138–157
MissingOverride The method 'checkExistRole(String)' is missing an @Override annotation. 3 166–181

fr/paris/lutece/portal/business/regularexpression/RegularExpression.java

Rule Violation Priority Line
MissingOverride The method 'equals(Object)' is missing an @Override annotation. 3 182–185
MissingOverride The method 'hashCode()' is missing an @Override annotation. 3 190–193

fr/paris/lutece/portal/business/resourceenhancer/IResourceDisplayManager.java

Rule Violation Priority Line
LinguisticNaming Linguistics Antipattern - The getter 'getXmlAddOn' should not return void linguistically 3 57

fr/paris/lutece/portal/business/resourceenhancer/IResourceManager.java

Rule Violation Priority Line
LinguisticNaming Linguistics Antipattern - The getter 'getCreateResourceModelAddOn' should not return void linguistically 3 53
LinguisticNaming Linguistics Antipattern - The getter 'getModifyResourceModelAddOn' should not return void linguistically 3 77

fr/paris/lutece/portal/business/resourceenhancer/ResourceEnhancer.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ResourceEnhancer' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 46–219
LinguisticNaming Linguistics Antipattern - The getter 'getXmlAddOn' should not return void linguistically 3 68–76
LinguisticNaming Linguistics Antipattern - The getter 'getCreateResourceModelAddOn' should not return void linguistically 3 110–118
LinguisticNaming Linguistics Antipattern - The getter 'getModifyResourceModelAddOn' should not return void linguistically 3 150–158

fr/paris/lutece/portal/business/right/FeatureGroup.java

Rule Violation Priority Line
ImmutableField Private field '_aFeaturesList' could be made final; it is only initialized in the declaration or constructor. 3 59
ConfusingTernary Avoid if (x != y) ..; else ..; 3 112–119
ConfusingTernary Avoid if (x != y) ..; else ..; 3 172–179

fr/paris/lutece/portal/business/right/FeatureGroupDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(FeatureGroup)' is missing an @Override annotation. 3 66–79
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 88–110
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 118–125
MissingOverride The method 'store(FeatureGroup)' is missing an @Override annotation. 3 133–146
MissingOverride The method 'selectFeatureGroupsList()' is missing an @Override annotation. 3 153–176
MissingOverride The method 'selectFeatureGroupsCount()' is missing an @Override annotation. 3 183–198

fr/paris/lutece/portal/business/right/FeatureGroupHome.java

Rule Violation Priority Line
CyclomaticComplexity The method 'changeRightOrder(FeatureGroup, int)' has a cyclomatic complexity of 10. 3 199–235

fr/paris/lutece/portal/business/right/IRightDAO.java

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

fr/paris/lutece/portal/business/right/LevelDAO.java

Rule Violation Priority Line
DefaultPackage Use explicit scoping instead of the default package private level 3 62–80
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 3 62–80
MissingOverride The method 'insert(Level)' is missing an @Override annotation. 3 88–99
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 88–99
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 108–126
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 134–142
MissingOverride The method 'store(Level)' is missing an @Override annotation. 3 150–161
MissingOverride The method 'selectLevelsList()' is missing an @Override annotation. 3 168–186

fr/paris/lutece/portal/business/right/Right.java

Rule Violation Priority Line
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 117
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 195
ShortVariable Avoid variables with short names like o 3 349
ShortVariable Avoid variables with short names like o 3 370

fr/paris/lutece/portal/business/right/RightDAO.java

Rule Violation Priority Line
AvoidDuplicateLiterals The String literal " SELECT id_right, name, level_right, admin_url, description, plugin_name, id_feature_group, icon_url, documentation_url, id_order, is_external_feature " appears 4 times in this file; the first occurrence is on line 55 3 55
MissingOverride The method 'insert(Right)' is missing an @Override annotation. 3 75–94
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 103–131
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 139–154
MissingOverride The method 'store(Right)' is missing an @Override annotation. 3 162–181
MissingOverride The method 'selectRightsList()' is missing an @Override annotation. 3 188–191
MissingOverride The method 'selectRightsList(int)' is missing an @Override annotation. 3 200–230
MissingOverride The method 'selectRightsList(String)' is missing an @Override annotation. 3 289–331

fr/paris/lutece/portal/business/right/RightHome.java

Rule Violation Priority Line
CyclomaticComplexity The method 'changeRightOrder(Right, int)' has a cyclomatic complexity of 10. 3 188–224
CommentRequired Public method and constructor comments are required 3 299–302

fr/paris/lutece/portal/business/role/Role.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Role 4 42–131
ConfusingTernary Avoid if (x != y) ..; else ..; 3 67
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 96–99
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 106–109
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 116–119

fr/paris/lutece/portal/business/role/RoleDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(Role)' is missing an @Override annotation. 3 63–74
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 83–103
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 111–118
MissingOverride The method 'store(Role)' is missing an @Override annotation. 3 126–137
MissingOverride The method 'selectRolesList()' is missing an @Override annotation. 3 144–163
MissingOverride The method 'selectAll()' is missing an @Override annotation. 3 170–190

fr/paris/lutece/portal/business/rss/FeedResource.java

Rule Violation Priority Line
MissingOverride The method 'getDescription()' is missing an @Override annotation. 3 57–60
MissingOverride The method 'setDescription(String)' is missing an @Override annotation. 3 66–69
MissingOverride The method 'getTitle()' is missing an @Override annotation. 3 75–78
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 3 84–87
MissingOverride The method 'getImage()' is missing an @Override annotation. 3 93–96
MissingOverride The method 'setImage(IFeedResourceImage)' is missing an @Override annotation. 3 104–107
MissingOverride The method 'getItems()' is missing an @Override annotation. 3 113–116
MissingOverride The method 'setItems(List)' is missing an @Override annotation. 3 124–127
MissingOverride The method 'getLanguage()' is missing an @Override annotation. 3 133–136
MissingOverride The method 'setLanguage(String)' is missing an @Override annotation. 3 144–147
MissingOverride The method 'getLink()' is missing an @Override annotation. 3 153–156
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 3 164–167
MissingOverride The method 'getDate()' is missing an @Override annotation. 3 173–176
MissingOverride The method 'setDate(Date)' is missing an @Override annotation. 3 182–185

fr/paris/lutece/portal/business/rss/FeedResourceImage.java

Rule Violation Priority Line
MissingOverride The method 'getUrl()' is missing an @Override annotation. 3 50–53
MissingOverride The method 'setUrl(String)' is missing an @Override annotation. 3 59–62
MissingOverride The method 'getTitle()' is missing an @Override annotation. 3 68–71
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 3 77–80
MissingOverride The method 'getLink()' is missing an @Override annotation. 3 86–89
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 3 95–98

fr/paris/lutece/portal/business/rss/FeedResourceItem.java

Rule Violation Priority Line
MissingOverride The method 'getTitle()' is missing an @Override annotation. 3 54–57
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 3 63–66
MissingOverride The method 'getLink()' is missing an @Override annotation. 3 72–75
MissingOverride The method 'setLink(String)' is missing an @Override annotation. 3 81–84
MissingOverride The method 'getDescription()' is missing an @Override annotation. 3 90–93
MissingOverride The method 'setDescription(String)' is missing an @Override annotation. 3 99–102
MissingOverride The method 'getGUID()' is missing an @Override annotation. 3 108–111
MissingOverride The method 'setGUID(String)' is missing an @Override annotation. 3 117–120
MissingOverride The method 'getDate()' is missing an @Override annotation. 3 126–129
MissingOverride The method 'setDate(Date)' is missing an @Override annotation. 3 135–138

fr/paris/lutece/portal/business/rss/ResourceRss.java

Rule Violation Priority Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 207–210

fr/paris/lutece/portal/business/rss/ResourceRssType.java

Rule Violation Priority Line
MissingOverride The method 'getKey()' is missing an @Override annotation. 3 53–56
MissingOverride The method 'setKey(String)' is missing an @Override annotation. 3 64–67
MissingOverride The method 'getTitleI18nKey()' is missing an @Override annotation. 3 74–77
MissingOverride The method 'setTitleI18nKey(String)' is missing an @Override annotation. 3 85–88
MissingOverride The method 'getClassName()' is missing an @Override annotation. 3 95–98
MissingOverride The method 'setClassName(String)' is missing an @Override annotation. 3 106–109
MissingOverride The method 'getTitle()' is missing an @Override annotation. 3 116–119
MissingOverride The method 'setTitle(String)' is missing an @Override annotation. 3 127–130

fr/paris/lutece/portal/business/search/SearchParameterDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 55–73
MissingOverride The method 'store(ReferenceItem)' is missing an @Override annotation. 3 76–84
MissingOverride The method 'findAll()' is missing an @Override annotation. 3 87–103
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 89
MissingOverride The method 'selectParametersList()' is missing an @Override annotation. 3 106–122

fr/paris/lutece/portal/business/securityheader/SecurityHeaderDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 184

fr/paris/lutece/portal/business/securityheader/SecurityHeaderPageCategory.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_code' doesn't match '[a-z][a-zA-Z0-9]*' 1 54
UnnecessaryModifier Unnecessary modifier 'private' on constructor 'SecurityHeaderPageCategory(String)': enum constructors are implicitly private 3 62–65

fr/paris/lutece/portal/business/securityheader/SecurityHeaderType.java

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

fr/paris/lutece/portal/business/style/Mode.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Mode 4 39–234

fr/paris/lutece/portal/business/style/ModeDAO.java

Rule Violation Priority Line
DefaultPackage Use explicit scoping instead of the default package private level 3 69–87
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the newPrimaryKey method if you want a default access modifier 3 69–87
MissingOverride The method 'insert(Mode)' is missing an @Override annotation. 3 95–115
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 95–115
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 124–151
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 159–166
MissingOverride The method 'store(Mode)' is missing an @Override annotation. 3 174–192
MissingOverride The method 'selectModesList()' is missing an @Override annotation. 3 199–227
MissingOverride The method 'getModesList()' is missing an @Override annotation. 3 234–250

fr/paris/lutece/portal/business/style/ModeHome.java

Rule Violation Priority Line
NPathComplexity The method 'getOuputXslProperties(int)' has an NPath complexity of 2187 3 140–195
CyclomaticComplexity The method 'getOuputXslProperties(int)' has a cyclomatic complexity of 15. 3 140–195

fr/paris/lutece/portal/business/style/PageTemplateDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(PageTemplate)' is missing an @Override annotation. 3 65–81
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 90–111
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 119–126
MissingOverride The method 'store(PageTemplate)' is missing an @Override annotation. 3 134–147
MissingOverride The method 'selectPageTemplatesList()' is missing an @Override annotation. 3 154–175
MissingOverride The method 'checkPageTemplateIsUsed(int)' is missing an @Override annotation. 3 184–201

fr/paris/lutece/portal/business/style/StyleDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(Style)' is missing an @Override annotation. 3 74–86
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 95–118
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 126–133
MissingOverride The method 'store(Style)' is missing an @Override annotation. 3 141–153
MissingOverride The method 'selectStylesList()' is missing an @Override annotation. 3 160–184
MissingOverride The method 'selectPortalComponentList()' is missing an @Override annotation. 3 191–206
MissingOverride The method 'selectStyleSheetList(int)' is missing an @Override annotation. 3 215–238
MissingOverride The method 'checkStylePortalComponent(int)' is missing an @Override annotation. 3 247–264

fr/paris/lutece/portal/business/stylesheet/StyleSheet.java

Rule Violation Priority Line
MethodReturnsInternalArray Returning '_strSource' may expose an internal array. 3 162
ArrayIsStoredDirectly The user-supplied array 'strSource' is stored directly. 3 171

fr/paris/lutece/portal/business/stylesheet/StyleSheetDAO.java

Rule Violation Priority Line
MissingOverride The method 'insert(StyleSheet)' is missing an @Override annotation. 3 72–92
MissingOverride The method 'load(int)' is missing an @Override annotation. 3 101–123
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 131–141
MissingOverride The method 'selectStyleSheetList(int)' is missing an @Override annotation. 3 150–189
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 162
MissingOverride The method 'store(StyleSheet)' is missing an @Override annotation. 3 197–212
MissingOverride The method 'selectStyleSheetNbPerStyleMode(int, int)' is missing an @Override annotation. 3 276–298
MissingOverride The method 'selectModeId(int)' is missing an @Override annotation. 3 307–327

fr/paris/lutece/portal/business/template/AutoImport.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 52–54

fr/paris/lutece/portal/business/template/AutoInclude.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 51–53

fr/paris/lutece/portal/business/template/CommonsImport.java

Rule Violation Priority Line
RedundantFieldInitializer Avoid using redundant field initializer for '_bDefault' 3 47
FormalParameterNamingConventions The method parameter name '_bDefault' doesn't match '[a-z][a-zA-Z0-9]*' 1 149

fr/paris/lutece/portal/business/template/CommonsInclude.java

Rule Violation Priority Line
RedundantFieldInitializer Avoid using redundant field initializer for '_bDefault' 3 47
FormalParameterNamingConventions The method parameter name '_bDefault' doesn't match '[a-z][a-zA-Z0-9]*' 1 149

fr/paris/lutece/portal/business/user/AdminUser.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–739
TooManyFields Too many fields 3 63–739
GodClass Possible God Class (WMC=57, ATFD=9, TCC=3.098%) 3 63–739
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 88
ImmutableField Private field '_userInfo' could be made final; it is only initialized in the declaration or constructor. 3 88
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 90
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 95
ImmutableField Private field '_rights' could be made final; it is only initialized in the declaration or constructor. 3 95
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 100
ImmutableField Private field '_roles' could be made final; it is only initialized in the declaration or constructor. 3 100
UncommentedEmptyConstructor Document empty constructor 3 114–116
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 135–142
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 619–622
LinguisticNaming Linguistics Antipattern - The setter 'setUserInfo' should not return any type except void linguistically 3 684–687
CommentRequired Public method and constructor comments are required 3 705–708

fr/paris/lutece/portal/business/user/AdminUserDAO.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–1384
ExcessiveClassLength Avoid really long classes. 3 59–1384
TooManyMethods This class has too many methods, consider refactoring it. 3 60–1384
AvoidReassigningParameters Avoid reassigning parameters such as 'user' 2 210
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 243
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 406
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 468
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 898
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 903
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 906
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1105

fr/paris/lutece/portal/business/user/AdminUserFilter.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 83–86
LinguisticNaming Linguistics Antipattern - The setter 'setAdminUserFilter' should not return any type except void linguistically 3 230–270
ConfusingTernary Avoid if (x != y) ..; else ..; 3 235–267

fr/paris/lutece/portal/business/user/AdminUserHome.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–661
TooManyMethods This class has too many methods, consider refactoring it. 3 54–661
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 18 characters appended. 3 639

fr/paris/lutece/portal/business/user/IAdminUserDAO.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–483
TooManyMethods This class has too many methods, consider refactoring it. 3 51–483

fr/paris/lutece/portal/business/user/attribute/AbstractAttribute.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 74–76
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 74–76
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 271
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 290
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 310
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 346

fr/paris/lutece/portal/business/user/attribute/AdminUserField.java

Rule Violation Priority Line
DataClass The class 'AdminUserField' is suspected to be a Data Class (WOC=16.667%, NOPA=0, NOAM=10, WMC=12) 3 44–178

fr/paris/lutece/portal/business/user/attribute/AdminUserFieldDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 54–568
ConfusingTernary Avoid if (x != y) ..; else ..; 3 141–148
CyclomaticComplexity The method 'selectUsersByFilter(AdminUserFieldFilter)' has a cyclomatic complexity of 11. 3 327–398
NPathComplexity The method 'selectUsersByFilter(AdminUserFieldFilter)' has an NPath complexity of 220 3 327–398
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 341
ConfusingTernary Avoid if (x != y) ..; else ..; 3 350–358
NPathComplexity The method 'selectByFilter(AdminUserFieldFilter)' has an NPath complexity of 544 3 408–480
CyclomaticComplexity The method 'selectByFilter(AdminUserFieldFilter)' has a cyclomatic complexity of 11. 3 408–480

fr/paris/lutece/portal/business/user/attribute/AdminUserFieldHome.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 48–220

fr/paris/lutece/portal/business/user/attribute/AttributeCheckBox.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 84–87
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 3 177
ConfusingTernary Avoid if (x != y) ..; else ..; 3 245–288

fr/paris/lutece/portal/business/user/attribute/AttributeComboBox.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 84–87
CallSuperInConstructor It is a good practice to call super() in a constructor 3 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 3 177
ConfusingTernary Avoid if (x != y) ..; else ..; 3 254–297

fr/paris/lutece/portal/business/user/attribute/AttributeDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(int, Locale)' is missing an @Override annotation. 3 111–152
MissingOverride The method 'insert(IAttribute)' is missing an @Override annotation. 3 161–184
MissingOverride The method 'store(IAttribute)' is missing an @Override annotation. 3 192–208
MissingOverride The method 'delete(int)' is missing an @Override annotation. 3 216–224
MissingOverride The method 'selectAll(Locale)' is missing an @Override annotation. 3 233–277
MissingOverride The method 'selectPluginAttributes(String, Locale)' is missing an @Override annotation. 3 288–334
MissingOverride The method 'selectCoreAttributes(Locale)' is missing an @Override annotation. 3 343–383
MissingOverride The method 'updateAttributeAnonymization(int, boolean)' is missing an @Override annotation. 3 393–401

fr/paris/lutece/portal/business/user/attribute/AttributeImage.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 105–108
CyclomaticComplexity The method 'setAttributeData(HttpServletRequest)' has a cyclomatic complexity of 11. 3 195–251
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
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 200
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 201
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 202

fr/paris/lutece/portal/business/user/attribute/AttributeRadioButton.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 84–87
CallSuperInConstructor It is a good practice to call super() in a constructor 3 84–87
ConfusingTernary Avoid if (x != y) ..; else ..; 3 177

fr/paris/lutece/portal/business/user/attribute/AttributeText.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 90–93
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 90–93
CyclomaticComplexity The method 'setAttributeData(HttpServletRequest)' has a cyclomatic complexity of 10. 3 180–238
ConfusingTernary Avoid if (x != y) ..; else ..; 3 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 183
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 184
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 185
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 186
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 188
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 189
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 201
AvoidReassigningLoopVariables Avoid reassigning the loop control variable 'strValue' 3 295

fr/paris/lutece/portal/business/user/attribute/IAdminUserFieldDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–142

fr/paris/lutece/portal/business/user/attribute/IAttribute.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 219
LinguisticNaming Linguistics Antipattern - The setter 'setAttributeData' should not return any type except void linguistically 3 304

fr/paris/lutece/portal/business/user/attribute/SimpleAdminUserFieldListener.java

Rule Violation Priority Line
MissingOverride The method 'doRemoveUserFields(AdminUser, HttpServletRequest, Locale)' is missing an @Override annotation. 3 166–169

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminAuthentication.java

Rule Violation Priority Line
CyclomaticComplexity The method 'login(String, String, HttpServletRequest)' has a cyclomatic complexity of 10. 3 97–143

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminUser.java

Rule Violation Priority Line
DataClass The class 'LuteceDefaultAdminUser' is suspected to be a Data Class (WOC=25.000%, NOPA=0, NOAM=4, WMC=8) 3 44–135

fr/paris/lutece/portal/business/user/authentication/LuteceDefaultAdminUserDAO.java

Rule Violation Priority Line
MissingOverride The method 'load(String, AdminAuthentication)' is missing an @Override annotation. 3 71–102
MissingOverride The method 'updateResetPassword(LuteceDefaultAdminUser, boolean)' is missing an @Override annotation. 3 112–120

fr/paris/lutece/portal/business/user/authentication/PasswordFactory.java

Rule Violation Priority Line
ClassNamingConventions The enum name 'PASSWORD_REPRESENTATION' doesn't match '[A-Z][a-zA-Z0-9]*' 1 117–121
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PROPERTY_PASSWORD_HASH_ITERATIONS field if you want a default access modifier 3 143
DefaultPackage Use explicit scoping instead of the default package private level 3 143
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DEFAULT_HASH_ITERATIONS field if you want a default access modifier 3 144
UseUnderscoresInNumericLiterals Number 210000 should separate every third digit with an underscore 3 144
DefaultPackage Use explicit scoping instead of the default package private level 3 144
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _iterations field if you want a default access modifier 3 148
DefaultPackage Use explicit scoping instead of the default package private level 3 148
FieldNamingConventions The final field name '_iterations' doesn't match '[a-z][a-zA-Z0-9]*' 1 148
FieldNamingConventions The final field name '_salt' doesn't match '[a-z][a-zA-Z0-9]*' 1 150
FieldNamingConventions The final field name '_hash' doesn't match '[a-z][a-zA-Z0-9]*' 1 152
CyclomaticComplexity The constructor 'PBKDF2Password(String, PASSWORD_REPRESENTATION)' has a cyclomatic complexity of 11. 3 173–214
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 208
ShortVariable Avoid variables with short names like sb 3 249
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 250
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 251
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DummyPassword constructor if you want a default access modifier 3 364–368
FieldNamingConventions The final field name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 1 423
CallSuperInConstructor It is a good practice to call super() in a constructor 3 431–434
FieldNamingConventions The final field name '_strPassword' doesn't match '[a-z][a-zA-Z0-9]*' 1 450
FieldNamingConventions The final field name '_strAlgorithm' doesn't match '[a-z][a-zA-Z0-9]*' 1 452
CallSuperInConstructor It is a good practice to call super() in a constructor 3 462–475

fr/paris/lutece/portal/business/user/log/UserLogDAO.java

Rule Violation Priority Line
MissingOverride The method 'selectLoginErrors(UserLog, int)' is missing an @Override annotation. 3 58–81
MissingOverride The method 'insertLog(UserLog)' is missing an @Override annotation. 3 89–100

fr/paris/lutece/portal/business/user/menu/AccessibilityModeAdminUserMenuItemProvider.java

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

fr/paris/lutece/portal/business/user/menu/AdminUserMenuItem.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_strClass' doesn't match '[a-z][a-zA-Z0-9]*' 1 43
FieldNamingConventions The final field name '_strContent' doesn't match '[a-z][a-zA-Z0-9]*' 1 44

fr/paris/lutece/portal/business/user/menu/DividerAdminUserMenuItemProvider.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_item' doesn't match '[A-Z][A-Z_0-9]*' 1 44

fr/paris/lutece/portal/business/user/menu/LanguageAdminUserMenuItemProvider.java

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

fr/paris/lutece/portal/business/user/parameter/EmailPatternRegularExpressionRemovalListener.java

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

fr/paris/lutece/portal/business/workgroup/AdminWorkgroup.java

Rule Violation Priority Line
MissingOverride The method 'getWorkgroup()' is missing an @Override annotation. 3 93–96

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupDAO.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 48–334
MissingOverride The method 'insert(AdminWorkgroup)' is missing an @Override annotation. 3 71–80
MissingOverride The method 'load(String)' is missing an @Override annotation. 3 85–103
MissingOverride The method 'delete(String)' is missing an @Override annotation. 3 108–116
MissingOverride The method 'store(AdminWorkgroup)' is missing an @Override annotation. 3 121–130
MissingOverride The method 'selectWorkgroupList()' is missing an @Override annotation. 3 135–154
MissingOverride The method 'checkExistWorkgroup(String)' is missing an @Override annotation. 3 159–173
MissingOverride The method 'isUserInWorkgroup(int, String)' is missing an @Override annotation. 3 178–195
MissingOverride The method 'checkUserHasWorkgroup(int)' is missing an @Override annotation. 3 200–214
MissingOverride The method 'getUserWorkgroups(int)' is missing an @Override annotation. 3 219–235
MissingOverride The method 'getUsersListForWorkgroup(String)' is missing an @Override annotation. 3 240–263
MissingOverride The method 'deleteAllUsersForWorkgroup(String)' is missing an @Override annotation. 3 268–275
MissingOverride The method 'insertUserForWorkgroup(AdminUser, String)' is missing an @Override annotation. 3 280–288
MissingOverride The method 'deleteUserFromWorkgroup(int, String)' is missing an @Override annotation. 3 293–301
MissingOverride The method 'selectWorkgroupsByFilter(AdminWorkgroupFilter)' is missing an @Override annotation. 3 310–333

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupFilter.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 68–71
LinguisticNaming Linguistics Antipattern - The setter 'setAdminWorkgroupFilter' should not return any type except void linguistically 3 141–158
ConfusingTernary Avoid if (x != y) ..; else ..; 3 146–155

fr/paris/lutece/portal/business/workgroup/AdminWorkgroupHome.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 46–231

fr/paris/lutece/portal/business/workgroup/IAdminWorkgroupDAO.java

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

fr/paris/lutece/portal/business/xsl/XslExportDAO.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 71–78
ConfusingTernary Avoid if (x != y) ..; else ..; 3 154–161
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 221

fr/paris/lutece/portal/service/accesscontrol/AccessControlService.java

Rule Violation Priority Line
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 3 57
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 95–102
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 162–165
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 166–169

fr/paris/lutece/portal/service/admin/AdminAuthenticationService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 89–98
CyclomaticComplexity The method 'getRemoteUser(HttpServletRequest)' has a cyclomatic complexity of 10. 3 131–179
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 205

fr/paris/lutece/portal/service/admin/AdminUserService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1529
GodClass Possible God Class (WMC=144, ATFD=173, TCC=6.410%) 3 104–1529
CyclomaticComplexity The class 'AdminUserService' has a total cyclomatic complexity of 144 (highest 11). 3 104–1529
ExcessiveClassLength Avoid really long classes. 3 104–1529
TooManyMethods This class has too many methods, consider refactoring it. 3 105–1529
ConfusingTernary Avoid if (x != y) ..; else ..; 3 278–289
CyclomaticComplexity The method 'getFilteredUsersInterface(Collection, HttpServletRequest, Map, UrlItem)' has a cyclomatic complexity of 10. 3 307–386
ConfusingTernary Avoid if (x != y) ..; else ..; 3 345–354
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 356
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 397
CyclomaticComplexity The method 'checkEmail(String)' has a cyclomatic complexity of 11. 3 475–519
ConfusingTernary Avoid if (x != y) ..; else ..; 3 603–610
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 1011
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 1276
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1290
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 1350
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1358

fr/paris/lutece/portal/service/admin/DefaultImportAdminUserService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–473
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 1 89
NcssCount The method 'readLineOfCSVFile(String, int, Locale, String)' has a NCSS line count of 68. 3 95–207
ExcessiveMethodLength Avoid really long methods. 3 95–207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 171
AvoidReassigningParameters Avoid reassigning parameters such as 'listAttributes' 2 296
AvoidReassigningLoopVariables Avoid reassigning the loop control variable 'strValue' 3 327
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 367
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 427

fr/paris/lutece/portal/service/admin/ImportAdminUserService.java

Rule Violation Priority Line
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 157–160
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 194
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 203

fr/paris/lutece/portal/service/cache/AbstractCacheableService.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 55–372
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 58
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 58
ConfusingTernary Avoid if (x != y) ..; else ..; 3 193
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 180 characters appended. 3 272
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 292–295
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 3 292–295
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 312–315
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 321–324
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 330–333
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 339–342
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 348–351
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 357–360

fr/paris/lutece/portal/service/cache/CacheService.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 61–479
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 120–132
ShortVariable Avoid variables with short names like cs 3 207
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getInfos method if you want a default access modifier 3 244–258
DefaultPackage Use explicit scoping instead of the default package private level 3 244–258
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 27 characters appended. 3 246
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 247
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 248
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 248
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 248
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 250
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 250
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 250
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 251
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 251
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 251
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 252
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 252
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 252
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 253
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 253
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 253
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 254
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 255
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 3 265
UseUnderscoresInNumericLiterals Number 10000L should separate every third digit with an underscore 3 267
UseUnderscoresInNumericLiterals Number 10000L should separate every third digit with an underscore 3 268
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 3 272
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 284
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 305
ShortVariable Avoid variables with short names like cs 3 317
ShortVariable Avoid variables with short names like cs 3 330

fr/paris/lutece/portal/service/cache/DefaultCacheKeyService.java

Rule Violation Priority Line
MissingOverride The method 'getKey(Map, int, LuteceUser)' is missing an @Override annotation. 3 62–83
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 73
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 73
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 73
ConfusingTernary Avoid if (x != y) ..; else ..; 3 77
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 79
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 79
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 79
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 80
MissingOverride The method 'setAllowedParametersList(List)' is missing an @Override annotation. 3 88–91
MissingOverride The method 'setIgnoredParametersList(List)' is missing an @Override annotation. 3 96–99

fr/paris/lutece/portal/service/cache/FullPageCachingService.java

Rule Violation Priority Line
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 56
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 56

fr/paris/lutece/portal/service/cache/HeadersPageCachingFilter.java

Rule Violation Priority Line
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 69
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 69
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 139–142
MissingOverride The method 'parseBlockingCacheTimeoutMillis(FilterConfig)' is missing an @Override annotation. 3 152–164
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 180
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 180

fr/paris/lutece/portal/service/cache/PathCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 54–58
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PathCacheService constructor if you want a default access modifier 3 54–58
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 21 characters appended. 3 79
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 80
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 80

fr/paris/lutece/portal/service/content/PageData.java

Rule Violation Priority Line
TooManyFields Too many fields 3 41–465
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 449–453

fr/paris/lutece/portal/service/content/XPageAppService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 80
CyclomaticComplexity The method 'getPage(HttpServletRequest, int)' has a cyclomatic complexity of 11. 3 190–265
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 336

fr/paris/lutece/portal/service/csv/CSVMessageDescriptor.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 50–52
ShortVariable Avoid variables with short names like o 3 151
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 162–165
ShortVariable Avoid variables with short names like o 3 190

fr/paris/lutece/portal/service/csv/CSVReaderService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=67, ATFD=48, TCC=3.297%) 3 64–727
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 220
CyclomaticComplexity The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has a cyclomatic complexity of 31. 3 340–572
NcssCount The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has a NCSS line count of 103. 3 340–572
ExcessiveMethodLength Avoid really long methods. 3 340–572
NPathComplexity The method 'readCSVFile(Reader, CSVReader, int, boolean, boolean, boolean, Locale, String)' has an NPath complexity of 233024 3 340–572
ConfusingTernary Avoid if (x != y) ..; else ..; 3 442–474
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 450
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 462
ConfusingTernary Avoid if (x != y) ..; else ..; 3 476–549
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 532

fr/paris/lutece/portal/service/daemon/AccountLifeTimeDaemon.java

Rule Violation Priority Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 100
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 24 characters appended. 3 136
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 137
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 138
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 142
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 30 characters appended. 3 181
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 187
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 29 characters appended. 3 230
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 231
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 232
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 54 characters appended. 3 264
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 265
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 266
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 270
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 285
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 296
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 303

fr/paris/lutece/portal/service/daemon/AppDaemonService.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 52–385
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 58
FieldNamingConventions The constant name '_mapDaemonEntries' doesn't match '[A-Z][A-Z_0-9]*' 1 58
FieldNamingConventions The constant name '_random' doesn't match '[A-Z][A-Z_0-9]*' 1 59
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 74–120
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 84
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 325–328

fr/paris/lutece/portal/service/daemon/Daemon.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 39
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 3 57
ConfusingTernary Avoid if (x != y) ..; else ..; 3 89
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 146–149

fr/paris/lutece/portal/service/daemon/DaemonEntry.java

Rule Violation Priority Line
ImmutableField Private field '_formatterDateTime' could be made final; it is only initialized in the declaration or constructor. 3 47
FieldNamingConventions The final field name '_thread' doesn't match '[a-z][a-zA-Z0-9]*' 1 58
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 176–179
ConfusingTernary Avoid if (x != y) ..; else ..; 3 285

fr/paris/lutece/portal/service/daemon/DaemonScheduler.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 59
FieldNamingConventions The final field name '_queue' doesn't match '[a-z][a-zA-Z0-9]*' 1 63
FieldNamingConventions The final field name '_executor' doesn't match '[a-z][a-zA-Z0-9]*' 1 64
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 65
FieldNamingConventions The final field name '_coordinatorThread' doesn't match '[a-z][a-zA-Z0-9]*' 1 65
FieldNamingConventions The final field name '_scheduledDaemonsTimer' doesn't match '[a-z][a-zA-Z0-9]*' 1 66
FieldNamingConventions The final field name '_executingDaemons' doesn't match '[a-z][a-zA-Z0-9]*' 1 67
FieldNamingConventions The final field name '_scheduledDaemons' doesn't match '[a-z][a-zA-Z0-9]*' 1 68
AvoidUsingVolatile Use of modifier volatile is not recommended. 2 69
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 86
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 96
AvoidCatchingThrowable A catch statement should never catch throwable since it includes errors. 3 189
ConfusingTernary Avoid if (x != y) ..; else ..; 3 221–231
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 225
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 290
FieldNamingConventions The final field name '_entry' doesn't match '[a-z][a-zA-Z0-9]*' 1 293
AvoidUsingVolatile Use of modifier volatile is not recommended. 2 294
AvoidUsingVolatile Use of modifier volatile is not recommended. 2 295
CommentRequired Public method and constructor comments are required 3 306–309
FieldNamingConventions The final field name '_entry' doesn't match '[a-z][a-zA-Z0-9]*' 1 352
CallSuperInConstructor It is a good practice to call super() in a constructor 3 358–361

fr/paris/lutece/portal/service/daemon/DaemonThread.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 44
DefaultPackage Use explicit scoping instead of the default package private level 3 46
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DEAMON_THREAD_BEAN_NAME field if you want a default access modifier 3 46
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 85
AvoidCatchingThrowable A catch statement should never catch throwable since it includes errors. 3 106

fr/paris/lutece/portal/service/daemon/DaemonThreadFactory.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_defaultThreadFactory' doesn't match '[A-Z][A-Z_0-9]*' 1 49
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 63
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 73–76

fr/paris/lutece/portal/service/daemon/IndexerDaemon.java

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

fr/paris/lutece/portal/service/daemon/RunnableQueueItem.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 42
ImmutableField Private field '_runnable' could be made final; it is only initialized in the declaration or constructor. 3 44
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 44
ImmutableField Private field '_strKey' could be made final; it is only initialized in the declaration or constructor. 3 45
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 3 46
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 59
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 76
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 87

fr/paris/lutece/portal/service/daemon/ThreadLauncherDaemon.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 59
FieldNamingConventions The final field name '_wrapped' doesn't match '[a-z][a-zA-Z0-9]*' 1 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 61
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 69
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 91
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 92
ImmutableField Private field '_mapThreadByKey' could be made final; it is only initialized in the declaration or constructor. 3 93
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 93
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 93
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 93
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 94
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 94
ImmutableField Private field '_listThread' could be made final; it is only initialized in the declaration or constructor. 3 94
AssignmentInOperand Avoid assignments in operands 3 112
ConfusingTernary Avoid if (x != y) ..; else ..; 3 116–150
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 118
ConfusingTernary Avoid if (x != y) ..; else ..; 3 120–142
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 147
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 166
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 168
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 168
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 176
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 189
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 191
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 204
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 221
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 239–242
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 249–257
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 264–267

fr/paris/lutece/portal/service/dashboard/DashboardComponent.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like o 3 185
ConfusingTernary Avoid if (x != y) ..; else ..; 3 252

fr/paris/lutece/portal/service/dashboard/DashboardListenerService.java

Rule Violation Priority Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 3 51
LinguisticNaming Linguistics Antipattern - The getter 'getDashboardComponents' should not return void linguistically 3 74–80

fr/paris/lutece/portal/service/dashboard/DashboardService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=56, ATFD=45, TCC=3.268%) 3 60–530
ShortVariable Avoid variables with short names like dc 3 136
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 291
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 433
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 495

fr/paris/lutece/portal/service/dashboard/IMyDashboardComponent.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–70

fr/paris/lutece/portal/service/dashboard/IPublicDashboardComponent.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name 'user_id' doesn't match '[a-z][a-zA-Z0-9]*' 1 71

fr/paris/lutece/portal/service/dashboard/admin/AdminDashboardComponent.java

Rule Violation Priority Line
AbstractClassWithoutAnyMethod No abstract method which means that the keyword is most likely used to prevent instantiation. Use a private or protected constructor instead. 1 43–45

fr/paris/lutece/portal/service/dashboard/admin/AdminDashboardService.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like dc 3 136
CyclomaticComplexity The method 'updateDashboardComponents(IAdminDashboardComponent, List, int)' has a cyclomatic complexity of 11. 3 224–254
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 286
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 358

fr/paris/lutece/portal/service/database/AppConnectionService.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like is 3 82
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 87
LinguisticNaming Linguistics Antipattern - The getter 'getPoolList' should not return void linguistically 3 148–154

fr/paris/lutece/portal/service/database/DAOUtilTransactionManager.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 62
CallSuperInConstructor It is a good practice to call super() in a constructor 3 69–72
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 114
MissingOverride The method 'getParentLogger()' is missing an @Override annotation. 3 226–229

fr/paris/lutece/portal/service/database/LuteceTransactionManager.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 107–122

fr/paris/lutece/portal/service/datastore/CoreDataKeys.java

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

fr/paris/lutece/portal/service/datastore/DatastoreCacheService.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_prefixes' doesn't match '[a-z][a-zA-Z0-9]*' 1 47
CallSuperInConstructor It is a good practice to call super() in a constructor 3 50–54
DefaultPackage Use explicit scoping instead of the default package private level 3 74–77
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getEntityCacheKey method if you want a default access modifier 3 74–77
DefaultPackage Use explicit scoping instead of the default package private level 3 86–91
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getPrefixCacheKey method if you want a default access modifier 3 86–91
DefaultPackage Use explicit scoping instead of the default package private level 3 96–99
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the removeCachedPrefixes method if you want a default access modifier 3 96–99

fr/paris/lutece/portal/service/datastore/DatastoreService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=52, ATFD=14, TCC=19.118%) 3 51–473
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the VALUE_MISSING field if you want a default access modifier 3 57
DefaultPackage Use explicit scoping instead of the default package private level 3 57
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 102–105
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 107–110
ShortVariable Avoid variables with short names like p 3 154
ConfusingTernary Avoid if (x != y) ..; else ..; 3 157–174
ShortVariable Avoid variables with short names like sb 3 354
ShortVariable Avoid variables with short names like e 3 448
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 466

fr/paris/lutece/portal/service/datastore/DatastoreTemplateMethod.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–47

fr/paris/lutece/portal/service/editor/EditorBbcodeService.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 90
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 107
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 120–132
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 148–155
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 174–197

fr/paris/lutece/portal/service/editor/IEditorBbcodeService.java

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

fr/paris/lutece/portal/service/editor/IRichTextContentParser.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getPrefix': the method is declared in an interface type 3 48
UnnecessaryModifier Unnecessary modifier 'public' on method 'setPrefix': the method is declared in an interface type 3 56
UnnecessaryModifier Unnecessary modifier 'public' on method 'getName': the method is declared in an interface type 3 63
UnnecessaryModifier Unnecessary modifier 'public' on method 'setName': the method is declared in an interface type 3 71
UnnecessaryModifier Unnecessary modifier 'public' on method 'parseContent': the method is declared in an interface type 3 81

fr/paris/lutece/portal/service/editor/ParserBbcodeServlet.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 65–68
ConfusingTernary Avoid if (x != y) ..; else ..; 3 83

fr/paris/lutece/portal/service/editor/RichTextContentService.java

Rule Violation Priority Line
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
LocalVariableNamingConventions The local variable name '_parser' doesn't match '[a-z][a-zA-Z0-9]*' 1 63

fr/paris/lutece/portal/service/editor/RichTextParsingException.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 37–92
CommentRequired Header comments are required 3 37–92
ShortVariable Avoid variables with short names like e 3 62
ShortVariable Avoid variables with short names like e 3 77

fr/paris/lutece/portal/service/event/AbstractEventManager.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 43–73
AbstractClassWithoutAbstractMethod This abstract class does not have any abstract methods 3 43–73
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 46
ImmutableField Private field '_listeners' could be made final; it is only initialized in the declaration or constructor. 3 46

fr/paris/lutece/portal/service/event/LuteceUserEventManager.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–58
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 3 41
NonThreadSafeSingleton Singleton is not thread safe 3 49–52

fr/paris/lutece/portal/service/event/ResourceEventManager.java

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

fr/paris/lutece/portal/service/file/ExpiredLinkException.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–51

fr/paris/lutece/portal/service/file/FileService.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 44–155
ImmutableField Private field '_defaulFileStoreServiceProvider' could be made final; it is only initialized in the declaration or constructor. 3 62
NonThreadSafeSingleton Singleton is not thread safe 3 82–85

fr/paris/lutece/portal/service/file/FileServiceException.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–105
ShortVariable Avoid variables with short names like e 3 66
ShortVariable Avoid variables with short names like e 3 81

fr/paris/lutece/portal/service/file/IFileDownloadUrlService.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifiers 'static final' on field 'LINK_VALIDITY_TIME': the field is declared in an interface type 3 50

fr/paris/lutece/portal/service/file/IFileRBACService.java

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

fr/paris/lutece/portal/service/file/IFileStoreServiceProvider.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'getName': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'isDefault': the method is declared in an interface type 3 65
UnnecessaryModifier Unnecessary modifier 'public' on method 'healthCheck': the method is declared in an interface type 3 72–76

fr/paris/lutece/portal/service/file/implementation/DefaultFileDownloadService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 97
AvoidReassigningParameters Avoid reassigning parameters such as 'additionnalData' 2 120
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 124
AvoidReassigningParameters Avoid reassigning parameters such as 'additionnalData' 2 149
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 154
ShortVariable Avoid variables with short names like sb 3 211
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 212
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 213
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 214
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'FileService.PARAMETER_VALIDITY_TIME' due to existing static import 'fr.paris.lutece.portal.service.file.FileService.PARAMETER_VALIDITY_TIME' 4 300

fr/paris/lutece/portal/service/file/implementation/DefaultFileNoRBACService.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_ACCESS_DENIED_KEY'. 3 49

fr/paris/lutece/portal/service/file/implementation/LocalDatabaseFileService.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_fileRBACService' doesn't match '[a-z][a-zA-Z0-9]*' 1 83
FormalParameterNamingConventions The method parameter name '_fileDownloadUrlService' doesn't match '[a-z][a-zA-Z0-9]*' 1 83
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 228
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 229
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 266
CommentRequired Public method and constructor comments are required 3 300–303
CommentRequired Public method and constructor comments are required 3 305–308

fr/paris/lutece/portal/service/fileimage/FileImagePublicService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 50–176
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 50–176
FieldNamingConventions The constant name '_fileStoreService' doesn't match '[A-Z][A-Z_0-9]*' 1 54
CallSuperInConstructor It is a good practice to call super() in a constructor 3 59–62
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 70–73
ConfusingTernary Avoid if (x != y) ..; else ..; 3 110–132
MissingOverride The method 'addImageResource(FileItem)' is missing an @Override annotation. 3 144–155

fr/paris/lutece/portal/service/fileimage/FileImageService.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 60–170
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 78–81
MissingOverride The method 'getImageResource(int)' is missing an @Override annotation. 3 108–127
ControlStatementBraces This statement should have braces 3 111
MissingOverride The method 'getResourceTypeId()' is missing an @Override annotation. 3 134–137
MissingOverride The method 'addImageResource(FileItem)' is missing an @Override annotation. 3 158–169

fr/paris/lutece/portal/service/fileupload/FileUploadService.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 60–72
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 71

fr/paris/lutece/portal/service/filter/FilterEntry.java

Rule Violation Priority Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 48
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 48

fr/paris/lutece/portal/service/filter/FilterService.java

Rule Violation Priority Line
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 3 54
ShortVariable Avoid variables with short names like f 3 86
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 139

fr/paris/lutece/portal/service/filter/LuteceFilter.java

Rule Violation Priority Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 53
ShortVariable Avoid variables with short names like o 3 224

fr/paris/lutece/portal/service/filter/LuteceFilterChain.java

Rule Violation Priority Line
MissingOverride The method 'doFilter(ServletRequest, ServletResponse)' is missing an @Override annotation. 3 122–129

fr/paris/lutece/portal/service/filter/LuteceFilterConfig.java

Rule Violation Priority Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 3 48
ImmutableField Private field '_context' could be made final; it is only initialized in the declaration or constructor. 3 49
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 50
MissingOverride The method 'getFilterName()' is missing an @Override annotation. 3 72–75
MissingOverride The method 'getServletContext()' is missing an @Override annotation. 3 80–83
MissingOverride The method 'getInitParameter(String)' is missing an @Override annotation. 3 88–91
MissingOverride The method 'getInitParameterNames()' is missing an @Override annotation. 3 98–101

fr/paris/lutece/portal/service/filter/MainFilter.java

Rule Violation Priority Line
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 3 58–61
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 3 66–109
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 99
MissingOverride The method 'destroy()' is missing an @Override annotation. 3 114–132
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 127
DefaultPackage Use explicit scoping instead of the default package private level 3 143–146
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the matchMapping method if you want a default access modifier 3 143–146
CyclomaticComplexity The method 'matchFilterUrl(String, String)' has a cyclomatic complexity of 13. 3 159–202
NPathComplexity The method 'matchFilterUrl(String, String)' has an NPath complexity of 240 3 159–202
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the matchFilterUrl method if you want a default access modifier 3 159–202
DefaultPackage Use explicit scoping instead of the default package private level 3 159–202
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 171
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 178–182

fr/paris/lutece/portal/service/filter/PageSecurityHeaderFilter.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 69
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 69
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 3 80–83
UncommentedEmptyMethodBody Document empty method body 3 81–83
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 3 99–109
CollapsibleIfStatements These nested if statements could be combined 3 153–156
MissingOverride The method 'destroy()' is missing an @Override annotation. 3 189–192
UncommentedEmptyMethodBody Document empty method body 3 190–192

fr/paris/lutece/portal/service/filter/RestApiSecurityHeaderFilter.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 64
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 64
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 3 74–77
UncommentedEmptyMethodBody Document empty method body 3 75–77
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 3 93–101
MissingOverride The method 'destroy()' is missing an @Override annotation. 3 128–131
UncommentedEmptyMethodBody Document empty method body 3 129–131

fr/paris/lutece/portal/service/html/HtmlCleanerService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 61–66
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 75–80

fr/paris/lutece/portal/service/html/IHtmlCleaner.java

Rule Violation Priority Line
UncommentedEmptyMethodBody Document empty method body 3 58–60

fr/paris/lutece/portal/service/html/IXSSSanitizer.java

Rule Violation Priority Line
UncommentedEmptyMethodBody Document empty method body 3 55–57

fr/paris/lutece/portal/service/html/OwaspXSSSanitizer.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 6–26
CommentRequired Public method and constructor comments are required 3 17–25
MissingOverride The method 'init()' is missing an @Override annotation. 3 17–25

fr/paris/lutece/portal/service/html/XSSSanitizerService.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 65–74
NonThreadSafeSingleton Singleton is not thread safe 3 81–85
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 2 94
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 2 94
AvoidReassigningParameters Avoid reassigning parameters such as 'value' 2 94

fr/paris/lutece/portal/service/html/XmlTransformerService.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 1 59
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 164
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 198

fr/paris/lutece/portal/service/i18n/CombinedResourceBundle.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–76
FieldNamingConventions The final field name '_override' doesn't match '[a-z][a-zA-Z0-9]*' 1 42
FieldNamingConventions The final field name '_defaults' doesn't match '[a-z][a-zA-Z0-9]*' 1 43
CallSuperInConstructor It is a good practice to call super() in a constructor 3 45–49
CommentRequired Public method and constructor comments are required 3 45–49

fr/paris/lutece/portal/service/i18n/I18nService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 81
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 82
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 83
FieldNamingConventions The constant name '_overrideLoader' doesn't match '[A-Z][A-Z_0-9]*' 1 85
FieldNamingConventions The constant name '_resourceBundleCache' doesn't match '[A-Z][A-Z_0-9]*' 1 86
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 86
ConfusingTernary Avoid if (x != y) ..; else ..; 3 118–125
ShortVariable Avoid variables with short names like sb 3 156
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 205
ConfusingTernary Avoid if (x != y) ..; else ..; 3 205–235
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 207
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 248
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 254
ShortVariable Avoid variables with short names like rb 3 554

fr/paris/lutece/portal/service/i18n/I18nTemplateMethod.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–47

fr/paris/lutece/portal/service/image/ImageResource.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 51–55
ConstructorCallsOverridableMethod Overridable method 'setImage' called during object construction 1 53
ConstructorCallsOverridableMethod Overridable method 'setMimeType' called during object construction 1 54
UncommentedEmptyConstructor Document empty constructor 3 57–60
CommentRequired Public method and constructor comments are required 3 57–60
MethodReturnsInternalArray Returning '_strImage' may expose an internal array. 3 69
ArrayIsStoredDirectly The user-supplied array 'strImage' is stored directly. 3 78

fr/paris/lutece/portal/service/image/ImageResourceManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ImageResourceManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 47–123
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 50

fr/paris/lutece/portal/service/image/ImageServlet.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like sc 3 107
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 115
ShortVariable Avoid variables with short names like in 3 115
AssignmentInOperand Avoid assignments in operands 3 120
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 200

fr/paris/lutece/portal/service/includes/PageIncludeService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 51
ConfusingTernary Avoid if (x != y) ..; else ..; 3 75

fr/paris/lutece/portal/service/init/AppInfo.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'AppInfo' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 39–68
DefaultPackage Use explicit scoping instead of the default package private level 3 43–45
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LUTECE_BANNER_VERSION field if you want a default access modifier 3 43–45
DefaultPackage Use explicit scoping instead of the default package private level 3 47–50
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LUTECE_BANNER_SERVER field if you want a default access modifier 3 47–50

fr/paris/lutece/portal/service/init/AppInit.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–360
ExcessiveMethodLength Avoid really long methods. 3 125–245
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 71 characters appended. 3 227
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 228
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 230
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 313
ShortVariable Avoid variables with short names like p 3 314
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 316
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 320
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 341
ShortVariable Avoid variables with short names like fw 3 341
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 345

fr/paris/lutece/portal/service/init/LuteceInitException.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like e 3 56

fr/paris/lutece/portal/service/init/PostStartUpServiceManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'PostStartUpServiceManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 44–75
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 69

fr/paris/lutece/portal/service/init/ShutdownServiceManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ShutdownServiceManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 44–75
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 69

fr/paris/lutece/portal/service/init/StartUpServiceManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'StartUpServiceManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 47–111
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 81
ControlStatementBraces This statement should have braces 3 85
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 105

fr/paris/lutece/portal/service/insert/InsertResourceIdService.java

Rule Violation Priority Line
MissingOverride The method 'register()' is missing an @Override annotation. 3 57–70
ShortVariable Avoid variables with short names like rt 3 59
ShortVariable Avoid variables with short names like p 3 64
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 79–89
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 100–105

fr/paris/lutece/portal/service/insert/InsertService.java

Rule Violation Priority Line
MissingOverride The method 'getResourceTypeCode()' is missing an @Override annotation. 3 257–260
MissingOverride The method 'getResourceId()' is missing an @Override annotation. 3 267–270
AddEmptyString Do not add empty strings 3 269
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 278–281

fr/paris/lutece/portal/service/insert/InsertServiceManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'InsertServiceManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 47–137
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 53
ShortVariable Avoid variables with short names like is 3 71
ShortVariable Avoid variables with short names like is 3 83

fr/paris/lutece/portal/service/jpa/EntityManagerService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 50

fr/paris/lutece/portal/service/jpa/JPALuteceDAO.java

Rule Violation Priority Line
MissingOverride The method 'getEntityManagerFactory()' is missing an @Override annotation. 3 69–82

fr/paris/lutece/portal/service/jpa/JPAStartupService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 74
MissingOverride The method 'process()' is missing an @Override annotation. 3 79–159
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 84
ShortVariable Avoid variables with short names like ds 3 94
GuardLogStatement Logger calls should be surrounded by log level guards. 2 96
GuardLogStatement Logger calls should be surrounded by log level guards. 2 109
GuardLogStatement Logger calls should be surrounded by log level guards. 2 130
GuardLogStatement Logger calls should be surrounded by log level guards. 2 139
ShortVariable Avoid variables with short names like tm 3 141
GuardLogStatement Logger calls should be surrounded by log level guards. 2 144
GuardLogStatement Logger calls should be surrounded by log level guards. 2 147
MissingOverride The method 'getName()' is missing an @Override annotation. 3 166–169

fr/paris/lutece/portal/service/mail/DatabaseQueue.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 51–56
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 64–76

fr/paris/lutece/portal/service/mail/MailAttachmentCacheKeyService.java

Rule Violation Priority Line
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 60

fr/paris/lutece/portal/service/mail/MailAttachmentCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 53–56
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 71–79

fr/paris/lutece/portal/service/mail/MailItem.java

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

fr/paris/lutece/portal/service/mail/MailSenderDaemon.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 79–142
ConfusingTernary Avoid if (x != y) ..; else ..; 3 92–141
AvoidDuplicateLiterals The String literal "{} {} " appears 4 times in this file; the first occurrence is on line 122 3 122
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 124
CyclomaticComplexity The method 'sendMail(MailItem, Transport, Session, StringBuilder)' has a cyclomatic complexity of 12. 3 219–271
ConfusingTernary Avoid if (x != y) ..; else ..; 3 224
ConfusingTernary Avoid if (x != y) ..; else ..; 3 226
ConfusingTernary Avoid if (x != y) ..; else ..; 3 228

fr/paris/lutece/portal/service/mail/MailService.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 52–628
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 88
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 111–112
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 137–138
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 171–172
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 200–201
ExcessiveParameterList Avoid long parameter lists. 3 232–234
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 232–234
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 270–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 298–299
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 329–330
ExcessiveParameterList Avoid long parameter lists. 3 329–330
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 362
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 385–386
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 411–412
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 444–445
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 470–471
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 499–500
ShortVariable Avoid variables with short names like sb 3 595

fr/paris/lutece/portal/service/mail/MailUtil.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–707
GodClass Possible God Class (WMC=47, ATFD=86, TCC=16.190%) 3 82–707
ConfusingTernary Avoid if (x != y) ..; else ..; 3 154
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 181–188
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 206–216
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 234–288
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 306–340
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 358–381
ConfusingTernary Avoid if (x != y) ..; else ..; 3 397–405
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 420–429
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 452–485
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 465
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 500–538
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 530
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 549–552
ShortVariable Avoid variables with short names like st 3 587
AvoidProtectedMethodInFinalClassNotExtending Avoid protected methods in a final class that doesnt extend anything other than Object. Change to private or package access. 3 605–625
AssignmentInOperand Avoid assignments in operands 3 617
CyclomaticComplexity The method 'convertUrlAttachmentDataSourceToByteArrayDataSource(UrlAttachment)' has a cyclomatic complexity of 11. 3 634–706
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 637
ShortVariable Avoid variables with short names like bo 3 645
ShortVariable Avoid variables with short names like o 3 651

fr/paris/lutece/portal/service/mail/MemoryQueue.java

Rule Violation Priority Line
ImmutableField Private field '_listMails' could be made final; it is only initialized in the declaration or constructor. 3 46
MissingOverride The method 'send(MailItem)' is missing an @Override annotation. 3 54–60
MissingOverride The method 'consume()' is missing an @Override annotation. 3 67–81
MissingOverride The method 'size()' is missing an @Override annotation. 3 88–91

fr/paris/lutece/portal/service/mailinglist/AdminMailingListService.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 186–193

fr/paris/lutece/portal/service/message/AdminMessage.java

Rule Violation Priority Line
ArrayIsStoredDirectly The user-supplied array 'messageArgs' is stored directly. 3 166
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 166–167

fr/paris/lutece/portal/service/message/AdminMessageService.java

Rule Violation Priority Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 243–244
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 270–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 334–335
ConfusingTernary Avoid if (x != y) ..; else ..; 3 337
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 481
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 502
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 524
UnusedLocalVariable Avoid unused local variables such as 'session'. 3 543
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 543

fr/paris/lutece/portal/service/message/CustomSiteMessage.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 38–63
ImmutableField Private field '_strText' could be made final; it is only initialized in the declaration or constructor. 3 42
ImmutableField Private field '_strTitle' could be made final; it is only initialized in the declaration or constructor. 3 43
CommentRequired Public method and constructor comments are required 3 45–50

fr/paris/lutece/portal/service/message/SiteMessage.java

Rule Violation Priority Line
ImmutableField Private field '_strTextKey' could be made final; it is only initialized in the declaration or constructor. 3 62
ImmutableField Private field '_strTitleKey' could be made final; it is only initialized in the declaration or constructor. 3 63
ImmutableField Private field '_strUrl' could be made final; it is only initialized in the declaration or constructor. 3 64
ImmutableField Private field '_strTarget' could be made final; it is only initialized in the declaration or constructor. 3 65
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 3 67
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 111
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 122

fr/paris/lutece/portal/service/message/SiteMessageHandler.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 91
ConfusingTernary Avoid if (x != y) ..; else ..; 3 157
ConfusingTernary Avoid if (x != y) ..; else ..; 3 164

fr/paris/lutece/portal/service/message/SiteMessageService.java

Rule Violation Priority Line
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 242
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 267–268
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 295–296
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 325–326
ConfusingTernary Avoid if (x != y) ..; else ..; 3 328
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 353
ConfusingTernary Avoid if (x != y) ..; else ..; 3 356
LinguisticNaming Linguistics Antipattern - The setter 'setSiteMessageUrl' should not return any type except void linguistically 3 444–450
ConfusingTernary Avoid if (x != y) ..; else ..; 3 516–535

fr/paris/lutece/portal/service/page/PageCacheService.java

Rule Violation Priority Line
MissingOverride The method 'getName()' is missing an @Override annotation. 3 56–59
DefaultPackage Use explicit scoping instead of the default package private level 3 68–78
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the getKey method if you want a default access modifier 3 68–78
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 144–147
CloneThrowsCloneNotSupportedException clone() method should throw CloneNotSupportedException 3 144–147

fr/paris/lutece/portal/service/page/PageContentService.java

Rule Violation Priority Line
ImmutableField Private field '_pageService' could be made final; it is only initialized in the declaration or constructor. 3 53
MissingOverride The method 'isInvoked(HttpServletRequest)' is missing an @Override annotation. 3 67–71
MissingOverride The method 'getName()' is missing an @Override annotation. 3 76–79

fr/paris/lutece/portal/service/page/PageEvent.java

Rule Violation Priority Line
ImmutableField Private field '_page' could be made final; it is only initialized in the declaration or constructor. 3 50
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 3 51

fr/paris/lutece/portal/service/page/PageResourceIdService.java

Rule Violation Priority Line
MissingOverride The method 'register()' is missing an @Override annotation. 3 60–78
ShortVariable Avoid variables with short names like rt 3 62
ShortVariable Avoid variables with short names like p 3 67
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 87–90
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 101–106

fr/paris/lutece/portal/service/page/PageService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1157
UnusedImports Avoid unused imports such as 'org.apache.commons.fileupload.FileItem' 4 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppException' 4 82
GodClass Possible God Class (WMC=86, ATFD=104, TCC=6.907%) 3 97–1157
ExcessiveClassLength Avoid really long classes. 3 97–1157
CyclomaticComplexity The class 'PageService' has a total cyclomatic complexity of 86 (highest 19). 3 97–1157
TooManyMethods This class has too many methods, consider refactoring it. 3 98–1157
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 263
AvoidReassigningParameters Avoid reassigning parameters such as 'strPage' 2 267
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 361
CyclomaticComplexity The method 'buildPageContent(String, int, HttpServletRequest)' has a cyclomatic complexity of 11. 3 401–492
NPathComplexity The method 'getPageContent(int, int, HttpServletRequest)' has an NPath complexity of 360 3 508–573
CyclomaticComplexity The method 'getPageContent(int, int, HttpServletRequest)' has a cyclomatic complexity of 12. 3 508–573
ConfusingTernary Avoid if (x != y) ..; else ..; 3 534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 555
ShortVariable Avoid variables with short names like t 3 570
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 588
CyclomaticComplexity The method 'getPortletContent(HttpServletRequest, Portlet, Map, int)' has a cyclomatic complexity of 19. 3 612–710
NPathComplexity The method 'getPortletContent(HttpServletRequest, Portlet, Map, int)' has an NPath complexity of 4608 3 612–710
ConfusingTernary Avoid if (x != y) ..; else ..; 3 643
ConfusingTernary Avoid if (x != y) ..; else ..; 3 650–660
UselessStringValueOf No need to call String.valueOf to append to a string. 3 676
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 679
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 696
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 706
SimplifiedTernary Ternary operators that can be simplified with || or && 3 720
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1006
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1032
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1052–1066
ConfusingTernary Avoid if (x != y) ..; else ..; 3 1059

fr/paris/lutece/portal/service/page/PortletCacheService.java

Rule Violation Priority Line
MissingOverride The method 'getName()' is missing an @Override annotation. 3 55–58
MissingOverride The method 'processPortletEvent(PortletEvent)' is missing an @Override annotation. 3 63–74

fr/paris/lutece/portal/service/panel/LutecePanelService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 94–108
ShortVariable Avoid variables with short names like p1 3 153
ShortVariable Avoid variables with short names like p2 3 153

fr/paris/lutece/portal/service/plugin/Plugin.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–1370
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1370
TooManyFields Too many fields 3 84–1370
GodClass Possible God Class (WMC=130, ATFD=76, TCC=3.918%) 3 84–1370
CyclomaticComplexity The class 'Plugin' has a total cyclomatic complexity of 130 (highest 7). 3 84–1370
ExcessiveClassLength Avoid really long classes. 3 84–1370
TooManyMethods This class has too many methods, consider refactoring it. 3 85–1370
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 139
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the load method if you want a default access modifier 3 156–216
DefaultPackage Use explicit scoping instead of the default package private level 3 156–216
ConfusingTernary Avoid if (x != y) ..; else ..; 3 191
ConfusingTernary Avoid if (x != y) ..; else ..; 3 193
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 212
ShortVariable Avoid variables with short names like cs 3 438
ShortVariable Avoid variables with short names like o 3 1109
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 1163–1166
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 1368

fr/paris/lutece/portal/service/plugin/PluginDefaultImplementation.java

Rule Violation Priority Line
MissingOverride The method 'init()' is missing an @Override annotation. 3 45–48

fr/paris/lutece/portal/service/plugin/PluginEvent.java

Rule Violation Priority Line
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 3 46
ImmutableField Private field '_nType' could be made final; it is only initialized in the declaration or constructor. 3 47

fr/paris/lutece/portal/service/plugin/PluginFile.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–1075
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1075
CyclomaticComplexity The class 'PluginFile' has a total cyclomatic complexity of 81 (highest 3). 3 74–1075
TooManyFields Too many fields 3 74–1075
GodClass Possible God Class (WMC=81, ATFD=8, TCC=1.499%) 3 74–1075
ExcessiveClassLength Avoid really long classes. 3 74–1075
TooManyMethods This class has too many methods, consider refactoring it. 3 75–1075
ImmutableField Private field '_listCssStyleSheets' could be made final; it is only initialized in the declaration or constructor. 3 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 92
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 93
ImmutableField Private field '_listJavascriptFiles' could be made final; it is only initialized in the declaration or constructor. 3 93
ImmutableField Private field '_listAdminCssStyleSheets' could be made final; it is only initialized in the declaration or constructor. 3 94
ImmutableField Private field '_listAdminJavascriptFiles' could be made final; it is only initialized in the declaration or constructor. 3 95
ImmutableField Private field '_listFreemarkerAutoIncludes' could be made final; it is only initialized in the declaration or constructor. 3 96
ImmutableField Private field '_mapFreemarkerAutoImports' could be made final; it is only initialized in the declaration or constructor. 3 97
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 97
ImmutableField Private field '_listRights' could be made final; it is only initialized in the declaration or constructor. 3 98
ImmutableField Private field '_listPortletTypes' could be made final; it is only initialized in the declaration or constructor. 3 99
ImmutableField Private field '_listDaemons' could be made final; it is only initialized in the declaration or constructor. 3 100
ImmutableField Private field '_listApplications' could be made final; it is only initialized in the declaration or constructor. 3 101
ImmutableField Private field '_listFilters' could be made final; it is only initialized in the declaration or constructor. 3 102
ImmutableField Private field '_listServlets' could be made final; it is only initialized in the declaration or constructor. 3 103
ImmutableField Private field '_listListeners' could be made final; it is only initialized in the declaration or constructor. 3 104
ImmutableField Private field '_listContentServices' could be made final; it is only initialized in the declaration or constructor. 3 105
ImmutableField Private field '_listSearchIndexers' could be made final; it is only initialized in the declaration or constructor. 3 106
ImmutableField Private field '_listInsertServices' could be made final; it is only initialized in the declaration or constructor. 3 107
ImmutableField Private field '_listRBACResourceTypes' could be made final; it is only initialized in the declaration or constructor. 3 108
ImmutableField Private field '_listPageIncludes' could be made final; it is only initialized in the declaration or constructor. 3 109
ImmutableField Private field '_listDashboardComponents' could be made final; it is only initialized in the declaration or constructor. 3 110
ImmutableField Private field '_listAdminDashboardComponents' could be made final; it is only initialized in the declaration or constructor. 3 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 112
ImmutableField Private field '_mapParams' could be made final; it is only initialized in the declaration or constructor. 3 112
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 152
ShortVariable Avoid variables with short names like is 3 800

fr/paris/lutece/portal/service/plugin/PluginService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 72
ConfusingTernary Avoid if (x != y) ..; else ..; 3 173–214
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 206
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 237–240
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 308

fr/paris/lutece/portal/service/portal/PortalMenuService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 78–82
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 89–97
MissingOverride The method 'getName()' is missing an @Override annotation. 3 104–107
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 185
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 16, but has at least 19 characters appended. 3 297

fr/paris/lutece/portal/service/portal/PortalService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–784
GodClass Possible God Class (WMC=63, ATFD=111, TCC=5.238%) 3 82–784
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 129
ShortVariable Avoid variables with short names like cs 3 167
NPathComplexity The method 'buildPageContent(int, PageData, int, HttpServletRequest)' has an NPath complexity of 2304 3 266–356
CyclomaticComplexity The method 'buildPageContent(int, PageData, int, HttpServletRequest)' has a cyclomatic complexity of 13. 3 266–356
ConfusingTernary Avoid if (x != y) ..; else ..; 3 321
ConfusingTernary Avoid if (x != y) ..; else ..; 3 344
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 408
CyclomaticComplexity The method 'getXPagePathContent(String, int, HttpServletRequest)' has a cyclomatic complexity of 10. 3 428–504
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 493
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 710
ConfusingTernary Avoid if (x != y) ..; else ..; 3 733–741

fr/paris/lutece/portal/service/portal/ThemesService.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 313
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 326

fr/paris/lutece/portal/service/portlet/PortletResourceIdService.java

Rule Violation Priority Line
MissingOverride The method 'register()' is missing an @Override annotation. 3 61–79
ShortVariable Avoid variables with short names like rt 3 63
ShortVariable Avoid variables with short names like p 3 68
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 88–91
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 102–108

fr/paris/lutece/portal/service/portlet/PortletService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 68–76

fr/paris/lutece/portal/service/prefs/AdminUserPreferencesService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 56–64

fr/paris/lutece/portal/service/prefs/BaseUserPreferencesServiceImpl.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 57–59

fr/paris/lutece/portal/service/prefs/PrefsConstants.java

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

fr/paris/lutece/portal/service/prefs/UserPreferencesService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 56–64

fr/paris/lutece/portal/service/progressmanager/ProgressManagerService.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.util.Arrays' 4 43
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 71–79
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 88
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 142–148
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 156–162
ConfusingTernary Avoid if (x != y) ..; else ..; 3 290–298

fr/paris/lutece/portal/service/rbac/Permission.java

Rule Violation Priority Line
MissingOverride The method 'setLocale(Locale)' is missing an @Override annotation. 3 56–59

fr/paris/lutece/portal/service/rbac/RBACService.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_strResourceType' doesn't match '[a-z][a-zA-Z0-9]*' 1 63
FieldNamingConventions The final field name '_item' doesn't match '[a-z][a-zA-Z0-9]*' 1 64
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 252

fr/paris/lutece/portal/service/rbac/ResourceType.java

Rule Violation Priority Line
ImmutableField Private field '_mapPermissions' 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 72–75

fr/paris/lutece/portal/service/rbac/ResourceTypeManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ResourceTypeManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 48–148
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 51
ShortVariable Avoid variables with short names like rt 3 69

fr/paris/lutece/portal/service/regularexpression/RegularExpressionService.java

Rule Violation Priority Line
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 3 54
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 78–85
DefaultPackage Use explicit scoping instead of the default package private level 3 103–106
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isPatternValide method if you want a default access modifier 3 103–106
DefaultPackage Use explicit scoping instead of the default package private level 3 115–118
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isPatternValide method if you want a default access modifier 3 115–118

fr/paris/lutece/portal/service/resource/ExtendableResourceActionHit.java

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

fr/paris/lutece/portal/service/resource/ExtendableResourceRemovalListenerService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 57–60

fr/paris/lutece/portal/service/resource/ResourceService.java

Rule Violation Priority Line
ImmutableField Private field '_listLoaders' could be made final; it is only initialized in the declaration or constructor. 3 59
CallSuperInConstructor It is a good practice to call super() in a constructor 3 64–76
ConfusingTernary Avoid if (x != y) ..; else ..; 3 68–75
ConstructorCallsOverridableMethod Overridable method 'initLoaders' called during object construction 1 70
ShortVariable Avoid variables with short names like st 3 95
MissingOverride The method 'getName()' is missing an @Override annotation. 3 120–123
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 146
ShortVariable Avoid variables with short names like i 3 214
ShortVariable Avoid variables with short names like i 3 233
ShortVariable Avoid variables with short names like j 3 239

fr/paris/lutece/portal/service/scheduler/JobSchedulerService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 67–75

fr/paris/lutece/portal/service/search/IndexationService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–668
GodClass Possible God Class (WMC=59, ATFD=82, TCC=18.182%) 3 74–668
TooManyMethods This class has too many methods, consider refactoring it. 3 75–668
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 3 88
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 133
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 182–261
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 186
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 229
AvoidDuplicateLiterals The String literal "</strong>\r\n" appears 4 times in this file; the first occurrence is on line 281 3 281
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 287
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 322
ConfusingTernary Avoid if (x != y) ..; else ..; 3 373–383
ConfusingTernary Avoid if (x != y) ..; else ..; 3 410–418
ShortVariable Avoid variables with short names like e 3 469
ShortVariable Avoid variables with short names like e 3 485
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 488
ShortVariable Avoid variables with short names like e 3 502
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 504
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 507
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 514
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 522
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 528

fr/paris/lutece/portal/service/search/LuceneSearchEngine.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–327
UseUnderscoresInNumericLiterals Number 1000000 should separate every third digit with an underscore 3 78
MissingOverride The method 'getSearchResults(String, HttpServletRequest)' is missing an @Override annotation. 3 95–148
ConfusingTernary Avoid if (x != y) ..; else ..; 3 106–128
ConfusingTernary Avoid if (x != y) ..; else ..; 3 110–123
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 177
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 182–186
CyclomaticComplexity The method 'search(String, String, Query, HttpServletRequest, boolean)' has a cyclomatic complexity of 11. 3 221–291
ShortVariable Avoid variables with short names like ir 3 224
ConfusingTernary Avoid if (x != y) ..; else ..; 3 234
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 273–284
ShortVariable Avoid variables with short names like si 3 277
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 286

fr/paris/lutece/portal/service/search/PageIndexer.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 106
ExcessiveMethodLength Avoid really long methods. 3 196–299
ShortVariable Avoid variables with short names like ft 3 198
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 238
ShortVariable Avoid variables with short names like sb 3 243
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 249
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 254
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 262
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 272

fr/paris/lutece/portal/service/search/QueryListenersService.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 92

fr/paris/lutece/portal/service/search/SearchItem.java

Rule Violation Priority Line
ImmutableField Private field '_strMetadata' could be made final; it is only initialized in the declaration or constructor. 3 59
ConfusingTernary Avoid if (x != y) ..; else ..; 3 156
ConfusingTernary Avoid if (x != y) ..; else ..; 3 177
ConfusingTernary Avoid if (x != y) ..; else ..; 3 219

fr/paris/lutece/portal/service/search/SearchResourceIdService.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like rt 3 59
ShortVariable Avoid variables with short names like p 3 64

fr/paris/lutece/portal/service/search/SearchService.java

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

fr/paris/lutece/portal/service/security/AccessLogService.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_accessLoggerList' doesn't match '[a-z][a-zA-Z0-9]*' 1 67

fr/paris/lutece/portal/service/security/AccessLoggerConstants.java

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

fr/paris/lutece/portal/service/security/FailedLoginCaptchaException.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_bEnableCaptcha' doesn't match '[a-z][a-zA-Z0-9]*' 1 44

fr/paris/lutece/portal/service/security/IAccessLogger.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'info': the method is declared in an interface type 3 58
UnnecessaryModifier Unnecessary modifier 'public' on method 'info': the method is declared in an interface type 3 72–75
UnnecessaryModifier Unnecessary modifier 'public' on method 'debug': the method is declared in an interface type 3 91
UnnecessaryModifier Unnecessary modifier 'public' on method 'debug': the method is declared in an interface type 3 105–108
UnnecessaryModifier Unnecessary modifier 'public' on method 'trace': the method is declared in an interface type 3 124
UnnecessaryModifier Unnecessary modifier 'public' on method 'trace': the method is declared in an interface type 3 138–141
UnnecessaryModifier Unnecessary modifier 'public' on method 'warn': the method is declared in an interface type 3 157
UnnecessaryModifier Unnecessary modifier 'public' on method 'warn': the method is declared in an interface type 3 171–174

fr/paris/lutece/portal/service/security/LoginRedirectException.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_strRedirectUrl' doesn't match '[a-z][a-zA-Z0-9]*' 1 42

fr/paris/lutece/portal/service/security/LuteceUser.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 141
ImmutableField Private field '_mapUserInfo' could be made final; it is only initialized in the declaration or constructor. 3 141
ImmutableField Private field '_workgroups' could be made final; it is only initialized in the declaration or constructor. 3 161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 161
MethodReturnsInternalArray Returning '_roles' may expose an internal array. 3 286
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 295
MethodReturnsInternalArray Returning '_groups' may expose an internal array. 3 332
ShortVariable Avoid variables with short names like j 3 370
ShortVariable Avoid variables with short names like j 3 401
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 481–484
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 492–495

fr/paris/lutece/portal/service/security/LuteceUserCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 49–52
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 59–66

fr/paris/lutece/portal/service/security/RsaService.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'final' on method 'encryptRsa': the method is already in a final class 3 64–67
UnnecessaryModifier Unnecessary modifier 'final' on method 'encryptRsa': the method is already in a final class 3 76–81
UnnecessaryModifier Unnecessary modifier 'final' on method 'decryptRsa': the method is already in a final class 3 91–94
UnnecessaryModifier Unnecessary modifier 'final' on method 'decryptRsa': the method is already in a final class 3 103–109

fr/paris/lutece/portal/service/security/SecurityModel.java

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

fr/paris/lutece/portal/service/security/SecurityService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 94–114
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 100
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 112
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 198
ConfusingTernary Avoid if (x != y) ..; else ..; 3 389
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 501
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the isUsersListAvailable method if you want a default access modifier 3 568–571
DefaultPackage Use explicit scoping instead of the default package private level 3 568–571

fr/paris/lutece/portal/service/security/SecurityTokenService.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 52–141
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 72–80

fr/paris/lutece/portal/service/security/impl/DefaultAccessLogger.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_bAddHashToLogs' doesn't match '[a-z][a-zA-Z0-9]*' 1 82
FieldNamingConventions The final field name '_messageFormat' doesn't match '[a-z][a-zA-Z0-9]*' 1 83
FieldNamingConventions The final field name '_messageFormatSeparator' doesn't match '[a-z][a-zA-Z0-9]*' 1 84
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 88
AvoidDuplicateLiterals The String literal "null" appears 4 times in this file; the first occurrence is on line 101 3 101
ConfusingTernary Avoid if (x != y) ..; else ..; 3 101
ConfusingTernary Avoid if (x != y) ..; else ..; 3 119
ConfusingTernary Avoid if (x != y) ..; else ..; 3 137
ConfusingTernary Avoid if (x != y) ..; else ..; 3 155
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 171
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 202–203
ShortVariable Avoid variables with short names like md 3 232
ShortVariable Avoid variables with short names like sb 3 236

fr/paris/lutece/portal/service/securityheader/SecurityHeaderService.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 59–343
ImmutableField Private field '_mapSecurityHeaders' could be made final; it is only initialized in the declaration or constructor. 3 64
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 64
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 64
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 66
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _mapActiveSecurityHeadersForFilters field if you want a default access modifier 3 66
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 66
DefaultPackage Use explicit scoping instead of the default package private level 3 66
RedundantFieldInitializer Avoid using redundant field initializer for '_bMapRefreshDone' 3 70
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 72
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 72
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 88
CollapsibleIfStatements These nested if statements could be combined 3 94–97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 327
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 328
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 335

fr/paris/lutece/portal/service/servlet/LuteceServlet.java

Rule Violation Priority Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 3 47
ImmutableField Private field '_servlet' could be made final; it is only initialized in the declaration or constructor. 3 48
ImmutableField Private field '_strMapping' could be made final; it is only initialized in the declaration or constructor. 3 49
ImmutableField Private field '_plugin' could be made final; it is only initialized in the declaration or constructor. 3 50
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 51

fr/paris/lutece/portal/service/servlet/LuteceServletConfig.java

Rule Violation Priority Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 3 48
ImmutableField Private field '_context' could be made final; it is only initialized in the declaration or constructor. 3 49
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 50
MissingOverride The method 'getServletName()' is missing an @Override annotation. 3 72–75
MissingOverride The method 'getServletContext()' is missing an @Override annotation. 3 80–83
MissingOverride The method 'getInitParameter(String)' is missing an @Override annotation. 3 88–91
MissingOverride The method 'getInitParameterNames()' is missing an @Override annotation. 3 98–101

fr/paris/lutece/portal/service/servlet/MainServlet.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 87
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 111

fr/paris/lutece/portal/service/servlet/ServletEntry.java

Rule Violation Priority Line
ImmutableField Private field '_mapInitParameters' could be made final; it is only initialized in the declaration or constructor. 3 49
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 49

fr/paris/lutece/portal/service/servlet/ServletService.java

Rule Violation Priority Line
ImmutableField Private field '_listServlets' could be made final; it is only initialized in the declaration or constructor. 3 53
ShortVariable Avoid variables with short names like s 3 85
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 137

fr/paris/lutece/portal/service/sessionlistener/MainHttpSessionListener.java

Rule Violation Priority Line
MissingOverride The method 'sessionCreated(HttpSessionEvent)' is missing an @Override annotation. 3 49–55
ShortVariable Avoid variables with short names like se 3 49
ShortVariable Avoid variables with short names like se 3 60
MissingOverride The method 'sessionDestroyed(HttpSessionEvent)' is missing an @Override annotation. 3 60–66

fr/paris/lutece/portal/service/spring/SpringContextService.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 75
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 208
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 270
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the ContextFileFilter nested class if you want a default access modifier 3 392–408

fr/paris/lutece/portal/service/template/AbstractMessageFormatTemplateMethod.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 50–101
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 57
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 65
CommentRequired Protected method constructor comments are required 3 100

fr/paris/lutece/portal/service/template/AppTemplateService.java

Rule Violation Priority Line
NonThreadSafeSingleton Singleton is not thread safe 3 322–326

fr/paris/lutece/portal/service/template/CommonsService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=50, ATFD=33, TCC=3.297%) 3 50–377
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 50–377
UnusedLocalVariable Avoid unused local variables such as 'mapAutoImports'. 3 157
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 277
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 302
ShortVariable Avoid variables with short names like ci 3 321
ShortVariable Avoid variables with short names like ci 3 328
ShortVariable Avoid variables with short names like ci 3 349
ShortVariable Avoid variables with short names like ci 3 356

fr/paris/lutece/portal/service/template/FreeMarkerTemplateService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 64–74

fr/paris/lutece/portal/service/user/AdminUserResourceIdService.java

Rule Violation Priority Line
MissingOverride The method 'register()' is missing an @Override annotation. 3 59–77
ShortVariable Avoid variables with short names like rt 3 61
ShortVariable Avoid variables with short names like p 3 66
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 86–89
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 100–103

fr/paris/lutece/portal/service/user/attribute/AdminUserFieldListenerService.java

Rule Violation Priority Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 3 54

fr/paris/lutece/portal/service/user/attribute/AdminUserFieldService.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 1 73
CyclomaticComplexity The method 'checkUserFields(HttpServletRequest, Locale)' has a cyclomatic complexity of 10. 3 91–121
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 174
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 282

fr/paris/lutece/portal/service/user/attribute/AttributeFieldService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 60–68

fr/paris/lutece/portal/service/user/attribute/AttributeService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 65–73

fr/paris/lutece/portal/service/user/attribute/AttributeTypeService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 78–93

fr/paris/lutece/portal/service/user/menu/AdminUserMenuItemProviderRegistrar.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_service' doesn't match '[a-z][a-zA-Z0-9]*' 1 55

fr/paris/lutece/portal/service/user/menu/AdminUserMenuService.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_itemProviders' doesn't match '[a-z][a-zA-Z0-9]*' 1 57
ConfusingTernary Avoid if (x != y) ..; else ..; 3 73–95
ConfusingTernary Avoid if (x != y) ..; else ..; 3 78–95

fr/paris/lutece/portal/service/util/AppException.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like t 3 69
ShortVariable Avoid variables with short names like e 3 83
CallSuperInConstructor It is a good practice to call super() in a constructor 3 91–94
ShortVariable Avoid variables with short names like t 3 108
ShortVariable Avoid variables with short names like sb 3 123

fr/paris/lutece/portal/service/util/AppLogService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 53
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 54
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 55
ShortVariable Avoid variables with short names like t 3 150

fr/paris/lutece/portal/service/util/AppPathService.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=68, ATFD=40, TCC=5.846%) 3 62–640
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 187
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 194
NPathComplexity The method 'getBaseUrl(HttpServletRequest)' has an NPath complexity of 240 3 218–273
CyclomaticComplexity The method 'getBaseUrl(HttpServletRequest)' has a cyclomatic complexity of 12. 3 218–273
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 239–242
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 261
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 269
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 303
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 328
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 352

fr/paris/lutece/portal/service/util/AppPropertiesService.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.util.ArrayList' 4 36
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 78
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 223
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 223

fr/paris/lutece/portal/service/util/CryptoService.java

Rule Violation Priority Line
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the PROPERTY_CRYPTO_KEY field if you want a default access modifier 3 59
DefaultPackage Use explicit scoping instead of the default package private level 3 59
DefaultPackage Use explicit scoping instead of the default package private level 3 60
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the DSKEY_CRYPTO_KEY field if you want a default access modifier 3 60
ShortVariable Avoid variables with short names like md 3 81
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 224–234
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 226
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 229

fr/paris/lutece/portal/service/util/LoggerInfo.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'org.apache.logging.log4j.Level' 4 36

fr/paris/lutece/portal/service/util/NoDatabaseException.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 41–53

fr/paris/lutece/portal/service/util/RemovalListener.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like id 3 50
ShortVariable Avoid variables with short names like id 3 61

fr/paris/lutece/portal/service/util/RemovalListenerService.java

Rule Violation Priority Line
ImmutableField Private field '_listRegisteredListeners' could be made final; it is only initialized in the declaration or constructor. 3 45

fr/paris/lutece/portal/service/workflow/WorkflowService.java

Rule Violation Priority Line
ExcessiveClassLength Avoid really long classes. 3 67–1069
GodClass Possible God Class (WMC=68, ATFD=37, TCC=24.878%) 3 67–1069
TooManyMethods This class has too many methods, consider refactoring it. 3 68–1069
ImmutableField Private field '_bServiceAvailable' could be made final; it is only initialized in the declaration or constructor. 3 72
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 98–105
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 294
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 535
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 564
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 836
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 894
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 1047

fr/paris/lutece/portal/service/xsl/XslExportResourceIdService.java

Rule Violation Priority Line
MissingOverride The method 'register()' is missing an @Override annotation. 3 62–85
ShortVariable Avoid variables with short names like rt 3 64
ShortVariable Avoid variables with short names like p 3 69
MissingOverride The method 'getResourceIdList(Locale)' is missing an @Override annotation. 3 94–97
MissingOverride The method 'getTitle(String, Locale)' is missing an @Override annotation. 3 108–124
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 116
ConfusingTernary Avoid if (x != y) ..; else ..; 3 123

fr/paris/lutece/portal/util/mvc/admin/MVCAdminJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–583
TooManyMethods This class has too many methods, consider refactoring it. 3 76–583
UnusedPrivateField Avoid unused private fields such as 'PROPERTY_SITE_CODE'. 3 85
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 88
ImmutableField Private field '_listErrors' could be made final; it is only initialized in the declaration or constructor. 3 89
ImmutableField Private field '_listInfos' could be made final; it is only initialized in the declaration or constructor. 3 90
ImmutableField Private field '_listWarnings' could be made final; it is only initialized in the declaration or constructor. 3 91
ImmutableField Private field '_controller' could be made final; it is only initialized in the declaration or constructor. 3 92
ShortVariable Avoid variables with short names like m 3 116
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 260
ShortVariable Avoid variables with short names like os 3 569

fr/paris/lutece/portal/util/mvc/utils/MVCMessage.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 52–54

fr/paris/lutece/portal/util/mvc/utils/MVCMessageBox.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 274
ConfusingTernary Avoid if (x != y) ..; else ..; 3 275
ConfusingTernary Avoid if (x != y) ..; else ..; 3 276
ConfusingTernary Avoid if (x != y) ..; else ..; 3 277

fr/paris/lutece/portal/util/mvc/utils/MVCUtils.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 59
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 143
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 174
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 203

fr/paris/lutece/portal/util/mvc/xpage/MVCApplication.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–931
GodClass Possible God Class (WMC=70, ATFD=70, TCC=3.949%) 3 86–931
TooManyMethods This class has too many methods, consider refactoring it. 3 87–931
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 104
ImmutableField Private field '_listErrors' could be made final; it is only initialized in the declaration or constructor. 3 105
ImmutableField Private field '_listInfos' could be made final; it is only initialized in the declaration or constructor. 3 106
ImmutableField Private field '_listWarnings' could be made final; it is only initialized in the declaration or constructor. 3 107
ImmutableField Private field '_controller' could be made final; it is only initialized in the declaration or constructor. 3 109
CyclomaticComplexity The method 'processController(HttpServletRequest)' has a cyclomatic complexity of 14. 3 146–209
ShortVariable Avoid variables with short names like m 3 160
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 200
ConfusingTernary Avoid if (x != y) ..; else ..; 3 230–238
ConfusingTernary Avoid if (x != y) ..; else ..; 3 252–260
ShortVariable Avoid variables with short names like t 3 294
ShortVariable Avoid variables with short names like t 3 330
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 345
ShortVariable Avoid variables with short names like os 3 781

fr/paris/lutece/portal/web/LocalVariables.java

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

fr/paris/lutece/portal/web/PortalJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–618
GodClass Possible God Class (WMC=48, ATFD=95, TCC=3.922%) 3 86–618
CyclomaticComplexity The method 'getContent(HttpServletRequest, int)' has a cyclomatic complexity of 10. 3 162–213
EmptyCatchBlock Avoid empty catch blocks 3 195–199
ShortVariable Avoid variables with short names like cs 3 203
ConfusingTernary Avoid if (x != y) ..; else ..; 3 205
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 240
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 373
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 409
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 556
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 563
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 594–595

fr/paris/lutece/portal/web/SiteDashboardComponent.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 85
ShortVariable Avoid variables with short names like t 3 100

fr/paris/lutece/portal/web/admin/AdminFeaturesPageJspBean.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 164
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 240
ConfusingTernary Avoid if (x != y) ..; else ..; 3 245

fr/paris/lutece/portal/web/admin/AdminMapJspBean.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 110
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 115
ConfusingTernary Avoid if (x != y) ..; else ..; 3 120
ShortVariable Avoid variables with short names like t 3 126
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 204

fr/paris/lutece/portal/web/admin/AdminMenuJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–632
GodClass Possible God Class (WMC=57, ATFD=117, TCC=7.500%) 3 88–632
ImmutableField Private field '_bAdminAvatar' could be made final; it is only initialized in the declaration or constructor. 3 144
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 145
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 156
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 197
ConfusingTernary Avoid if (x != y) ..; else ..; 3 201
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 224
ConfusingTernary Avoid if (x != y) ..; else ..; 3 401–414
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 430
CyclomaticComplexity The method 'doModifyDefaultAdminUserPassword(HttpServletRequest)' has a cyclomatic complexity of 10. 3 447–504
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 457
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 552–566
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 560
CommentRequired Public method and constructor comments are required 3 568–571
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 579–606
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 594
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 620
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 626

fr/paris/lutece/portal/web/admin/AdminMessageJspBean.java

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

fr/paris/lutece/portal/web/admin/AdminPageJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–907
GodClass Possible God Class (WMC=79, ATFD=183, TCC=10.526%) 3 90–907
ShortVariable Avoid variables with short names like cs 3 198
ConfusingTernary Avoid if (x != y) ..; else ..; 3 203–210
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 291
ConfusingTernary Avoid if (x != y) ..; else ..; 3 312–320
LinguisticNaming Linguistics Antipattern - The setter 'setParentPageId' should not return any type except void linguistically 3 336–350
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 372
ConfusingTernary Avoid if (x != y) ..; else ..; 3 459–467
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 518
ConfusingTernary Avoid if (x != y) ..; else ..; 3 529
CyclomaticComplexity The method 'getPageData(HttpServletRequest, Page)' has a cyclomatic complexity of 12. 3 666–769
ExcessiveMethodLength Avoid really long methods. 3 666–769
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 668
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 671
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 672
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 673
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 675
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 676
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 677
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 678
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 679
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 680
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 684
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 708
ConfusingTernary Avoid if (x != y) ..; else ..; 3 755
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 816
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 857
ConfusingTernary Avoid if (x != y) ..; else ..; 3 879–888
ConfusingTernary Avoid if (x != y) ..; else ..; 3 891–899

fr/paris/lutece/portal/web/admin/AdminPagePortletJspBean.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'JSP_DO_MODIFY_POSITION'. 3 79
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 161
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 161
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 178
CyclomaticComplexity The method 'doRemovePortlet(HttpServletRequest)' has a cyclomatic complexity of 10. 3 216–257
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 229
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 229
CyclomaticComplexity The method 'getModifyPortletStatus(HttpServletRequest)' has a cyclomatic complexity of 10. 3 268–313
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 282
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 282
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 307
NPathComplexity The method 'doModifyPortletStatus(HttpServletRequest)' has an NPath complexity of 216 3 324–368
CyclomaticComplexity The method 'doModifyPortletStatus(HttpServletRequest)' has a cyclomatic complexity of 12. 3 324–368
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 342
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 342
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 390
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 391
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 397
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 397

fr/paris/lutece/portal/web/constants/Markers.java

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

fr/paris/lutece/portal/web/constants/Messages.java

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

fr/paris/lutece/portal/web/constants/Parameters.java

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

fr/paris/lutece/portal/web/dashboard/AdminDashboardJspBean.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 137
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 287

fr/paris/lutece/portal/web/dashboard/AdminHomePageManagementComponent.java

Rule Violation Priority Line
ImmutableField Private field '_service' could be made final; it is only initialized in the declaration or constructor. 3 67
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 75

fr/paris/lutece/portal/web/dashboard/DashboardJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 57–190

fr/paris/lutece/portal/web/documentation/AdminDocumentationJspBean.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 156
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 167
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 201
CyclomaticComplexity The method 'getFeatureGroupsList(AdminUser)' has a cyclomatic complexity of 16. 3 218–307
ConfusingTernary Avoid if (x != y) ..; else ..; 3 261–304

fr/paris/lutece/portal/web/download/AbstractDownloadServlet.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 56–128
CyclomaticComplexity The method 'doGet(HttpServletRequest, HttpServletResponse)' has a cyclomatic complexity of 11. 3 63–125
ConfusingTernary Avoid if (x != y) ..; else ..; 3 99
CommentRequired Protected method constructor comments are required 3 127

fr/paris/lutece/portal/web/download/DownloadServletBo.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–47

fr/paris/lutece/portal/web/download/DownloadServletFo.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 36–47

fr/paris/lutece/portal/web/editor/EditorAdminDashboardComponent.java

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

fr/paris/lutece/portal/web/encoding/EncodingFilter.java

Rule Violation Priority Line
MissingOverride The method 'init(FilterConfig)' is missing an @Override annotation. 3 60–65
MissingOverride The method 'doFilter(ServletRequest, ServletResponse, FilterChain)' is missing an @Override annotation. 3 81–94
AvoidReassigningParameters Avoid reassigning parameters such as 'response' 2 81
MissingOverride The method 'destroy()' is missing an @Override annotation. 3 99–102

fr/paris/lutece/portal/web/encoding/EncodingServletResponse.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 78–94

fr/paris/lutece/portal/web/features/ExternalFeaturesJspBean.java

Rule Violation Priority Line
CommentRequired Public method and constructor comments are required 3 97–124
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 101
CommentRequired Public method and constructor comments are required 3 126–140
CommentRequired Public method and constructor comments are required 3 142–160
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 154
CommentRequired Public method and constructor comments are required 3 162–171
CommentRequired Public method and constructor comments are required 3 173–204
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 177
CommentRequired Public method and constructor comments are required 3 206–234

fr/paris/lutece/portal/web/features/FeaturesAdminDashboardComponent.java

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

fr/paris/lutece/portal/web/features/FeaturesGroupJspBean.java

Rule Violation Priority Line
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 111
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 111
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 193
ShortVariable Avoid variables with short names like t 3 198
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 221
ShortVariable Avoid variables with short names like t 3 226
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 246
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 249
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 249
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 249
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
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 289
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 289
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 289
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 340

fr/paris/lutece/portal/web/features/LevelsJspBean.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.dashboard.AdminDashboardJspBean' 4 51
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 88
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 109
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 165
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 169

fr/paris/lutece/portal/web/features/RightJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–357
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 129
ExcessiveMethodLength Avoid really long methods. 3 144–244
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 146
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 146
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 150
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 355

fr/paris/lutece/portal/web/includes/LinksInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 101–139
ConfusingTernary Avoid if (x != y) ..; else ..; 3 108
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 207
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 235
AvoidReassigningParameters Avoid reassigning parameters such as 'resourceURI' 2 276
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 286–289

fr/paris/lutece/portal/web/includes/LinksIncludeCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 50–54
CommentRequired Public method and constructor comments are required 3 50–54

fr/paris/lutece/portal/web/includes/MainMenuInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 64–83

fr/paris/lutece/portal/web/includes/MetasInclude.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 75
ConfusingTernary Avoid if (x != y) ..; else ..; 3 76–77

fr/paris/lutece/portal/web/includes/StatisticsInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 74–116
ConfusingTernary Avoid if (x != y) ..; else ..; 3 79–112
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 89
ShortVariable Avoid variables with short names like t 3 97

fr/paris/lutece/portal/web/includes/ThemesInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 64–71

fr/paris/lutece/portal/web/includes/TreeMenuInclude.java

Rule Violation Priority Line
MissingOverride The method 'fillTemplate(Map, PageData, int, HttpServletRequest)' is missing an @Override annotation. 3 84–104
CyclomaticComplexity The method 'buildTreeMenuContent(int, int, HttpServletRequest)' has a cyclomatic complexity of 10. 3 117–208
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 127
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 202

fr/paris/lutece/portal/web/insert/InsertServiceJspBean.java

Rule Violation Priority Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 131

fr/paris/lutece/portal/web/insert/InsertServiceSelectorJspBean.java

Rule Violation Priority Line
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 106
ShortVariable Avoid variables with short names like t 3 111
ConfusingTernary Avoid if (x != y) ..; else ..; 3 135–144
ShortVariable Avoid variables with short names like is 3 137
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 167

fr/paris/lutece/portal/web/l10n/LocaleService.java

Rule Violation Priority Line
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 110–140
ConfusingTernary Avoid if (x != y) ..; else ..; 3 112–139
CollapsibleIfStatements These nested if statements could be combined 3 161–164
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 161–164
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 210–223

fr/paris/lutece/portal/web/mailinglist/MailingListJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–541
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 138
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 260
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 281
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 344
ConfusingTernary Avoid if (x != y) ..; else ..; 3 389–399
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 432
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 525
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 528

fr/paris/lutece/portal/web/pluginaction/AbstractPluginAction.java

Rule Violation Priority Line
AbstractClassWithoutAnyMethod No abstract method which means that the keyword is most likely used to prevent instantiation. Use a private or protected constructor instead. 1 42–45

fr/paris/lutece/portal/web/pluginaction/PluginActionManager.java

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

fr/paris/lutece/portal/web/portlet/AliasPortletJspBean.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 85
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 144
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 151
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 189
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 211

fr/paris/lutece/portal/web/portlet/PortletJspBean.java

Rule Violation Priority Line
LinguisticNaming Linguistics Antipattern - The setter 'setPortletCommonData' should not return any type except void linguistically 3 191–284
CyclomaticComplexity The method 'setPortletCommonData(HttpServletRequest, Portlet)' has a cyclomatic complexity of 12. 3 191–284
NPathComplexity The method 'setPortletCommonData(HttpServletRequest, Portlet)' has an NPath complexity of 768 3 191–284
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 193
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 202
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 203
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 204
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

fr/paris/lutece/portal/web/progressmanager/ProgressManagerServlet.java

Rule Violation Priority Line
MissingOverride The method 'init(ServletConfig)' is missing an @Override annotation. 3 81–84
UselessOverridingMethod Overriding method merely calls super 3 81–84
ConfusingTernary Avoid if (x != y) ..; else ..; 3 125–157
ConfusingTernary Avoid if (x != y) ..; else ..; 3 133–157
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 145

fr/paris/lutece/portal/web/rbac/RoleManagementJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–1106
ExcessiveClassLength Avoid really long classes. 3 89–1106
CyclomaticComplexity The class 'RoleManagementJspBean' has a total cyclomatic complexity of 98 (highest 16). 3 89–1106
TooManyMethods This class has too many methods, consider refactoring it. 3 90–1106
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 241
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 262
CyclomaticComplexity The method 'doCreateRole(HttpServletRequest)' has a cyclomatic complexity of 11. 3 280–320
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 284
CyclomaticComplexity The method 'doModifyRole(HttpServletRequest)' has a cyclomatic complexity of 16. 3 332–402
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 334
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 337
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 416
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 434
ConfusingTernary Avoid if (x != y) ..; else ..; 3 441–463
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 492
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 520
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 570
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 653
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 708
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 708
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 709
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 710
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 710
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 711
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 712
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 712
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 713
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 714
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 714
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 715
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 716
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 716
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 717
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 718
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 718
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 721–727
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 723
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 725
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 736
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 736
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 737
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 738
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 738
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 739
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 740
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 740
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 741
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 742
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 742
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 743
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 744
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 744
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 745
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 746
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 746
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 782
CyclomaticComplexity The method 'doSelectPermissions(HttpServletRequest)' has a cyclomatic complexity of 12. 3 822–890
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 824
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 825
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 876–887
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 878–886
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 901
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 1016–1025
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 1104

fr/paris/lutece/portal/web/resource/ExtendableResourcePluginActionManager.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'ExtendableResourcePluginActionManager' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 52–96
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 87

fr/paris/lutece/portal/web/role/RoleJspBean.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.rbac.RBACRole' 4 36
UnusedImports Avoid unused imports such as 'org.apache.james.mime4j.io.LineReaderInputStreamAdaptor' 4 61
CallSuperInConstructor It is a good practice to call super() in a constructor 3 117–120
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 117–120
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 133
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 157
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 225
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 225
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 256
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 304

fr/paris/lutece/portal/web/search/SearchApp.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–287
ExcessiveMethodLength Avoid really long methods. 3 131–242
CyclomaticComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has a cyclomatic complexity of 13. 3 131–242
NPathComplexity The method 'getPage(HttpServletRequest, int, Plugin)' has an NPath complexity of 672 3 131–242
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 210
ConfusingTernary Avoid if (x != y) ..; else ..; 3 257

fr/paris/lutece/portal/web/search/SearchIndexationJspBean.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.dashboard.AdminDashboardJspBean' 4 42
ConfusingTernary Avoid if (x != y) ..; else ..; 3 104–111

fr/paris/lutece/portal/web/search/SearchJspBean.java

Rule Violation Priority Line
CyclomaticComplexity The method 'doModifyAdvancedParameters(HttpServletRequest)' has a cyclomatic complexity of 11. 3 91–146
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 108

fr/paris/lutece/portal/web/style/PageTemplatesJspBean.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 167
NPathComplexity The method 'doModifyPageTemplate(HttpServletRequest)' has an NPath complexity of 480 3 250–332
CyclomaticComplexity The method 'doModifyPageTemplate(HttpServletRequest)' has a cyclomatic complexity of 14. 3 250–332
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 256
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 262
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 266
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 360
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 418

fr/paris/lutece/portal/web/style/StylesJspBean.java

Rule Violation Priority Line
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 151
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 156
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 162
AddEmptyString Do not add empty strings 3 163
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 181
CyclomaticComplexity The method 'doCreateStyle(HttpServletRequest)' has a cyclomatic complexity of 10. 3 200–252
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 202
ConfusingTernary Avoid if (x != y) ..; else ..; 3 247
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 266
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 288
ConfusingTernary Avoid if (x != y) ..; else ..; 3 292
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 294
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 335
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 350
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 2 354–355
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 359

fr/paris/lutece/portal/web/stylesheet/StyleSheetFileServlet.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 86

fr/paris/lutece/portal/web/stylesheet/StyleSheetJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–527
ConfusingTernary Avoid if (x != y) ..; else ..; 3 143
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 173
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 178
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 184
AddEmptyString Do not add empty strings 3 186
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 207
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 263
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 265
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 266
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 269
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 320
ConfusingTernary Avoid if (x != y) ..; else ..; 3 349
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 413
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 3 462–481
ShortVariable Avoid variables with short names like is 3 472
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 475
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 499

fr/paris/lutece/portal/web/system/CacheJspBean.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 118–129
ShortVariable Avoid variables with short names like cs 3 121
ConfusingTernary Avoid if (x != y) ..; else ..; 3 165–175
ShortVariable Avoid variables with short names like cs 3 168
ShortVariable Avoid variables with short names like cs 3 198
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 205
ShortVariable Avoid variables with short names like cs 3 235

fr/paris/lutece/portal/web/system/DaemonsJspBean.java

Rule Violation Priority Line
UseUnderscoresInNumericLiterals Number 30000 should separate every third digit with an underscore 3 87

fr/paris/lutece/portal/web/system/PluginJspBean.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=51, ATFD=81, TCC=16.667%) 3 66–514
ConfusingTernary Avoid if (x != y) ..; else ..; 3 119
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 160
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 193
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 214
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 257
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 311
CyclomaticComplexity The method 'verifyCoreCompatibility(Plugin)' has a cyclomatic complexity of 10. 3 413–459
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 470
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 497

fr/paris/lutece/portal/web/system/SecurityHeaderJspBean.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=57, ATFD=57, TCC=9.091%) 3 66–627
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 142
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 175
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 418
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 557
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 596
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 597
MissingBreakInSwitch A switch statement does not contain a break 3 603–613

fr/paris/lutece/portal/web/system/SystemDashboardComponent.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like t 3 69

fr/paris/lutece/portal/web/system/SystemJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–156
UnusedImports Avoid unused imports such as 'java.io.FileInputStream' 4 36
UnusedImports Avoid unused imports such as 'java.io.FileNotFoundException' 4 37
UnusedImports Avoid unused imports such as 'java.io.IOException' 4 38
UnusedImports Avoid unused imports such as 'java.io.Serializable' 4 39
UnusedImports Avoid unused imports such as 'java.sql.Timestamp' 4 40
UnusedImports Avoid unused imports such as 'java.util.ArrayList' 4 41
UnusedImports Avoid unused imports such as 'java.util.Collection' 4 42
UnusedImports Avoid unused imports such as 'java.util.Collections' 4 43
UnusedImports Avoid unused imports such as 'java.util.Date' 4 44
UnusedImports Avoid unused imports such as 'org.apache.logging.log4j.core.LoggerContext' 4 52
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.file.File' 4 54
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.file.FileService' 4 60
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.file.IFileStoreServiceProvider' 4 61
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 4 62
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppLogService' 4 66
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.AppPropertiesService' 4 68
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.util.LoggerInfo' 4 69
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.http.SecurityUtil' 4 72
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 108

fr/paris/lutece/portal/web/template/AutoIncludeAdminDashboardComponent.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.business.template.AutoInclude' 4 36
UnusedImports Avoid unused imports such as 'java.util.List' 4 44
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 67

fr/paris/lutece/portal/web/upload/DosGuardFilter.java

Rule Violation Priority Line
FieldNamingConventions The static field name 'PROPERTY_DOSGUARDFILTER_MINCONTENTLENGTH' doesn't match '_[a-z][a-zA-Z0-9]*' 1 61
FieldNamingConventions The static field name 'PROPERTY_DOSGUARDFILTER_MININTERVAL' doesn't match '_[a-z][a-zA-Z0-9]*' 1 62
FieldNamingConventions The static field name 'CONSTANT_DEFAULT_DOSGUARDFILTER_MINCONTENTLENGTH' doesn't match '_[a-z][a-zA-Z0-9]*' 1 65
UseUnderscoresInNumericLiterals Number 10240 should separate every third digit with an underscore 3 65
FieldNamingConventions The static field name 'CONSTANT_DEFAULT_DOSGUARDFILTER_MININTERVAL' doesn't match '_[a-z][a-zA-Z0-9]*' 1 66
UnusedPrivateField Avoid unused private fields such as '_filterConfig'. 3 70
SingularField Perhaps '_filterConfig' could be replaced by a local variable. 3 70
LooseCoupling Avoid using implementation types like 'LinkedList'; use the interface instead 3 83
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 92
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 93
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 135–201
ImmutableField Private field '_strRemoteAddr' could be made final; it is only initialized in the declaration or constructor. 3 247
ImmutableField Private field '_lRequestTime' could be made final; it is only initialized in the declaration or constructor. 3 248

fr/paris/lutece/portal/web/upload/MultipartHttpServletRequest.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_multipartFiles' doesn't match '[a-z][a-zA-Z0-9]*' 1 52
FieldNamingConventions The final field name '_stringParameters' doesn't match '[a-z][a-zA-Z0-9]*' 1 53
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 95

fr/paris/lutece/portal/web/upload/NormalizeFileItem.java

Rule Violation Priority Line
ImmutableField Private field '_item' could be made final; it is only initialized in the declaration or constructor. 3 54

fr/paris/lutece/portal/web/upload/UploadFilter.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 144–172
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 189–192

fr/paris/lutece/portal/web/upload/UploadServlet.java

Rule Violation Priority Line
FieldNamingConventions The constant name 'objectMapper' doesn't match '[A-Z][A-Z_0-9]*' 1 64
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 77
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 85
ConfusingTernary Avoid if (x != y) ..; else ..; 3 97–109

fr/paris/lutece/portal/web/user/AdminLoginJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–746
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 181
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 196–199
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 247
CommentRequired Public method and constructor comments are required 3 280–313
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 290
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 324
CyclomaticComplexity The method 'doLogin(HttpServletRequest)' has a cyclomatic complexity of 11. 3 393–466
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' 4 428
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 481
NPathComplexity The method 'doResetPassword(HttpServletRequest)' has an NPath complexity of 3456 3 527–607
CyclomaticComplexity The method 'doResetPassword(HttpServletRequest)' has a cyclomatic complexity of 15. 3 527–607
CommentRequired Public method and constructor comments are required 3 527–607
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 529
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 621
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 740
UnusedLocalVariable Avoid unused local variables such as 'strLoginUrl'. 3 740

fr/paris/lutece/portal/web/user/AdminUserJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–2781
ExcessiveClassLength Avoid really long classes. 3 121–2781
CyclomaticComplexity The class 'AdminUserJspBean' has a total cyclomatic complexity of 284 (highest 14). 3 121–2781
GodClass Possible God Class (WMC=284, ATFD=582, TCC=28.862%) 3 121–2781
TooManyMethods This class has too many methods, consider refactoring it. 3 122–2781
ImmutableField Private field '_bAdminAvatar' could be made final; it is only initialized in the declaration or constructor. 3 381
CyclomaticComplexity The method 'getManageAdminUsers(HttpServletRequest)' has a cyclomatic complexity of 10. 3 394–493
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 404
AddEmptyString Do not add empty strings 3 480
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 512
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 592
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 626
ExcessiveMethodLength Avoid really long methods. 3 660–776
CyclomaticComplexity The method 'doCreateAdminUser(HttpServletRequest)' has a cyclomatic complexity of 11. 3 660–776
NcssCount The method 'doCreateAdminUser(HttpServletRequest)' has a NCSS line count of 64. 3 660–776
NPathComplexity The method 'doCreateAdminUser(HttpServletRequest)' has an NPath complexity of 408 3 660–776
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 662
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 663
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 664
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 665
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 666
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 667
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 668
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 669
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 670
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 703
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 705
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 781
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 782
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 783
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 842
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 842
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 843
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 870
EmptyStatementNotInLoop An empty statement (semicolon) not part of a loop 3 882
CyclomaticComplexity The method 'doModifyAdminUser(HttpServletRequest)' has a cyclomatic complexity of 14. 3 918–1031
NPathComplexity The method 'doModifyAdminUser(HttpServletRequest)' has an NPath complexity of 432 3 918–1031
ExcessiveMethodLength Avoid really long methods. 3 918–1031
NcssCount The method 'doModifyAdminUser(HttpServletRequest)' has a NCSS line count of 63. 3 918–1031
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 921
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 922
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 923
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 924
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 925
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 926
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 927
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 928
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1050
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1050
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1051
CyclomaticComplexity The method 'doModifyAdminUserPassword(HttpServletRequest)' has a cyclomatic complexity of 11. 3 1102–1165
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1129
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1132
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1185
CyclomaticComplexity The method 'doImportUsersFromFile(HttpServletRequest)' has a cyclomatic complexity of 11. 3 1212–1280
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1228
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1299
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1338
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1339
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1340
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1341
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1435
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1439
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1476
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1530
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1571
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1579
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1610
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1619
OptimizableToArrayCall This call to Collection.toArray() may be optimizable 3 1632
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1637
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1664
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1672
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1681
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1710
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1743
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1802
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1810
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1833
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 1840
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1849
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 1879
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1914
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.portal.service.admin.AccessDeniedException' due to existing import 'fr.paris.lutece.portal.service.admin.AccessDeniedException' 4 1958
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2040
ExcessiveMethodLength Avoid really long methods. 3 2060–2164
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2073
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2293
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2361
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2458
ConfusingTernary Avoid if (x != y) ..; else ..; 3 2519–2534
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 2550
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 2723

fr/paris/lutece/portal/web/user/AuthenticationFilter.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–446
UnusedImports Avoid unused imports such as 'java.util.Enumeration' 4 38
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.security.SecurityTokenService' 4 63
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.web.constants.Parameters' 4 71
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 90
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 90

fr/paris/lutece/portal/web/user/UserHeaderDashboardComponent.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like t 3 72

fr/paris/lutece/portal/web/user/UsersAdminDashboardComponent.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 1 72
FieldNamingConventions The constant name '_attributeTypeService' doesn't match '[A-Z][A-Z_0-9]*' 1 73

fr/paris/lutece/portal/web/user/UsersDashboardComponent.java

Rule Violation Priority Line
ShortVariable Avoid variables with short names like t 3 76

fr/paris/lutece/portal/web/user/attribute/AttributeFieldJspBean.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 1 98
FieldNamingConventions The constant name '_attributeFieldService' doesn't match '[A-Z][A-Z_0-9]*' 1 99
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 195
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 221
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 267
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 287
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 288
CyclomaticComplexity The method 'doMoveUpAttributeField(HttpServletRequest)' has a cyclomatic complexity of 10. 3 314–357
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 323
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 326
ShortVariable Avoid variables with short names like it 3 337
CyclomaticComplexity The method 'doMoveDownAttributeField(HttpServletRequest)' has a cyclomatic complexity of 10. 3 368–411
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 377
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 380
ShortVariable Avoid variables with short names like it 3 390

fr/paris/lutece/portal/web/user/attribute/AttributeJspBean.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_attributeService' doesn't match '[A-Z][A-Z_0-9]*' 1 91
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 125
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 211
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 281
ShortVariable Avoid variables with short names like it 3 340
ShortVariable Avoid variables with short names like it 3 387

fr/paris/lutece/portal/web/util/LocalizedDelegatePaginator.java

Rule Violation Priority Line
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 3 58

fr/paris/lutece/portal/web/workgroup/AdminWorkgroupJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–643
AddEmptyString Do not add empty strings 3 220
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 243
CyclomaticComplexity The method 'doCreateWorkgroup(HttpServletRequest)' has a cyclomatic complexity of 10. 3 260–303
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 263
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 316
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 335
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 400
ExcessiveMethodLength Avoid really long methods. 3 427–529
CyclomaticComplexity The method 'getAssignUsers(HttpServletRequest)' has a cyclomatic complexity of 10. 3 427–529
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 429
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 429
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 433
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 553–562
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 641

fr/paris/lutece/portal/web/xpages/SiteMapApp.java

Rule Violation Priority Line
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 87–90
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 222
ConfusingTernary Avoid if (x != y) ..; else ..; 3 224–232
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 276

fr/paris/lutece/portal/web/xpages/SiteMapCacheService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 52–56

fr/paris/lutece/portal/web/xpages/XPageApplicationEntry.java

Rule Violation Priority Line
ImmutableField Private field '_listRoles' could be made final; it is only initialized in the declaration or constructor. 3 52

fr/paris/lutece/portal/web/xsl/XslExportJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–576
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 196
ConfusingTernary Avoid if (x != y) ..; else ..; 3 310–327
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 352
ConfusingTernary Avoid if (x != y) ..; else ..; 3 414
CyclomaticComplexity The method 'getXslExportData(HttpServletRequest, XslExport)' has a cyclomatic complexity of 12. 3 435–505
LinguisticNaming Linguistics Antipattern - The method 'isValid' indicates linguistically it returns a boolean, but it returns 'String' 3 514–533
ShortVariable Avoid variables with short names like is 3 524
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 527

fr/paris/lutece/portal/web/xss/SafeRequestFilter.java

Rule Violation Priority Line
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 99–102

fr/paris/lutece/portal/web/xss/XSSRequestWrapper.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 43–95
CommentRequired Public method and constructor comments are required 3 46–49
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 90

fr/paris/lutece/util/AppInitPropertiesService.java

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

fr/paris/lutece/util/LuteceConfigSource.java

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

fr/paris/lutece/util/PropertiesService.java

Rule Violation Priority Line
ImmutableField Private field '_strRootPath' could be made final; it is only initialized in the declaration or constructor. 3 56
ImmutableField Private field '_mapPropertiesFiles' could be made final; it is only initialized in the declaration or constructor. 3 58
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 58
FieldNamingConventions The final field name 'RSA_KEY_PREFIX' doesn't match '[a-z][a-zA-Z0-9]*' 1 60
FinalFieldCouldBeStatic This final field could be made static 3 60
FieldNamingConventions The final field name 'MESSAGE_CIPHERED_PROPERTY_SECURITY_EXCEPTION' doesn't match '[a-z][a-zA-Z0-9]*' 1 61
FinalFieldCouldBeStatic This final field could be made static 3 61
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 107–112
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 141
PositionLiteralsFirstInCaseInsensitiveComparisons Position literals first in String comparisons for EqualsIgnoreCase 3 293

fr/paris/lutece/util/ReferenceList.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 145
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 184
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 203
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 205–214

fr/paris/lutece/util/UniqueIDGenerator.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'UniqueIDGenerator' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 40–68
UselessStringValueOf No need to call String.valueOf to append to a string. 3 66

fr/paris/lutece/util/annotation/ScannotationDB.java

Rule Violation Priority Line
FieldNamingConventions The final field name '_db' doesn't match '[a-z][a-zA-Z0-9]*' 1 64

fr/paris/lutece/util/bean/BeanUtil.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 134
ConfusingTernary Avoid if (x != y) ..; else ..; 3 145–152
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 171
ShortVariable Avoid variables with short names like sb 3 190

fr/paris/lutece/util/beanvalidation/DefaultValidationErrorConfig.java

Rule Violation Priority Line
MethodReturnsInternalArray Returning 'VARIABLES_PREFIX' may expose an internal array. 3 74

fr/paris/lutece/util/beanvalidation/LuteceMessageInterpolator.java

Rule Violation Priority Line
AssignmentToNonFinalStatic Possible unsafe assignment to a non-final static field in a constructor. 3 52
ImmutableField Private field '_interpolator' could be made final; it is only initialized in the declaration or constructor. 3 53
ShortVariable Avoid variables with short names like sb 3 111

fr/paris/lutece/util/beanvalidation/ValidationError.java

Rule Violation Priority Line
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 3 49
ImmutableField Private field '_constraintViolation' could be made final; it is only initialized in the declaration or constructor. 3 50
ImmutableField Private field '_config' could be made final; it is only initialized in the declaration or constructor. 3 51
ShortVariable Avoid variables with short names like cv 3 63

fr/paris/lutece/util/beanvalidation/ValidationErrorUtil.java

Rule Violation Priority Line
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 103–106
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 109
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 116
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 122
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 214–217
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 220

fr/paris/lutece/util/datatable/DataTableColumn.java

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

fr/paris/lutece/util/datatable/DataTableManager.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=71, ATFD=71, TCC=15.402%) 3 70–738
TooManyMethods This class has too many methods, consider refactoring it. 3 71–738
ConstructorCallsOverridableMethod Overridable method 'setSortUrl' called during object construction 1 120
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 181
NPathComplexity The method 'filterSortAndPaginate(HttpServletRequest, List)' has an NPath complexity of 14832 3 259–393
CyclomaticComplexity The method 'filterSortAndPaginate(HttpServletRequest, List)' has a cyclomatic complexity of 24. 3 259–393
ExcessiveMethodLength Avoid really long methods. 3 259–393
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 329
ConfusingTernary Avoid if (x != y) ..; else ..; 3 371–378
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 498
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 499
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 519–522
ConfusingTernary Avoid if (x != y) ..; else ..; 3 589
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 637
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 703
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 711

fr/paris/lutece/util/datatable/DataTableSort.java

Rule Violation Priority Line
UncommentedEmptyConstructor Document empty constructor 3 47–49
BooleanGetMethodName A getX() method which returns a boolean should be named isX() 4 91–94

fr/paris/lutece/util/datatable/FilterPanel.java

Rule Violation Priority Line
ImmutableField Private field '_listFilter' could be made final; it is only initialized in the declaration or constructor. 3 53
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 53
UncommentedEmptyConstructor Document empty constructor 3 58–60

fr/paris/lutece/util/date/DateUtil.java

Rule Violation Priority Line
UseUnderscoresInNumericLiterals Number 86400000 should separate every third digit with an underscore 3 55
ConfusingTernary Avoid if (x != y) ..; else ..; 3 169–185
ConfusingTernary Avoid if (x != y) ..; else ..; 3 173–180
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 175
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'java.sql.Timestamp' due to existing import 'java.sql.Timestamp' 4 213
ShortVariable Avoid variables with short names like df 3 253
ShortVariable Avoid variables with short names like df 3 263
ConfusingTernary Avoid if (x != y) ..; else ..; 3 297–313
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 303
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 332
SimpleDateFormatNeedsLocale When instantiating a SimpleDateFormat object, specify a Locale 3 357

fr/paris/lutece/util/env/EnvUtil.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 85
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the setMockMapEnv method if you want a default access modifier 3 111–114
DefaultPackage Use explicit scoping instead of the default package private level 3 111–114

fr/paris/lutece/util/file/FileUtil.java

Rule Violation Priority Line
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 135–138
AssignmentInOperand Avoid assignments in operands 3 180
UnnecessaryModifier Unnecessary modifier 'final' on method 'normalizeFileName': the method is already in a final class 3 197–200
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 199

fr/paris/lutece/util/filesystem/FileListFilter.java

Rule Violation Priority Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 3 44
ImmutableField Private field '_strExtension' could be made final; it is only initialized in the declaration or constructor. 3 45
MissingOverride The method 'accept(File, String)' is missing an @Override annotation. 3 69–84

fr/paris/lutece/util/filesystem/FileSystemUtil.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 82
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 101–109
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 128
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 147–155
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 174

fr/paris/lutece/util/html/AbstractPaginator.java

Rule Violation Priority Line
AddEmptyString Do not add empty strings 3 102
AddEmptyString Do not add empty strings 3 115
AddEmptyString Do not add empty strings 3 127
AddEmptyString Do not add empty strings 3 150
AddEmptyString Do not add empty strings 3 212
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 264–267
EmptyMethodInAbstractClassShouldBeAbstract An empty method in an abstract class should be abstract instead 1 273–276
ConfusingTernary Avoid if (x != y) ..; else ..; 3 311
ConfusingTernary Avoid if (x != y) ..; else ..; 3 350–364
ConfusingTernary Avoid if (x != y) ..; else ..; 3 356–363
ConfusingTernary Avoid if (x != y) ..; else ..; 3 383

fr/paris/lutece/util/html/DelegatePaginator.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 64–87

fr/paris/lutece/util/html/ItemNavigator.java

Rule Violation Priority Line
ImmutableField Private field '_listItems' could be made final; it is only initialized in the declaration or constructor. 3 52
ImmutableField Private field '_strParameterName' could be made final; it is only initialized in the declaration or constructor. 3 55
CyclomaticComplexity The method 'setCurrentItemId(String)' has a cyclomatic complexity of 11. 3 83–119

fr/paris/lutece/util/html/Paginator.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 63–86

fr/paris/lutece/util/http/MultipartUtil.java

Rule Violation Priority Line
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 126
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 128
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 128
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 129
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 129
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 168
ConfusingTernary Avoid if (x != y) ..; else ..; 3 234–243

fr/paris/lutece/util/http/SecurityUtil.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=50, ATFD=40, TCC=9.167%) 3 56–489
TooManyMethods This class has too many methods, consider refactoring it. 3 57–489
FieldNamingConventions The static field name 'PATTERN_URL_SAFE' doesn't match '_[a-z][a-zA-Z0-9]*' 1 72
FieldNamingConventions The public constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 1 74
ShortVariable Avoid variables with short names like e 3 108
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 40, but has at least 44 characters appended. 3 220
ConfusingTernary Avoid if (x != y) ..; else ..; 3 221–233
ConfusingTernary Avoid if (x != y) ..; else ..; 3 249–270
NPathComplexity The method 'isInternalRedirectUrlSafe(String, HttpServletRequest, String)' has an NPath complexity of 300 3 310–359
CyclomaticComplexity The method 'isInternalRedirectUrlSafe(String, HttpServletRequest, String)' has a cyclomatic complexity of 13. 3 310–359
NonThreadSafeSingleton Singleton is not thread safe 3 320–323
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 386
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 387
ShortVariable Avoid variables with short names like sb 3 399
ShortVariable Avoid variables with short names like sb 3 425
ShortVariable Avoid variables with short names like sb 3 451
ShortVariable Avoid variables with short names like e 3 456
ShortVariable Avoid variables with short names like sb 3 482
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 484
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 485
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 486

fr/paris/lutece/util/jpa/JPAConstants.java

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

fr/paris/lutece/util/jpa/JPAGenericDAO.java

Rule Violation Priority Line
ImmutableField Private field '_entityClass' could be made final; it is only initialized in the declaration or constructor. 3 63
ShortVariable Avoid variables with short names like em 3 115
ShortVariable Avoid variables with short names like em 3 151
CompareObjectsWithEquals Use equals() to compare object references. 3 153
CompareObjectsWithEquals Use equals() to compare object references. 3 158
ShortVariable Avoid variables with short names like em 3 172
CompareObjectsWithEquals Use equals() to compare object references. 3 180
CompareObjectsWithEquals Use equals() to compare object references. 3 185
ShortVariable Avoid variables with short names like em 3 200
CompareObjectsWithEquals Use equals() to compare object references. 3 201
CompareObjectsWithEquals Use equals() to compare object references. 3 206

fr/paris/lutece/util/jpa/JPAPersistenceUnitPostProcessor.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_Log' doesn't match '[A-Z][A-Z_0-9]*' 1 62
GuardLogStatement Logger calls should be surrounded by log level guards. 2 128
GuardLogStatement Logger calls should be surrounded by log level guards. 2 130
GuardLogStatement Logger calls should be surrounded by log level guards. 2 131
GuardLogStatement Logger calls should be surrounded by log level guards. 2 132
GuardLogStatement Logger calls should be surrounded by log level guards. 2 133
GuardLogStatement Logger calls should be surrounded by log level guards. 2 134
GuardLogStatement Logger calls should be surrounded by log level guards. 2 135
GuardLogStatement Logger calls should be surrounded by log level guards. 2 136
GuardLogStatement Logger calls should be surrounded by log level guards. 2 137
GuardLogStatement Logger calls should be surrounded by log level guards. 2 138
GuardLogStatement Logger calls should be surrounded by log level guards. 2 139
GuardLogStatement Logger calls should be surrounded by log level guards. 2 140

fr/paris/lutece/util/jpa/transaction/ChainedTransactionManager.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_log' doesn't match '[A-Z][A-Z_0-9]*' 1 57
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 63–66
MissingOverride The method 'getTransaction(TransactionDefinition)' is missing an @Override annotation. 3 71–97
MissingOverride The method 'commit(TransactionStatus)' is missing an @Override annotation. 3 103–129
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 114
MissingOverride The method 'rollback(TransactionStatus)' is missing an @Override annotation. 3 135–153
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 143

fr/paris/lutece/util/jpa/transaction/MultiTransactionStatus.java

Rule Violation Priority Line
ImmutableField Private field '_mainPTM' could be made final; it is only initialized in the declaration or constructor. 3 48
MissingOverride The method 'flush()' is missing an @Override annotation. 3 97–103
MissingOverride The method 'hasSavepoint()' is missing an @Override annotation. 3 119–122
MissingOverride The method 'isCompleted()' is missing an @Override annotation. 3 128–131
MissingOverride The method 'isNewTransaction()' is missing an @Override annotation. 3 137–140
MissingOverride The method 'isRollbackOnly()' is missing an @Override annotation. 3 146–149
MissingOverride The method 'setRollbackOnly()' is missing an @Override annotation. 3 155–161
MissingOverride The method 'createSavepoint()' is missing an @Override annotation. 3 167–170
MissingOverride The method 'releaseSavepoint(Object)' is missing an @Override annotation. 3 176–182
MissingOverride The method 'rollbackToSavepoint(Object)' is missing an @Override annotation. 3 188–194

fr/paris/lutece/util/json/AbstractJsonResponse.java

Rule Violation Priority Line
ImmutableField Private field '_strStatus' could be made final; it is only initialized in the declaration or constructor. 3 48

fr/paris/lutece/util/json/ErrorJsonResponse.java

Rule Violation Priority Line
ImmutableField Private field '_strErrorCode' could be made final; it is only initialized in the declaration or constructor. 3 44

fr/paris/lutece/util/json/JsonResponse.java

Rule Violation Priority Line
ImmutableField Private field '_result' could be made final; it is only initialized in the declaration or constructor. 3 44

fr/paris/lutece/util/json/JsonUtil.java

Rule Violation Priority Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 46–78
FieldNamingConventions The constant name '_mapper' doesn't match '[A-Z][A-Z_0-9]*' 1 49

fr/paris/lutece/util/ldap/LdapUtil.java

Rule Violation Priority Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 74
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 76
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 116
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 120
ShortVariable Avoid variables with short names like sc 3 148

fr/paris/lutece/util/mail/ByteArrayDataSource.java

Rule Violation Priority Line
ImmutableField Private field '_type' could be made final; it is only initialized in the declaration or constructor. 3 59
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 80
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 3 94
MissingOverride The method 'getInputStream()' is missing an @Override annotation. 3 109–117
MissingOverride The method 'getOutputStream()' is missing an @Override annotation. 3 125–128
MissingOverride The method 'getContentType()' is missing an @Override annotation. 3 134–137
MissingOverride The method 'getName()' is missing an @Override annotation. 3 143–146

fr/paris/lutece/util/mail/FileAttachment.java

Rule Violation Priority Line
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 3 60
MethodReturnsInternalArray Returning '_data' may expose an internal array. 3 73
ArrayIsStoredDirectly The user-supplied array 'data' is stored directly. 3 82

fr/paris/lutece/util/mail/HtmlDocument.java

Rule Violation Priority Line
ImmutableField Private field '_content' could be made final; it is only initialized in the declaration or constructor. 3 99
ImmutableField Private field '_strBaseUrl' could be made final; it is only initialized in the declaration or constructor. 3 100
ImmutableField Private field '_useAbsoluteUrl' could be made final; it is only initialized in the declaration or constructor. 3 101
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 134
ImmutableField Private field '_strTagName' could be made final; it is only initialized in the declaration or constructor. 3 268
ImmutableField Private field '_strAttributeName' could be made final; it is only initialized in the declaration or constructor. 3 269
ImmutableField Private field '_strTestedAttributeName' could be made final; it is only initialized in the declaration or constructor. 3 270
ImmutableField Private field '_strTestedAttributeValue' could be made final; it is only initialized in the declaration or constructor. 3 271

fr/paris/lutece/util/method/MethodUtil.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 94–101
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 130
CyclomaticComplexity The method 'getPrimitiveMethod(String, A, Class)' has a cyclomatic complexity of 10. 3 161–204

fr/paris/lutece/util/parser/BbcodeUtil.java

Rule Violation Priority Line
ExcessiveMethodLength Avoid really long methods. 3 130–274
CyclomaticComplexity The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has a cyclomatic complexity of 21. 3 130–274
ExcessiveParameterList Avoid long parameter lists. 3 130–132
NPathComplexity The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has an NPath complexity of 396 3 130–274
NcssCount The method 'processNestedTags(StringBuilder, String, String, String, String, String, String, boolean, boolean, boolean)' has a NCSS line count of 73. 3 130–274
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 130–132
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 149
ConfusingTernary Avoid if (x != y) ..; else ..; 3 181–211
ConfusingTernary Avoid if (x != y) ..; else ..; 3 193–211
ShortVariable Avoid variables with short names like s1 3 220
ShortVariable Avoid variables with short names like s2 3 221
ConfusingTernary Avoid if (x != y) ..; else ..; 3 237–244
ShortVariable Avoid variables with short names like m 3 254
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the MutableCharSequence nested class if you want a default access modifier 3 281–384
UncommentedEmptyConstructor Document empty constructor 3 298–300
ShortVariable Avoid variables with short names like sb 3 375

fr/paris/lutece/util/password/IPasswordFactory.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifiers 'public static final' on field 'BEAN_NAME': the field is declared in an interface type 3 41

fr/paris/lutece/util/password/PasswordUtil.java

Rule Violation Priority Line
NPathComplexity The method 'makePassword(int, boolean, boolean, boolean)' has an NPath complexity of 256 3 107–163
ShortVariable Avoid variables with short names like r 3 110
ShortVariable Avoid variables with short names like c1 3 131
ShortVariable Avoid variables with short names like c1 3 137
ShortVariable Avoid variables with short names like c1 3 143
ShortVariable Avoid variables with short names like c1 3 149

fr/paris/lutece/util/pool/PoolManager.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 65
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 66
ImmutableField Private field '_pools' could be made final; it is only initialized in the declaration or constructor. 3 66
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 91–99
ShortVariable Avoid variables with short names like is 3 109
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 119
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 156
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 167
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 174
ReplaceHashtableWithMap Consider replacing this Hashtable with the newer java.util.Map 3 185
ShortVariable Avoid variables with short names like cs 3 186
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 196
ShortVariable Avoid variables with short names like cs 3 205
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 213
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 217
ShortVariable Avoid variables with short names like cs 3 254
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 265–271
AddEmptyString Do not add empty strings 3 295
AddEmptyString Do not add empty strings 3 296

fr/paris/lutece/util/pool/service/C3p0ConnectionService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 68
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 104
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 129–133
CollapsibleIfStatements These nested if statements could be combined 3 129–133
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 137
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 166

fr/paris/lutece/util/pool/service/ConnectionPool.java

Rule Violation Priority Line
ImmutableField Private field '_strUrl' could be made final; it is only initialized in the declaration or constructor. 3 63
ImmutableField Private field '_strUser' could be made final; it is only initialized in the declaration or constructor. 3 64
ImmutableField Private field '_strPassword' could be made final; it is only initialized in the declaration or constructor. 3 65
ImmutableField Private field '_nMaxConns' could be made final; it is only initialized in the declaration or constructor. 3 66
ImmutableField Private field '_nTimeOut' could be made final; it is only initialized in the declaration or constructor. 3 67
ImmutableField Private field '_logger' could be made final; it is only initialized in the declaration or constructor. 3 68
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 68
ImmutableField Private field '_freeConnections' could be made final; it is only initialized in the declaration or constructor. 3 70
ImmutableField Private field '_strCheckValidConnectionSql' could be made final; it is only initialized in the declaration or constructor. 3 71
ConfusingTernary Avoid if (x != y) ..; else ..; 3 108–109
ShortVariable Avoid variables with short names like lf 3 111
CloseResource Ensure that resources like this Connection object are closed after use 3 129
ShortVariable Avoid variables with short names like pc 3 129
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 171–217
AssignmentInOperand Avoid assignments in operands 3 180
CloseResource Ensure that resources like this Statement object are closed after use 3 228
ConfusingTernary Avoid if (x != y) ..; else ..; 3 232–242
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 254
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 254
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 326–334
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 339–363
CloseResource Ensure that resources like this Connection object are closed after use 3 341
MissingOverride The method 'getParentLogger()' is missing an @Override annotation. 3 526–529

fr/paris/lutece/util/pool/service/LuteceConnectionFactory.java

Rule Violation Priority Line
ClassNamingConventions The utility class name 'LuteceConnectionFactory' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 44–75
UseProperClassLoader In J2EE, getClassLoader() might not work as expected. Use Thread.currentThread().getContextClassLoader() instead. 3 72

fr/paris/lutece/util/pool/service/LuteceConnectionProxy.java

Rule Violation Priority Line
ImmutableField Private field '_pool' could be made final; it is only initialized in the declaration or constructor. 3 58
ImmutableField Private field '_connection' could be made final; it is only initialized in the declaration or constructor. 3 59
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the LuteceConnectionProxy constructor if you want a default access modifier 3 69–73
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 96
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 102

fr/paris/lutece/util/pool/service/LuteceConnectionService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 55
CyclomaticComplexity The method 'init(Map)' has a cyclomatic complexity of 10. 3 111–177
NPathComplexity The method 'init(Map)' has an NPath complexity of 384 3 111–177
AvoidCatchingNPE Avoid catching NullPointerException; consider removing the cause of the NPE. 3 155
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 155
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 159

fr/paris/lutece/util/pool/service/TomcatConnectionService.java

Rule Violation Priority Line
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 55
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 74
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 96
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 115

fr/paris/lutece/util/rsa/IRSAKeyProvider.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 40–55

fr/paris/lutece/util/rsa/RSAKeyDatastoreProvider.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.security.NoSuchAlgorithmException' 4 40
CommentRequired Header comments are required 3 49–106

fr/paris/lutece/util/rsa/RSAKeyEnvironmentProvider.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.security.KeyPair' 4 38
UnusedImports Avoid unused imports such as 'java.security.KeyPairGenerator' 4 39
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.datastore.DatastoreService' 4 46
CommentRequired Header comments are required 3 48–91
ConfusingTernary Avoid if (x != y) ..; else ..; 3 58–70
ConfusingTernary Avoid if (x != y) ..; else ..; 3 76–88

fr/paris/lutece/util/rsa/RSAKeyPairUtil.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.util.List' 4 39
CommentRequired Header comments are required 3 43–99
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 43–99
FieldNamingConventions The static field name 'RSA_KEY_PROVIDER_BEAN_NAME' doesn't match '_[a-z][a-zA-Z0-9]*' 1 46
CommentRequired Public method and constructor comments are required 3 55–62
NonThreadSafeSingleton Singleton is not thread safe 3 57–60

fr/paris/lutece/util/sort/AttributeComparator.java

Rule Violation Priority Line
ImmutableField Private field '_strSortedAttribute' could be made final; it is only initialized in the declaration or constructor. 3 52
ImmutableField Private field '_bIsASC' could be made final; it is only initialized in the declaration or constructor. 3 53
ShortVariable Avoid variables with short names like o2 3 91
ShortVariable Avoid variables with short names like o1 3 91
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 93
ShortVariable Avoid variables with short names like o2 3 120
ShortVariable Avoid variables with short names like o1 3 120
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 148
UseLocaleWithCaseConversions When doing a String.toLowerCase()/toUpperCase() call, use a Locale 3 178
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 186

fr/paris/lutece/util/sql/DAOUtil.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–3355
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–3355
CyclomaticComplexity The class 'DAOUtil' has a total cyclomatic complexity of 429 (highest 9). 3 82–3355
ExcessiveClassLength Avoid really long classes. 3 82–3355
TooManyMethods This class has too many methods, consider refactoring it. 3 83–3355
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 117
ImmutableField Private field '_sbLogs' could be made final; it is only initialized in the declaration or constructor. 3 118
AvoidStringBufferField StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 3 118
ConfusingTernary Avoid if (x != y) ..; else ..; 3 235–260
ShortVariable Avoid variables with short names like ds 3 247
ConfusingTernary Avoid if (x != y) ..; else ..; 3 273–299
ConfusingTernary Avoid if (x != y) ..; else ..; 3 275–282
ConfusingTernary Avoid if (x != y) ..; else ..; 3 285–299
ConfusingTernary Avoid if (x != y) ..; else ..; 3 287–294
ConfusingTernary Avoid if (x != y) ..; else ..; 3 304–313
ShortVariable Avoid variables with short names like e 3 328
InsufficientStringBufferDeclaration StringBuffer constructor is initialized with size 32, but has at least 47 characters appended. 3 330
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 331
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 332
ConsecutiveLiteralAppends StringBuffer (or StringBuilder).append is called 2 consecutive times with literals. Use a single append with a single combined String. 3 332
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 333
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 444
ShortVariable Avoid variables with short names like ts 3 973
ShortVariable Avoid variables with short names like ts 3 999
AvoidDuplicateLiterals The String literal "null" appears 5 times in this file; the first occurrence is on line 1,046 3 1046
AvoidUsingShortType Do not use the short type 1 1724
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 1918
ShortVariable Avoid variables with short names like x 3 1922
AvoidUsingShortType Do not use the short type 1 3029
AvoidUsingShortType Do not use the short type 1 3052
AvoidUsingShortType Do not use the short type 1 3074
DefaultPackage Use explicit scoping instead of the default package private level 3 3274–3286
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the clearBatch method if you want a default access modifier 3 3274–3286

fr/paris/lutece/util/sql/MultiPluginTransaction.java

Rule Violation Priority Line
CloseResource Ensure that resources like this Connection object are closed after use 3 140
ConfusingTernary Avoid if (x != y) ..; else ..; 3 141–148
ShortVariable Avoid variables with short names like e 3 175

fr/paris/lutece/util/sql/Transaction.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 53–392
LoggerIsNotStaticFinal The Logger variable declaration does not contain the static and final modifiers 2 87
ConstructorCallsOverridableMethod Overridable method 'beginTransaction' called during object construction 1 108
ConfusingTernary Avoid if (x != y) ..; else ..; 3 183–190
ShortVariable Avoid variables with short names like e 3 253
ConfusingTernary Avoid if (x != y) ..; else ..; 3 262–270
ConfusingTernary Avoid if (x != y) ..; else ..; 3 310–319
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 373

fr/paris/lutece/util/sql/TransactionManager.java

Rule Violation Priority Line
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 157
ShortVariable Avoid variables with short names like e 3 190
ShortVariable Avoid variables with short names like e 3 222
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 226
ConfusingTernary Avoid if (x != y) ..; else ..; 3 246

fr/paris/lutece/util/stream/StreamUtil.java

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

fr/paris/lutece/util/string/StringUtil.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.io.BufferedReader' 4 39
UnusedImports Avoid unused imports such as 'java.io.InputStreamReader' 4 43
TooManyMethods This class has too many methods, consider refactoring it. 3 54–416
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 137–146
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 157–171
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 157
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 182–191
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 198–224
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 233–236
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 247
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 247–252
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 263–295
UseVarargs Consider using varargs for methods or constructors which take an array the last parameter. 4 263
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 310–313
MethodReturnsInternalArray Returning 'CONSTANT_UTF8' may expose an internal array. 3 367
ShortVariable Avoid variables with short names like b 3 407
AssignmentInOperand Avoid assignments in operands 3 409

fr/paris/lutece/util/url/UrlItem.java

Rule Violation Priority Line
ImmutableField Private field '_strRoot' could be made final; it is only initialized in the declaration or constructor. 3 52
ImmutableField Private field '_listParameters' could be made final; it is only initialized in the declaration or constructor. 3 55

fr/paris/lutece/util/url/UrlParameterItem.java

Rule Violation Priority Line
ImmutableField Private field '_strName' could be made final; it is only initialized in the declaration or constructor. 3 45
ImmutableField Private field '_strValue' could be made final; it is only initialized in the declaration or constructor. 3 48

fr/paris/lutece/util/xml/XmlTransformer.java

Rule Violation Priority Line
FieldNamingConventions The constant name 'transformersPoolList' doesn't match '[A-Z][A-Z_0-9]*' 1 68
CyclomaticComplexity The method 'getTemplates(Source, String)' has a cyclomatic complexity of 10. 3 90–132
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 120
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 123
ShortVariable Avoid variables with short names like sw 3 238
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 251
PreserveStackTrace New exception is thrown in catch block, original stack trace may be lost 3 254

fr/paris/lutece/util/xml/XmlUtil.java

Rule Violation Priority Line
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 90
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 91
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 92
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 92
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 93
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 94
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 95
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 111
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 145
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 157
AppendCharacterWithChar Avoid appending characters as strings in StringBuffer.append. 3 157
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 158
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 159
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 160
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 196
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 197
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 198
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 199
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 200
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 201
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 224
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 236
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 237
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 238
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 239
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 269
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 294
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 295