Fork me on GitHub

PMD Results

The following document contains the results of PMD 6.13.0.

Violations By Priority

Priority 1

fr/paris/lutece/plugins/releaser/business/Cluster.java

Rule Violation Line
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 59

fr/paris/lutece/plugins/releaser/business/Component.java

Rule Violation Line
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 54
FormalParameterNamingConventions The method parameter name '_strScmDeveloperConnection' doesn't match '[a-z][a-zA-Z0-9]*' 472
FormalParameterNamingConventions The method parameter name '_bUpgrade' doesn't match '[a-z][a-zA-Z0-9]*' 503
FormalParameterNamingConventions The method parameter name '_bDowngrade' doesn't match '[a-z][a-zA-Z0-9]*' 524
FormalParameterNamingConventions The method parameter name '_strLastAvailableSnapshotVersion' doesn't match '[a-z][a-zA-Z0-9]*' 555
FormalParameterNamingConventions The method parameter name '_bErrorLastRelease' doesn't match '[a-z][a-zA-Z0-9]*' 576
FormalParameterNamingConventions The method parameter name '_strName' doesn't match '[a-z][a-zA-Z0-9]*' 597
FormalParameterNamingConventions The method parameter name '_strCloneUrl' doesn't match '[a-z][a-zA-Z0-9]*' 618
FormalParameterNamingConventions The method parameter name '_strTweetMessage' doesn't match '[a-z][a-zA-Z0-9]*' 660
FormalParameterNamingConventions The method parameter name '_strBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 714
FormalParameterNamingConventions The method parameter name '_strBranchReleaseVersion' doesn't match '[a-z][a-zA-Z0-9]*' 724
FormalParameterNamingConventions The method parameter name '_strTargetJdk' doesn't match '[a-z][a-zA-Z0-9]*' 733

fr/paris/lutece/plugins/releaser/business/Site.java

Rule Violation Line
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 62
FormalParameterNamingConventions The method parameter name '_strTagInfotmation' doesn't match '[a-z][a-zA-Z0-9]*' 499
FormalParameterNamingConventions The method parameter name '_strGroupId' doesn't match '[a-z][a-zA-Z0-9]*' 520
FormalParameterNamingConventions The method parameter name '_bTheme' doesn't match '[a-z][a-zA-Z0-9]*' 541
FormalParameterNamingConventions The method parameter name '_bCreateDckerImage' doesn't match '[a-z][a-zA-Z0-9]*' 551
FormalParameterNamingConventions The method parameter name '_strBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 570
FormalParameterNamingConventions The method parameter name '_strParentVersion' doesn't match '[a-z][a-zA-Z0-9]*' 632

fr/paris/lutece/plugins/releaser/business/WorkflowContextHistory.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_dateBegin' doesn't match '[a-z][a-zA-Z0-9]*' 181
FormalParameterNamingConventions The method parameter name '_dateEnd' doesn't match '[a-z][a-zA-Z0-9]*' 202
FormalParameterNamingConventions The method parameter name '_strArtifactId' doesn't match '[a-z][a-zA-Z0-9]*' 223

fr/paris/lutece/plugins/releaser/business/WorkflowReleaseContext.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_nId' doesn't match '[a-z][a-zA-Z0-9]*' 98
FormalParameterNamingConventions The method parameter name '_component' doesn't match '[a-z][a-zA-Z0-9]*' 119
FormalParameterNamingConventions The method parameter name '_commandResult' doesn't match '[a-z][a-zA-Z0-9]*' 140
FormalParameterNamingConventions The method parameter name '_releaserUser' doesn't match '[a-z][a-zA-Z0-9]*' 194
FormalParameterNamingConventions The method parameter name '_strRefBranchRelease' doesn't match '[a-z][a-zA-Z0-9]*' 215
FormalParameterNamingConventions The method parameter name '_strRefBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 236

fr/paris/lutece/plugins/releaser/service/ClusterService.java

Rule Violation Line
MethodNamingConventions The static method name 'IsAddClusterAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 146–155
MethodNamingConventions The static method name 'IsUserAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 157–168

fr/paris/lutece/plugins/releaser/service/ComponentService.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 435
MethodNamingConventions The static method name 'IsSearchComponentAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 476–485

fr/paris/lutece/plugins/releaser/service/IJenkinsService.java

Rule Violation Line
MethodNamingConventions The instance method name 'TriggerPipeline' doesn't match '[a-z][a-zA-Z0-9]*' 12

fr/paris/lutece/plugins/releaser/service/JenkinsService.java

Rule Violation Line
FieldNamingConventions The static field name 'JENKINS_BASE_URL' doesn't match '_[a-z][a-zA-Z0-9]*' 39
FieldNamingConventions The static field name 'JENKINS_PIPELINE_NAME' doesn't match '_[a-z][a-zA-Z0-9]*' 42
FieldNamingConventions The static field name 'JENKINS_BUILD_TYPE' doesn't match '_[a-z][a-zA-Z0-9]*' 45
FieldNamingConventions The static field name 'JENKINS_USER_LOGIN' doesn't match '_[a-z][a-zA-Z0-9]*' 48
FieldNamingConventions The static field name 'JENKINS_USER_PWD' doesn't match '_[a-z][a-zA-Z0-9]*' 51
LocalVariableNamingConventions The local variable name 'ObjectBuildJson' doesn't match '[a-z][a-zA-Z0-9]*' 135

fr/paris/lutece/plugins/releaser/service/JiraComponentService.java

Rule Violation Line
FieldNamingConventions The static field name 'URL_JIRA_SERVER' doesn't match '_[a-z][a-zA-Z0-9]*' 87
FieldNamingConventions The static field name 'JIRA_USER' doesn't match '_[a-z][a-zA-Z0-9]*' 90
FieldNamingConventions The static field name 'JIRA_USER_PWD' doesn't match '_[a-z][a-zA-Z0-9]*' 93

fr/paris/lutece/plugins/releaser/service/MavenService.java

Rule Violation Line
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 62–330

fr/paris/lutece/plugins/releaser/service/SiteService.java

Rule Violation Line
FieldNamingConventions The static field name 'POM_PARENT_MIN_VERSION_TO_CREATE_DOCKET_IMAGE' doesn't match '_[a-z][a-zA-Z0-9]*' 111
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 801
MethodNamingConventions The static method name 'IsUserAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 888–899
MethodNamingConventions The static method name 'IsSiteAlreadyExist' doesn't match '[a-z][a-zA-Z0-9]*' 901–908

fr/paris/lutece/plugins/releaser/service/WorkflowReleaseContextService.java

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

fr/paris/lutece/plugins/releaser/util/CommandResult.java

Rule Violation Line
FieldNamingConventions The static field name 'STATUS_ERROR' doesn't match '_[a-z][a-zA-Z0-9]*' 52
FieldNamingConventions The static field name 'STATUS_OK' doesn't match '_[a-z][a-zA-Z0-9]*' 55
FieldNamingConventions The static field name 'ERROR_TYPE_INFO' doesn't match '_[a-z][a-zA-Z0-9]*' 58
FieldNamingConventions The static field name 'ERROR_TYPE_STOP' doesn't match '_[a-z][a-zA-Z0-9]*' 61
FieldNamingConventions The field name 'progressValue' doesn't match '_[a-z][a-zA-Z0-9]*' 82
FormalParameterNamingConventions The method parameter name '_mResultInformations' doesn't match '[a-z][a-zA-Z0-9]*' 206
FormalParameterNamingConventions The method parameter name '_nErrorType' doesn't match '[a-z][a-zA-Z0-9]*' 227
FormalParameterNamingConventions The method parameter name '_dBegin' doesn't match '[a-z][a-zA-Z0-9]*' 248
FormalParameterNamingConventions The method parameter name '_dEnd' doesn't match '[a-z][a-zA-Z0-9]*' 269

fr/paris/lutece/plugins/releaser/util/MapperJsonUtil.java

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

fr/paris/lutece/plugins/releaser/util/PluginUtils.java

Rule Violation Line
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 193
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 247
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 308

fr/paris/lutece/plugins/releaser/util/ReleaserUtils.java

Rule Violation Line
MethodNamingConventions The static method name 'IsVersionInRightFormat' doesn't match '[a-z][a-zA-Z0-9]*' 567–586

fr/paris/lutece/plugins/releaser/util/github/GitUtils.java

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

fr/paris/lutece/plugins/releaser/util/github/GithubSearchRepoItem.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strName' doesn't match '[a-z][a-zA-Z0-9]*' 73
FormalParameterNamingConventions The method parameter name '_strCloneUrl' doesn't match '[a-z][a-zA-Z0-9]*' 96
FormalParameterNamingConventions The method parameter name '_strContentsUrl' doesn't match '[a-z][a-zA-Z0-9]*' 119
FormalParameterNamingConventions The method parameter name '_strFullName' doesn't match '[a-z][a-zA-Z0-9]*' 142

fr/paris/lutece/plugins/releaser/util/github/ReleaseGITGetRepoClient.java

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

fr/paris/lutece/plugins/releaser/util/pom/PomParser.java

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

fr/paris/lutece/plugins/releaser/util/pom/PomUpdater.java

Rule Violation Line
ClassNamingConventions The utility class name 'PomUpdater' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 64–276
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 87
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 126
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 174
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 203

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCheckoutClient.java

Rule Violation Line
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 49

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCommitClient.java

Rule Violation Line
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 48

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCopyClient.java

Rule Violation Line
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 48

fr/paris/lutece/plugins/releaser/util/svn/SvnUser.java

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

fr/paris/lutece/plugins/releaser/util/svn/SvnUtils.java

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

fr/paris/lutece/plugins/releaser/util/version/Version.java

Rule Violation Line
FormalParameterNamingConventions The method parameter name '_strQualifierRadix' doesn't match '[a-z][a-zA-Z0-9]*' 209
FormalParameterNamingConventions The method parameter name '_nQualifierNumber' doesn't match '[a-z][a-zA-Z0-9]*' 217

Priority 2

fr/paris/lutece/plugins/releaser/service/ComponentService.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'component' 347
AvoidReassigningParameters Avoid reassigning parameters such as 'component' 528

fr/paris/lutece/plugins/releaser/service/MavenService.java

Rule Violation Line
SystemPrintln System.out.println is used 264

fr/paris/lutece/plugins/releaser/service/ReleaseComponentTask.java

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

fr/paris/lutece/plugins/releaser/service/SiteService.java

Rule Violation Line
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 376

fr/paris/lutece/plugins/releaser/service/svn/SvnResourceService.java

Rule Violation Line
LongInstantiation Avoid instantiating Long objects.Call Long.valueOf() instead 355

fr/paris/lutece/plugins/releaser/util/github/GitUtils.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'strRepoUrl' 689

fr/paris/lutece/plugins/releaser/util/svn/SvnUtils.java

Rule Violation Line
AvoidReassigningParameters Avoid reassigning parameters such as 'strRepoUrl' 465

Priority 3

fr/paris/lutece/plugins/releaser/business/AbstractReleaserResource.java

Rule Violation Line
ConfusingTernary Avoid if (x != y) ..; else ..; 57–75
ConfusingTernary Avoid if (x != y) ..; else ..; 100–107
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 115

fr/paris/lutece/plugins/releaser/business/Cluster.java

Rule Violation Line
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 59
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 170
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 175

fr/paris/lutece/plugins/releaser/business/ClusterDAO.java

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

fr/paris/lutece/plugins/releaser/business/Component.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–779
TooManyFields Too many fields 47–779
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 54
UnusedPrivateField Avoid unused private fields such as '_strDescription'. 82
MissingOverride The method 'getArtifactId()' is missing an @Override annotation. 151–154
MissingOverride The method 'getTargetVersion()' is missing an @Override annotation. 235–238
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 448–452
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 689
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 694
CommentRequired Public method and constructor comments are required 699–702
CommentRequired Public method and constructor comments are required 704–707
CommentRequired Public method and constructor comments are required 709–712
CommentRequired Public method and constructor comments are required 714–717
CommentRequired Public method and constructor comments are required 719–722
CommentRequired Public method and constructor comments are required 724–727
CommentRequired Public method and constructor comments are required 729–731
CommentRequired Public method and constructor comments are required 733–735

fr/paris/lutece/plugins/releaser/business/ReleaserUser.java

Rule Violation Line
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 54
ImmutableField Private field '_mapCredential' could be made final; it is only initialized in the declaration or constructor. 54
ImmutableField Private field '_strLogin' could be made final; it is only initialized in the declaration or constructor. 115
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 115
ImmutableField Private field '_strPassword' could be made final; it is only initialized in the declaration or constructor. 118
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 118

fr/paris/lutece/plugins/releaser/business/Site.java

Rule Violation Line
ExcessivePublicCount This class has a bunch of public methods and attributes 34–637
TooManyFields Too many fields 51–637
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 62
ImmutableField Private field '_listCurrentDependencies' could be made final; it is only initialized in the declaration or constructor. 106
ImmutableField Private field '_listComponents' could be made final; it is only initialized in the declaration or constructor. 109
MissingOverride The method 'getArtifactId()' is missing an @Override annotation. 173–176
MissingOverride The method 'getScmUrl()' is missing an @Override annotation. 215–218
CommentRequired Public method and constructor comments are required 546–549
CommentRequired Public method and constructor comments are required 551–553
CommentRequired Public method and constructor comments are required 555–558
CommentRequired Public method and constructor comments are required 560–563
CommentRequired Public method and constructor comments are required 565–568
CommentRequired Public method and constructor comments are required 570–573
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 609
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 614
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 617
ControlStatementBraces This statement should have braces 617
ControlStatementBraces This statement should have braces 619
CommentRequired Public method and constructor comments are required 627–630
CommentRequired Public method and constructor comments are required 632–635

fr/paris/lutece/plugins/releaser/business/SiteDAO.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 182
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 214
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 252
UnusedLocalVariable Avoid unused local variables such as 'nIndex'. 294
ControlStatementBraces This statement should have braces 296

fr/paris/lutece/plugins/releaser/service/ClusterResourceIdService.java

Rule Violation Line
CommentRequired Header comments are required 48–147
DataClass The class 'ClusterResourceIdService' is suspected to be a Data Class (WOC=0.000%, NOPA=4, NOAM=0, WMC=1) 48–147
CallSuperInConstructor It is a good practice to call super() in a constructor 71–74
ShortVariable Avoid variables with short names like rt 80
ShortVariable Avoid variables with short names like p 86

fr/paris/lutece/plugins/releaser/service/ClusterService.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. 51–169
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 82
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 86
ControlStatementBraces This statement should have braces 140
CommentRequired Public method and constructor comments are required 146–155
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 149–152
CommentRequired Public method and constructor comments are required 157–168

fr/paris/lutece/plugins/releaser/service/ComponentResourceIdService.java

Rule Violation Line
CommentRequired Header comments are required 45–95
CallSuperInConstructor It is a good practice to call super() in a constructor 56–59
ShortVariable Avoid variables with short names like rt 65
ShortVariable Avoid variables with short names like p 71

fr/paris/lutece/plugins/releaser/service/ComponentService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–577
SingularField Perhaps '_executor' could be replaced by a local variable. 85
UnusedPrivateField Avoid unused private fields such as '_executor'. 85
SingularField Perhaps '_mapper' could be replaced by a local variable. 86
UnusedPrivateField Avoid unused private fields such as '_mapper'. 86
NonThreadSafeSingleton Singleton is not thread safe 95–99
MissingOverride The method 'setRemoteInformations(Component, boolean)' is missing an @Override annotation. 105–108
CommentRequired Public method and constructor comments are required 105–108
MissingOverride The method 'getLastReleaseVersion(String)' is missing an @Override annotation. 115–120
MissingOverride The method 'setLastReleaseVersion(String, String)' is missing an @Override annotation. 127–132
MissingOverride The method 'getLastReleaseNextSnapshotVersion(String)' is missing an @Override annotation. 139–144
MissingOverride The method 'setLastReleaseNextSnapshotVersion(String, String)' is missing an @Override annotation. 151–155
CommentRequired Public method and constructor comments are required 181–184
MissingOverride The method 'release(Component, Locale, AdminUser, HttpServletRequest)' is missing an @Override annotation. 181–184
CommentRequired Public method and constructor comments are required 186–190
MissingOverride The method 'isGitComponent(Component)' is missing an @Override annotation. 186–190
MissingOverride The method 'init()' is missing an @Override annotation. 192–198
CommentRequired Public method and constructor comments are required 192–198
CyclomaticComplexity The method 'updateRemoteInformations(Component)' has a cyclomatic complexity of 11. 201–249
CommentRequired Public method and constructor comments are required 251–287
MissingOverride The method 'updateComponentForReleaseBranchFrom(Component, String)' is missing an @Override annotation. 251–287
StringToString Avoid calling toString() on String objects; this is unnecessary. 266
StringToString Avoid calling toString() on String objects; this is unnecessary. 276
CommentRequired Public method and constructor comments are required 289–322
MissingOverride The method 'getSearchComponent(String, HttpServletRequest, Locale, String, String)' is missing an @Override annotation. 289–322
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 304
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 318–319
UnusedFormalParameter Avoid unused method parameters such as 'strPassword'. 324
UnusedFormalParameter Avoid unused method parameters such as 'strUser'. 324
CommentRequired Public method and constructor comments are required 347–382
MissingOverride The method 'loadComponent(Component, boolean, String, String, String)' is missing an @Override annotation. 347–382
ConfusingTernary Avoid if (x != y) ..; else ..; 355–372
ConfusingTernary Avoid if (x != y) ..; else ..; 386–403
EmptyIfStmt Avoid empty if statements 393–397
EmptyIfStmt Avoid empty if statements 400–403
MissingOverride The method 'isErrorSnapshotComponentInformations(Component, String)' is missing an @Override annotation. 424–454
CommentRequired Public method and constructor comments are required 424–454
MissingOverride The method 'changeNextReleaseVersion(Component)' is missing an @Override annotation. 462–474
CommentRequired Public method and constructor comments are required 476–485
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 479–482
MissingOverride The method 'getLastBranchVersion(Component, String, ReleaserUser)' is missing an @Override annotation. 528–575
CommentRequired Public method and constructor comments are required 528–575

fr/paris/lutece/plugins/releaser/service/GetRemoteInformationsTask.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 46
ImmutableField Private field '_component' could be made final; it is only initialized in the declaration or constructor. 49

fr/paris/lutece/plugins/releaser/service/IComponentService.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'updateComponentForReleaseBranchFrom': the method is declared in an interface type 77
CommentRequired Public method and constructor comments are required 242

fr/paris/lutece/plugins/releaser/service/IJenkinsService.java

Rule Violation Line
CommentRequired Header comments are required 5–13
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'init': the method is declared in an interface type 10
CommentRequired Public method and constructor comments are required 12

fr/paris/lutece/plugins/releaser/service/IJiraService.java

Rule Violation Line
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'init': the method is declared in an interface type 48
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'updateComponentVersions': the method is declared in an interface type 58

fr/paris/lutece/plugins/releaser/service/IMavenService.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 81–82
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 98

fr/paris/lutece/plugins/releaser/service/IWorkflowReleaseContextService.java

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

fr/paris/lutece/plugins/releaser/service/JenkinsService.java

Rule Violation Line
CommentRequired Header comments are required 18–162
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 54
NonThreadSafeSingleton Singleton is not thread safe 63–67
CyclomaticComplexity The method 'TriggerPipeline(WorkflowReleaseContext)' has a cyclomatic complexity of 10. 83–161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 98
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 151–154
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 155–158

fr/paris/lutece/plugins/releaser/service/JiraComponentService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–286
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 110–113
UncommentedEmptyConstructor Document empty constructor 110–113
NonThreadSafeSingleton Singleton is not thread safe 122–126
CyclomaticComplexity The method 'updateComponentVersions(Component, CommandResult)' has a cyclomatic complexity of 12. 185–284
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 185–284
ConfusingTernary Avoid if (x != y) ..; else ..; 191–282
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 229
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 230
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 230
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 259

fr/paris/lutece/plugins/releaser/service/MavenRepoComponentInfoProvider.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 2–436
GodClass Possible God Class (WMC=51, ATFD=35, TCC=1.818%) 45–436
UnusedPrivateField Avoid unused private fields such as 'URL_MAVEN_PATH_SITE_POM'. 73
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 100–107
CommentRequired Public method and constructor comments are required 109–173
ConfusingTernary Avoid if (x != y) ..; else ..; 121–139
ConfusingTernary Avoid if (x != y) ..; else ..; 125–134
ConfusingTernary Avoid if (x != y) ..; else ..; 143–165
ConfusingTernary Avoid if (x != y) ..; else ..; 147–156
ControlStatementBraces This statement should have braces 160
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 168
ConfusingTernary Avoid if (x != y) ..; else ..; 260–288
UnusedPrivateMethod Avoid unused private methods such as 'getPomUrl(String,String,String)'. 293
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 297
UseEqualsToCompareStrings Use equals() to compare strings instead of '==' or '!=' 297
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 299
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 302
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 304
UnusedFormalParameter Avoid unused method parameters such as 'strArtifactId'. 309
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 315
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 317
UnusedLocalVariable Avoid unused local variables such as 'listVersions'. 323
StringToString Avoid calling toString() on String objects; this is unnecessary. 325
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 345
LinguisticNaming Linguistics Antipattern - The getter 'getPomInfos' should not return void linguistically 362–393
UnusedLocalVariable Avoid unused local variables such as 'headersResponse'. 367
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 426

fr/paris/lutece/plugins/releaser/service/MavenService.java

Rule Violation Line
NonThreadSafeSingleton Singleton is not thread safe 87–91
MissingOverride The method 'init()' is missing an @Override annotation. 100–106
MissingOverride The method 'mvnSiteAssembly(String, String, String, SvnUser, CommandResult)' is missing an @Override annotation. 128–138
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 133
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 168–171
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 187–244
AddEmptyString Do not add empty strings 215
MissingOverride The method 'consumeLine(String)' is missing an @Override annotation. 226–229
CommentRequired Public method and constructor comments are required 226–229
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 228
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 237
MissingOverride The method 'mvnReleasePerform(String, String, String, CommandResult, boolean, String)' is missing an @Override annotation. 259–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 259
MissingOverride The method 'mvnReleasePrepare(String, String, String, String, String, String, CommandResult, String)' is missing an @Override annotation. 292–307
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 292–293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 313

fr/paris/lutece/plugins/releaser/service/ReleaseComponentTask.java

Rule Violation Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 59
ImmutableField Private field '_nIdWorkflow' could be made final; it is only initialized in the declaration or constructor. 66
ImmutableField Private field '_wfContext' could be made final; it is only initialized in the declaration or constructor. 69
ImmutableField Private field '_request' could be made final; it is only initialized in the declaration or constructor. 72
ImmutableField Private field '_user' could be made final; it is only initialized in the declaration or constructor. 75
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 78
MissingOverride The method 'run()' is missing an @Override annotation. 107–178
UnusedLocalVariable Avoid unused local variables such as 'state'. 110

fr/paris/lutece/plugins/releaser/service/SiteResourceIdService.java

Rule Violation Line
CallSuperInConstructor It is a good practice to call super() in a constructor 72–75
ShortVariable Avoid variables with short names like rt 80
ShortVariable Avoid variables with short names like p 86

fr/paris/lutece/plugins/releaser/service/SiteService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–910
GodClass Possible God Class (WMC=100, ATFD=148, TCC=0.000%) 83–910
CyclomaticComplexity The class 'SiteService' has a total cyclomatic complexity of 100 (highest 14). 83–910
TooManyMethods This class has too many methods, consider refactoring it. 84–910
ConfusingTernary Avoid if (x != y) ..; else ..; 131–147
CommentRequired Public method and constructor comments are required 187–209
UselessOperationOnImmutable An operation on an Immutable object (String, BigDecimal or BigInteger) wont change the object itself 195
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 264
IdenticalCatchBranches 'catch' branch identical to 'InterruptedException' branch 283–287
CyclomaticComplexity The method 'buildReleaseComments(Component, Locale)' has a cyclomatic complexity of 14. 465–538
ConfusingTernary Avoid if (x != y) ..; else ..; 476–537
ConfusingTernary Avoid if (x != y) ..; else ..; 509–525
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 667
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 667
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 818–822
CommentRequired Public method and constructor comments are required 827–886
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 830
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 839
CommentRequired Public method and constructor comments are required 888–899
CommentRequired Public method and constructor comments are required 901–908
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 904–905
ControlStatementBraces This statement should have braces 905

fr/paris/lutece/plugins/releaser/service/TwitterService.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for '_twitter' 89
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 92
NonThreadSafeSingleton Singleton is not thread safe 101–105
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 113–116
MissingOverride The method 'sendTweet(String, CommandResult)' is missing an @Override annotation. 126–144
MissingOverride The method 'init()' is missing an @Override annotation. 149–167

fr/paris/lutece/plugins/releaser/service/WorkflowReleaseContextService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–903
GodClass Possible God Class (WMC=64, ATFD=102, TCC=2.381%) 84–903
TooManyMethods This class has too many methods, consider refactoring it. 85–903
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 91
ImmutableField Private field '_mapWorkflowReleaseContext' could be made final; it is only initialized in the declaration or constructor. 91
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 91
ImmutableField Private field '_releaseInProgress' could be made final; it is only initialized in the declaration or constructor. 97
LooseCoupling Avoid using implementation types like 'HashSet'; use the interface instead 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 97
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 113–135
ConfusingTernary Avoid if (x != y) ..; else ..; 123
MissingOverride The method 'saveWorkflowReleaseContext(WorkflowReleaseContext)' is missing an @Override annotation. 161–199
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 161–199
ConfusingTernary Avoid if (x != y) ..; else ..; 171–192
ConfusingTernary Avoid if (x != y) ..; else ..; 188
MissingOverride The method 'getListWorkflowReleaseContextHistory(String)' is missing an @Override annotation. 233–268
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 236
MissingOverride The method 'getIdWorkflow(WorkflowReleaseContext)' is missing an @Override annotation. 277–293
NonThreadSafeSingleton Singleton is not thread safe 302–307
MissingOverride The method 'mergeDevelopMaster(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 320–418
CyclomaticComplexity The method 'mergeDevelopMaster(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 14. 320–418
ConfusingTernary Avoid if (x != y) ..; else ..; 342–378
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 387–391
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 392–395
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 396–399
MissingOverride The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 428–586
CyclomaticComplexity The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 12. 428–586
NcssCount The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' has a NCSS line count of 71. 428–586
ExcessiveMethodLength Avoid really long methods. 428–586
AvoidDuplicateLiterals The String literal " to " appears 4 times in this file; the first occurrence is on line 464 464
MissingOverride The method 'releasePerformComponent(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 596–630
AvoidDuplicateLiterals The String literal " Release Perform" appears 4 times in this file; the first occurrence is on line 604 604
MissingOverride The method 'checkoutRepository(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 640–653
MissingOverride The method 'releasePrepareSite(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 663–727
AvoidDuplicateLiterals The String literal "...\n" appears 4 times in this file; the first occurrence is on line 676 676
MissingOverride The method 'sendTweet(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 737–748
MissingOverride The method 'updateJiraVersions(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 758–769
MissingOverride The method 'startWorkflowReleaseContext(WorkflowReleaseContext, int, Locale, HttpServletRequest, AdminUser)' is missing an @Override annotation. 785–788
MissingOverride The method 'init()' is missing an @Override annotation. 793–798
MissingOverride The method 'startReleaseInProgress(String)' is missing an @Override annotation. 806–810
MissingOverride The method 'stopReleaseInProgress(String)' is missing an @Override annotation. 818–822
MissingOverride The method 'isReleaseInProgress(String)' is missing an @Override annotation. 831–835
MissingOverride The method 'createDockerImage(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 889–901
UnusedLocalVariable Avoid unused local variables such as 'commandResult'. 893

fr/paris/lutece/plugins/releaser/service/github/GitResourceService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–663
MissingOverride The method 'fetchPom(Site, String, String)' is missing an @Override annotation. 88–102
CyclomaticComplexity The method 'getLastRelease(Site, String, String)' has a cyclomatic complexity of 15. 114–185
MissingOverride The method 'getLastRelease(Site, String, String)' is missing an @Override annotation. 114–185
ConfusingTernary Avoid if (x != y) ..; else ..; 126–175
PositionLiteralsFirstInComparisons Position literals first in String comparisons 139
PositionLiteralsFirstInComparisons Position literals first in String comparisons 139
CollapsibleIfStatements These nested if statements could be combined 142–147
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 142–147
CyclomaticComplexity The method 'doCheckoutRepository(WorkflowReleaseContext, String, String)' has a cyclomatic complexity of 11. 199–287
ConfusingTernary Avoid if (x != y) ..; else ..; 234–245
AvoidDuplicateLiterals The String literal "/.git" appears 4 times in this file; the first occurrence is on line 330 330
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 344–348
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 349–352
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 353–356
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 415–419
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 420–423
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 424–427
CyclomaticComplexity The method 'rollbackRelease(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 15. 458–573
ExcessiveMethodLength Avoid really long methods. 458–573
ConfusingTernary Avoid if (x != y) ..; else ..; 506–513
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 540–544
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 545–548
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 549–552
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 629–633
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 634–637
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 638–641

fr/paris/lutece/plugins/releaser/service/svn/SvnResourceService.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–412
MissingOverride The method 'fetchPom(Site, String, String)' is missing an @Override annotation. 92–112
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 106
MissingOverride The method 'getLastRelease(Site, String, String)' is missing an @Override annotation. 125–160
ConfusingTernary Avoid if (x != y) ..; else ..; 146
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 173
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 310
ConfusingTernary Avoid if (x != y) ..; else ..; 355
CompareObjectsWithEquals Use equals() to compare object references. 357
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 371

fr/paris/lutece/plugins/releaser/util/CVSFactoryService.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. 44–104
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 58–61
UncommentedEmptyConstructor Document empty constructor 58–61

fr/paris/lutece/plugins/releaser/util/CommandResult.java

Rule Violation Line
RedundantFieldInitializer Avoid using redundant field initializer for 'STATUS_ERROR' 52
RedundantFieldInitializer Avoid using redundant field initializer for 'ERROR_TYPE_INFO' 58
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). 64
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 88
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 88
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 158–167

fr/paris/lutece/plugins/releaser/util/MapperJsonUtil.java

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

fr/paris/lutece/plugins/releaser/util/PluginUtils.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. 66–363
CyclomaticComplexity The method 'updateAppInfoFile(String, String, CommandResult)' has a cyclomatic complexity of 12. 185–269
ShortVariable Avoid variables with short names like br 188
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 200
CollapsibleIfStatements These nested if statements could be combined 200–213
ConfusingTernary Avoid if (x != y) ..; else ..; 203–212
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 216
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 220
ShortVariable Avoid variables with short names like fw 244
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 250
ShortVariable Avoid variables with short names like fw 284
ShortVariable Avoid variables with short names like sw 301
ShortVariable Avoid variables with short names like tf 304
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 319
AvoidPrintStackTrace Avoid printStackTrace(); use a logger call instead. 334
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the ContextFileFilter nested class if you want a default access modifier 345–361
MissingOverride The method 'accept(File, String)' is missing an @Override annotation. 357–360

fr/paris/lutece/plugins/releaser/util/ReleaserUtils.java

Rule Violation Line
GodClass Possible God Class (WMC=59, ATFD=70, TCC=0.000%) 64–589
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. 65–589
TooManyMethods This class has too many methods, consider refactoring it. 65–589
ConfusingTernary Avoid if (x != y) ..; else ..; 118–129
ShortVariable Avoid variables with short names like e 242
ConfusingTernary Avoid if (x != y) ..; else ..; 245–252
ShortVariable Avoid variables with short names like e 275
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 275
ConfusingTernary Avoid if (x != y) ..; else ..; 278–285
ConfusingTernary Avoid if (x != y) ..; else ..; 295–302
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 315
ConfusingTernary Avoid if (x != y) ..; else ..; 336
ConfusingTernary Avoid if (x != y) ..; else ..; 381
ConfusingTernary Avoid if (x != y) ..; else ..; 443
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 467–477
ConfusingTernary Avoid if (x != y) ..; else ..; 491
CommentRequired Public method and constructor comments are required 535–543
CommentRequired Public method and constructor comments are required 545–565
ConfusingTernary Avoid if (x != y) ..; else ..; 550–562
ConfusingTernary Avoid if (x != y) ..; else ..; 555–562
CommentRequired Public method and constructor comments are required 567–586
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 570

fr/paris/lutece/plugins/releaser/util/file/FileUtils.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. 48–160
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 82
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 141

fr/paris/lutece/plugins/releaser/util/github/GitUtils.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–788
GodClass Possible God Class (WMC=69, ATFD=39, TCC=0.000%) 89–788
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. 90–788
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 118–119
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 145–149
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 150–153
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 154–158
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 193–197
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 199–202
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 229–233
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 235–238
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 267–270
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 271–274
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 275–278
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 279–282
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'mergeResult' 400
ShortVariable Avoid variables with short names like i 419
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 424
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 425
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 426
ShortVariable Avoid variables with short names like i 445
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 527
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 550
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 550
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 565–568
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 588
ShortVariable Avoid variables with short names like i 626
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 644–653
UnusedLocalVariable Avoid unused local variables such as 'tagName'. 647
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 711
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 712
CommentRequired Public method and constructor comments are required 736–787
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 747

fr/paris/lutece/plugins/releaser/util/github/ReleaseGITGetRepoClient.java

Rule Violation Line
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 44
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 44
UncommentedEmptyConstructor Document empty constructor 49–51
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 49–51

fr/paris/lutece/plugins/releaser/util/maven/MavenUtils.java

Rule Violation Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 76–77
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 85

fr/paris/lutece/plugins/releaser/util/pom/PomParser.java

Rule Violation Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 68
ImmutableField Private field '_listDependencies' could be made final; it is only initialized in the declaration or constructor. 68
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 68
LinguisticNaming Linguistics Antipattern - The variable 'isPOM' indicates linguistically it is a boolean, but it is 'InputSource' 92
LinguisticNaming Linguistics Antipattern - The variable 'isPOM' indicates linguistically it is a boolean, but it is 'InputSource' 155
ShortVariable Avoid variables with short names like op 162
ShortVariable Avoid variables with short names like op 203
ShortVariable Avoid variables with short names like jc 286
ShortVariable Avoid variables with short names like u 287

fr/paris/lutece/plugins/releaser/util/pom/PomUpdater.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. 65–276
CyclomaticComplexity The method 'updateSiteBeforeTag(Site, String)' has a cyclomatic complexity of 10. 78–152
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 102–105
CollapsibleIfStatements These nested if statements could be combined 102–105
CyclomaticComplexity The method 'updateSiteAfterTag(Site, String)' has a cyclomatic complexity of 10. 165–229
CollapsibleIfStatements These nested if statements could be combined 192–195
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 192–195
ShortVariable Avoid variables with short names like jc 247
ShortVariable Avoid variables with short names like m 248
ShortVariable Avoid variables with short names like jc 270
ShortVariable Avoid variables with short names like u 271

fr/paris/lutece/plugins/releaser/util/pom/SaxPomHandler.java

Rule Violation Line
CommentRequired Header comments are required 7–230
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). 20
ImmutableField Private field '_sbScmUrl' could be made final; it is only initialized in the declaration or constructor. 20
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). 21
ImmutableField Private field '_sbScmConnection' could be made final; it is only initialized in the declaration or constructor. 21
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). 22
ImmutableField Private field '_sbScmDeveloperConnection' could be made final; it is only initialized in the declaration or constructor. 22
CyclomaticComplexity The method 'characters(char, int, int)' has a cyclomatic complexity of 13. 192–229
ShortVariable Avoid variables with short names like ch 192
PositionLiteralsFirstInComparisons Position literals first in String comparisons 202

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCheckoutClient.java

Rule Violation Line
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 49
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 49

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCommitClient.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 48
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 48

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCopyClient.java

Rule Violation Line
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 48
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 48

fr/paris/lutece/plugins/releaser/util/svn/SvnUtils.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–508
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_ERROR_SVN'. 86
UnusedPrivateField Avoid unused private fields such as 'CONSTANTE_SLASH'. 89
UnusedPrivateField Avoid unused private fields such as 'logger'. 92
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 163
CollapsibleIfStatements These nested if statements could be combined 207–212
MissingOverride The method 'checkCancelled()' is missing an @Override annotation. 222–225
CommentRequired Public method and constructor comments are required 222–225
MissingOverride The method 'handleEvent(SVNEvent, double)' is missing an @Override annotation. 227–230
CommentRequired Public method and constructor comments are required 227–230
ShortVariable Avoid variables with short names like sw 245
ShortVariable Avoid variables with short names like pw 246
UnusedLocalVariable Avoid unused local variables such as 'errorLog'. 249
EmptyCatchBlock Avoid empty catch blocks 258–262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 269
ShortVariable Avoid variables with short names like sw 273
ShortVariable Avoid variables with short names like pw 274
UnusedLocalVariable Avoid unused local variables such as 'errorLog'. 277
EmptyCatchBlock Avoid empty catch blocks 286–290
MissingOverride The method 'handleDirEntry(SVNDirEntry)' is missing an @Override annotation. 321–331
CommentRequired Public method and constructor comments are required 321–331
CollapsibleIfStatements These nested if statements could be combined 326–329
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 350
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 413

fr/paris/lutece/plugins/releaser/util/version/Version.java

Rule Violation Line
GodClass Possible God Class (WMC=71, ATFD=22, TCC=29.356%) 47–715
UncommentedEmptyConstructor Document empty constructor 89–91
CommentRequired Public method and constructor comments are required 205–207
CommentRequired Public method and constructor comments are required 209–211
CommentRequired Public method and constructor comments are required 213–215
CommentRequired Public method and constructor comments are required 217–219
CyclomaticComplexity The method 'compareTo(Object)' has a cyclomatic complexity of 12. 229–273
ConfusingTernary Avoid if (x != y) ..; else ..; 248–270
ConfusingTernary Avoid if (x != y) ..; else ..; 284–291
ConfusingTernary Avoid if (x != y) ..; else ..; 322
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 327
ConfusingTernary Avoid if (x != y) ..; else ..; 353–364
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 366
AvoidDuplicateLiterals The String literal "Error parsing version " appears 7 times in this file; the first occurrence is on line 534 534
AvoidDuplicateLiterals The String literal " : " appears 7 times in this file; the first occurrence is on line 534 534
EmptyIfStmt Avoid empty if statements 618–621

fr/paris/lutece/plugins/releaser/util/version/VersionParsingException.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 40–55

fr/paris/lutece/plugins/releaser/util/version/VersionUtils.java

Rule Violation Line
CommentRequired Header comments are required 8–54
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. 9–54
CommentRequired Public method and constructor comments are required 11–40
CommentRequired Public method and constructor comments are required 42–53
StringToString Avoid calling toString() on String objects; this is unnecessary. 52

fr/paris/lutece/plugins/releaser/web/ClusterJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 70–615
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 165
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 166
ConfusingTernary Avoid if (x != y) ..; else ..; 207
ConfusingTernary Avoid if (x != y) ..; else ..; 449

fr/paris/lutece/plugins/releaser/web/ManageComponentReleaseJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 65–322
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _paginatorComponents field if you want a default access modifier 126
DefaultPackage Use explicit scoping instead of the default package private level 126
CyclomaticComplexity The method 'getManageComponent(HttpServletRequest)' has a cyclomatic complexity of 12. 137–179
UnusedLocalVariable Avoid unused local variables such as 'user'. 145
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 145
ConfusingTernary Avoid if (x != y) ..; else ..; 147–169
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 168
ConfusingTernary Avoid if (x != y) ..; else ..; 173
ConfusingTernary Avoid if (x != y) ..; else ..; 175
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 253
UnusedLocalVariable Avoid unused local variables such as 'component'. 261
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 261
UnusedLocalVariable Avoid unused local variables such as 'component'. 283
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 283
LinguisticNaming Linguistics Antipattern - The setter 'setReleaserUser' should not return any type except void linguistically 288–301

fr/paris/lutece/plugins/releaser/web/ManageSiteReleaseJspBean.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 34–701
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 74–701
TooManyMethods This class has too many methods, consider refactoring it. 75–701
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 217
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 266
NPathComplexity The method 'getConfirmReleaseSite(HttpServletRequest)' has an NPath complexity of 324 267–313
CyclomaticComplexity The method 'getConfirmReleaseSite(HttpServletRequest)' has a cyclomatic complexity of 11. 267–313
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 272
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 322
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 349
ConfusingTernary Avoid if (x != y) ..; else ..; 357–376
ConfusingTernary Avoid if (x != y) ..; else ..; 361–370
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 505
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 562
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strTemplate' 575
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 633
UnusedLocalVariable Avoid unused local variables such as 'component'. 641
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 641
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 662
UnusedLocalVariable Avoid unused local variables such as 'component'. 662
LinguisticNaming Linguistics Antipattern - The setter 'setReleaserUser' should not return any type except void linguistically 668–681

fr/paris/lutece/plugins/releaser/web/ManageSitesJspBean.java

Rule Violation Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 49–99
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 62

Priority 4

fr/paris/lutece/plugins/releaser/business/Component.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.github.GitUtils' 39

fr/paris/lutece/plugins/releaser/business/IReleaserResource.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.StringUtils' 36

fr/paris/lutece/plugins/releaser/business/IWorkflowContextHistoryDAO.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.ReferenceList' 72

fr/paris/lutece/plugins/releaser/business/Site.java

Rule Violation Line
ShortClassName Avoid short class names like Site 51–637

fr/paris/lutece/plugins/releaser/business/WorkflowContextHistoryHome.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.ReferenceList' 73

fr/paris/lutece/plugins/releaser/service/ComponentService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.CVSFactoryService' 59

fr/paris/lutece/plugins/releaser/service/JiraComponentService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'com.atlassian.jira.rest.client.api.domain.IssueField' 51

fr/paris/lutece/plugins/releaser/service/MavenRepoComponentInfoProvider.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.io.Serializable' 5
UnusedImports Avoid unused imports such as 'java.util.Collections' 8
UnusedImports Avoid unused imports such as 'java.util.Comparator' 9
UnusedImports Avoid unused imports such as 'java.util.Date' 10
UnusedImports Avoid unused imports such as 'java.util.HashMap' 11
UnusedImports Avoid unused imports such as 'java.util.regex.Matcher' 14
UnusedImports Avoid unused imports such as 'java.util.regex.Pattern' 15
UnusedImports Avoid unused imports such as 'org.apache.commons.collections.MapUtils' 23
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.math.NumberUtils' 24
UnusedImports Avoid unused imports such as 'java.time.ZonedDateTime' 25
UnusedImports Avoid unused imports such as 'java.time.format.DateTimeFormatter' 26
UnusedImports Avoid unused imports such as 'java.time.format.DateTimeParseException' 27
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.version.Version' 32
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.version.VersionParsingException' 33
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.datastore.DatastoreService' 35
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.spring.SpringContextService' 36

fr/paris/lutece/plugins/releaser/service/MavenService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.string.StringUtil' 56

fr/paris/lutece/plugins/releaser/service/SiteService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' 72

fr/paris/lutece/plugins/releaser/service/github/GitResourceService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.business.Component' 56

fr/paris/lutece/plugins/releaser/service/svn/SvnResourceService.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.io.IOException' 37
UnusedImports Avoid unused imports such as 'java.io.PrintWriter' 38
UnusedImports Avoid unused imports such as 'java.io.StringWriter' 39
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.ObjectUtils' 44
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.StringUtils' 45
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.SVNCancelException' 46
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.SVNException' 47
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.ISVNEventHandler' 49
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.SVNEvent' 50
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.SVNEventAction' 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.business.RepositoryType' 54
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.svn.ReleaseSvnCopyClient' 65

fr/paris/lutece/plugins/releaser/util/PluginUtils.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'javax.xml.parsers.ParserConfigurationException' 48
UnusedImports Avoid unused imports such as 'javax.xml.transform.TransformerException' 50
UnusedImports Avoid unused imports such as 'org.eclipse.jgit.api.errors.NoFilepatternException' 55
UnusedImports Avoid unused imports such as 'org.xml.sax.SAXException' 59

fr/paris/lutece/plugins/releaser/util/pom/PomParser.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 97

fr/paris/lutece/plugins/releaser/util/pom/PomUpdater.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'java.util.Iterator' 42
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 56
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 92
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 180

fr/paris/lutece/plugins/releaser/web/ManageSiteReleaseJspBean.java

Rule Violation Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 49

Files

fr/paris/lutece/plugins/releaser/business/AbstractReleaserResource.java

Rule Violation Priority Line
ConfusingTernary Avoid if (x != y) ..; else ..; 3 57–75
ConfusingTernary Avoid if (x != y) ..; else ..; 3 100–107
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 115

fr/paris/lutece/plugins/releaser/business/Cluster.java

Rule Violation Priority Line
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 59
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 1 59
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 170
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 175

fr/paris/lutece/plugins/releaser/business/ClusterDAO.java

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

fr/paris/lutece/plugins/releaser/business/Component.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–779
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.github.GitUtils' 4 39
TooManyFields Too many fields 3 47–779
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 54
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 1 54
UnusedPrivateField Avoid unused private fields such as '_strDescription'. 3 82
MissingOverride The method 'getArtifactId()' is missing an @Override annotation. 3 151–154
MissingOverride The method 'getTargetVersion()' is missing an @Override annotation. 3 235–238
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 448–452
FormalParameterNamingConventions The method parameter name '_strScmDeveloperConnection' doesn't match '[a-z][a-zA-Z0-9]*' 1 472
FormalParameterNamingConventions The method parameter name '_bUpgrade' doesn't match '[a-z][a-zA-Z0-9]*' 1 503
FormalParameterNamingConventions The method parameter name '_bDowngrade' doesn't match '[a-z][a-zA-Z0-9]*' 1 524
FormalParameterNamingConventions The method parameter name '_strLastAvailableSnapshotVersion' doesn't match '[a-z][a-zA-Z0-9]*' 1 555
FormalParameterNamingConventions The method parameter name '_bErrorLastRelease' doesn't match '[a-z][a-zA-Z0-9]*' 1 576
FormalParameterNamingConventions The method parameter name '_strName' doesn't match '[a-z][a-zA-Z0-9]*' 1 597
FormalParameterNamingConventions The method parameter name '_strCloneUrl' doesn't match '[a-z][a-zA-Z0-9]*' 1 618
FormalParameterNamingConventions The method parameter name '_strTweetMessage' doesn't match '[a-z][a-zA-Z0-9]*' 1 660
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 689
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 694
CommentRequired Public method and constructor comments are required 3 699–702
CommentRequired Public method and constructor comments are required 3 704–707
CommentRequired Public method and constructor comments are required 3 709–712
CommentRequired Public method and constructor comments are required 3 714–717
FormalParameterNamingConventions The method parameter name '_strBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 1 714
CommentRequired Public method and constructor comments are required 3 719–722
CommentRequired Public method and constructor comments are required 3 724–727
FormalParameterNamingConventions The method parameter name '_strBranchReleaseVersion' doesn't match '[a-z][a-zA-Z0-9]*' 1 724
CommentRequired Public method and constructor comments are required 3 729–731
FormalParameterNamingConventions The method parameter name '_strTargetJdk' doesn't match '[a-z][a-zA-Z0-9]*' 1 733
CommentRequired Public method and constructor comments are required 3 733–735

fr/paris/lutece/plugins/releaser/business/IReleaserResource.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.StringUtils' 4 36

fr/paris/lutece/plugins/releaser/business/IWorkflowContextHistoryDAO.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.ReferenceList' 4 72

fr/paris/lutece/plugins/releaser/business/ReleaserUser.java

Rule Violation Priority Line
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 54
ImmutableField Private field '_mapCredential' could be made final; it is only initialized in the declaration or constructor. 3 54
ImmutableField Private field '_strLogin' could be made final; it is only initialized in the declaration or constructor. 3 115
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 115
ImmutableField Private field '_strPassword' could be made final; it is only initialized in the declaration or constructor. 3 118
FieldDeclarationsShouldBeAtStartOfClass Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 3 118

fr/paris/lutece/plugins/releaser/business/Site.java

Rule Violation Priority Line
ExcessivePublicCount This class has a bunch of public methods and attributes 3 34–637
ShortClassName Avoid short class names like Site 4 51–637
TooManyFields Too many fields 3 51–637
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 62
FieldNamingConventions The field name 'permissions' doesn't match '_[a-z][a-zA-Z0-9]*' 1 62
ImmutableField Private field '_listCurrentDependencies' could be made final; it is only initialized in the declaration or constructor. 3 106
ImmutableField Private field '_listComponents' could be made final; it is only initialized in the declaration or constructor. 3 109
MissingOverride The method 'getArtifactId()' is missing an @Override annotation. 3 173–176
MissingOverride The method 'getScmUrl()' is missing an @Override annotation. 3 215–218
FormalParameterNamingConventions The method parameter name '_strTagInfotmation' doesn't match '[a-z][a-zA-Z0-9]*' 1 499
FormalParameterNamingConventions The method parameter name '_strGroupId' doesn't match '[a-z][a-zA-Z0-9]*' 1 520
FormalParameterNamingConventions The method parameter name '_bTheme' doesn't match '[a-z][a-zA-Z0-9]*' 1 541
CommentRequired Public method and constructor comments are required 3 546–549
CommentRequired Public method and constructor comments are required 3 551–553
FormalParameterNamingConventions The method parameter name '_bCreateDckerImage' doesn't match '[a-z][a-zA-Z0-9]*' 1 551
CommentRequired Public method and constructor comments are required 3 555–558
CommentRequired Public method and constructor comments are required 3 560–563
CommentRequired Public method and constructor comments are required 3 565–568
FormalParameterNamingConventions The method parameter name '_strBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 1 570
CommentRequired Public method and constructor comments are required 3 570–573
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 609
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 614
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 617
ControlStatementBraces This statement should have braces 3 617
ControlStatementBraces This statement should have braces 3 619
CommentRequired Public method and constructor comments are required 3 627–630
FormalParameterNamingConventions The method parameter name '_strParentVersion' doesn't match '[a-z][a-zA-Z0-9]*' 1 632
CommentRequired Public method and constructor comments are required 3 632–635

fr/paris/lutece/plugins/releaser/business/SiteDAO.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 182
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 214
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 252
UnusedLocalVariable Avoid unused local variables such as 'nIndex'. 3 294
ControlStatementBraces This statement should have braces 3 296

fr/paris/lutece/plugins/releaser/business/WorkflowContextHistory.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_dateBegin' doesn't match '[a-z][a-zA-Z0-9]*' 1 181
FormalParameterNamingConventions The method parameter name '_dateEnd' doesn't match '[a-z][a-zA-Z0-9]*' 1 202
FormalParameterNamingConventions The method parameter name '_strArtifactId' doesn't match '[a-z][a-zA-Z0-9]*' 1 223

fr/paris/lutece/plugins/releaser/business/WorkflowContextHistoryHome.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.ReferenceList' 4 73

fr/paris/lutece/plugins/releaser/business/WorkflowReleaseContext.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_nId' doesn't match '[a-z][a-zA-Z0-9]*' 1 98
FormalParameterNamingConventions The method parameter name '_component' doesn't match '[a-z][a-zA-Z0-9]*' 1 119
FormalParameterNamingConventions The method parameter name '_commandResult' doesn't match '[a-z][a-zA-Z0-9]*' 1 140
FormalParameterNamingConventions The method parameter name '_releaserUser' doesn't match '[a-z][a-zA-Z0-9]*' 1 194
FormalParameterNamingConventions The method parameter name '_strRefBranchRelease' doesn't match '[a-z][a-zA-Z0-9]*' 1 215
FormalParameterNamingConventions The method parameter name '_strRefBranchReleaseFrom' doesn't match '[a-z][a-zA-Z0-9]*' 1 236

fr/paris/lutece/plugins/releaser/service/ClusterResourceIdService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 48–147
DataClass The class 'ClusterResourceIdService' is suspected to be a Data Class (WOC=0.000%, NOPA=4, NOAM=0, WMC=1) 3 48–147
CallSuperInConstructor It is a good practice to call super() in a constructor 3 71–74
ShortVariable Avoid variables with short names like rt 3 80
ShortVariable Avoid variables with short names like p 3 86

fr/paris/lutece/plugins/releaser/service/ClusterService.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 51–169
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 82
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 86
ControlStatementBraces This statement should have braces 3 140
MethodNamingConventions The static method name 'IsAddClusterAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 1 146–155
CommentRequired Public method and constructor comments are required 3 146–155
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 149–152
CommentRequired Public method and constructor comments are required 3 157–168
MethodNamingConventions The static method name 'IsUserAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 1 157–168

fr/paris/lutece/plugins/releaser/service/ComponentResourceIdService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 45–95
CallSuperInConstructor It is a good practice to call super() in a constructor 3 56–59
ShortVariable Avoid variables with short names like rt 3 65
ShortVariable Avoid variables with short names like p 3 71

fr/paris/lutece/plugins/releaser/service/ComponentService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–577
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.CVSFactoryService' 4 59
SingularField Perhaps '_executor' could be replaced by a local variable. 3 85
UnusedPrivateField Avoid unused private fields such as '_executor'. 3 85
SingularField Perhaps '_mapper' could be replaced by a local variable. 3 86
UnusedPrivateField Avoid unused private fields such as '_mapper'. 3 86
NonThreadSafeSingleton Singleton is not thread safe 3 95–99
MissingOverride The method 'setRemoteInformations(Component, boolean)' is missing an @Override annotation. 3 105–108
CommentRequired Public method and constructor comments are required 3 105–108
MissingOverride The method 'getLastReleaseVersion(String)' is missing an @Override annotation. 3 115–120
MissingOverride The method 'setLastReleaseVersion(String, String)' is missing an @Override annotation. 3 127–132
MissingOverride The method 'getLastReleaseNextSnapshotVersion(String)' is missing an @Override annotation. 3 139–144
MissingOverride The method 'setLastReleaseNextSnapshotVersion(String, String)' is missing an @Override annotation. 3 151–155
CommentRequired Public method and constructor comments are required 3 181–184
MissingOverride The method 'release(Component, Locale, AdminUser, HttpServletRequest)' is missing an @Override annotation. 3 181–184
CommentRequired Public method and constructor comments are required 3 186–190
MissingOverride The method 'isGitComponent(Component)' is missing an @Override annotation. 3 186–190
MissingOverride The method 'init()' is missing an @Override annotation. 3 192–198
CommentRequired Public method and constructor comments are required 3 192–198
CyclomaticComplexity The method 'updateRemoteInformations(Component)' has a cyclomatic complexity of 11. 3 201–249
CommentRequired Public method and constructor comments are required 3 251–287
MissingOverride The method 'updateComponentForReleaseBranchFrom(Component, String)' is missing an @Override annotation. 3 251–287
StringToString Avoid calling toString() on String objects; this is unnecessary. 3 266
StringToString Avoid calling toString() on String objects; this is unnecessary. 3 276
CommentRequired Public method and constructor comments are required 3 289–322
MissingOverride The method 'getSearchComponent(String, HttpServletRequest, Locale, String, String)' is missing an @Override annotation. 3 289–322
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 304
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 318–319
UnusedFormalParameter Avoid unused method parameters such as 'strPassword'. 3 324
UnusedFormalParameter Avoid unused method parameters such as 'strUser'. 3 324
CommentRequired Public method and constructor comments are required 3 347–382
MissingOverride The method 'loadComponent(Component, boolean, String, String, String)' is missing an @Override annotation. 3 347–382
AvoidReassigningParameters Avoid reassigning parameters such as 'component' 2 347
ConfusingTernary Avoid if (x != y) ..; else ..; 3 355–372
ConfusingTernary Avoid if (x != y) ..; else ..; 3 386–403
EmptyIfStmt Avoid empty if statements 3 393–397
EmptyIfStmt Avoid empty if statements 3 400–403
MissingOverride The method 'isErrorSnapshotComponentInformations(Component, String)' is missing an @Override annotation. 3 424–454
CommentRequired Public method and constructor comments are required 3 424–454
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 435
MissingOverride The method 'changeNextReleaseVersion(Component)' is missing an @Override annotation. 3 462–474
CommentRequired Public method and constructor comments are required 3 476–485
MethodNamingConventions The static method name 'IsSearchComponentAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 1 476–485
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 479–482
MissingOverride The method 'getLastBranchVersion(Component, String, ReleaserUser)' is missing an @Override annotation. 3 528–575
CommentRequired Public method and constructor comments are required 3 528–575
AvoidReassigningParameters Avoid reassigning parameters such as 'component' 2 528

fr/paris/lutece/plugins/releaser/service/GetRemoteInformationsTask.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 46
ImmutableField Private field '_component' could be made final; it is only initialized in the declaration or constructor. 3 49

fr/paris/lutece/plugins/releaser/service/IComponentService.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifier 'public' on method 'updateComponentForReleaseBranchFrom': the method is declared in an interface type 3 77
CommentRequired Public method and constructor comments are required 3 242

fr/paris/lutece/plugins/releaser/service/IJenkinsService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 5–13
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'init': the method is declared in an interface type 3 10
MethodNamingConventions The instance method name 'TriggerPipeline' doesn't match '[a-z][a-zA-Z0-9]*' 1 12
CommentRequired Public method and constructor comments are required 3 12

fr/paris/lutece/plugins/releaser/service/IJiraService.java

Rule Violation Priority Line
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'init': the method is declared in an interface type 3 48
UnnecessaryModifier Unnecessary modifiers 'public abstract' on method 'updateComponentVersions': the method is declared in an interface type 3 58

fr/paris/lutece/plugins/releaser/service/IMavenService.java

Rule Violation Priority Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 81–82
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 98

fr/paris/lutece/plugins/releaser/service/IWorkflowReleaseContextService.java

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

fr/paris/lutece/plugins/releaser/service/JenkinsService.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 18–162
FieldNamingConventions The static field name 'JENKINS_BASE_URL' doesn't match '_[a-z][a-zA-Z0-9]*' 1 39
FieldNamingConventions The static field name 'JENKINS_PIPELINE_NAME' doesn't match '_[a-z][a-zA-Z0-9]*' 1 42
FieldNamingConventions The static field name 'JENKINS_BUILD_TYPE' doesn't match '_[a-z][a-zA-Z0-9]*' 1 45
FieldNamingConventions The static field name 'JENKINS_USER_LOGIN' doesn't match '_[a-z][a-zA-Z0-9]*' 1 48
FieldNamingConventions The static field name 'JENKINS_USER_PWD' doesn't match '_[a-z][a-zA-Z0-9]*' 1 51
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 3 54
NonThreadSafeSingleton Singleton is not thread safe 3 63–67
CyclomaticComplexity The method 'TriggerPipeline(WorkflowReleaseContext)' has a cyclomatic complexity of 10. 3 83–161
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 98
LocalVariableNamingConventions The local variable name 'ObjectBuildJson' doesn't match '[a-z][a-zA-Z0-9]*' 1 135
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 3 151–154
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 3 155–158

fr/paris/lutece/plugins/releaser/service/JiraComponentService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–286
UnusedImports Avoid unused imports such as 'com.atlassian.jira.rest.client.api.domain.IssueField' 4 51
FieldNamingConventions The static field name 'URL_JIRA_SERVER' doesn't match '_[a-z][a-zA-Z0-9]*' 1 87
FieldNamingConventions The static field name 'JIRA_USER' doesn't match '_[a-z][a-zA-Z0-9]*' 1 90
FieldNamingConventions The static field name 'JIRA_USER_PWD' doesn't match '_[a-z][a-zA-Z0-9]*' 1 93
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 110–113
UncommentedEmptyConstructor Document empty constructor 3 110–113
NonThreadSafeSingleton Singleton is not thread safe 3 122–126
CyclomaticComplexity The method 'updateComponentVersions(Component, CommandResult)' has a cyclomatic complexity of 12. 3 185–284
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 185–284
ConfusingTernary Avoid if (x != y) ..; else ..; 3 191–282
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 229
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 230
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 230
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 259

fr/paris/lutece/plugins/releaser/service/MavenRepoComponentInfoProvider.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 2–436
UnusedImports Avoid unused imports such as 'java.io.Serializable' 4 5
UnusedImports Avoid unused imports such as 'java.util.Collections' 4 8
UnusedImports Avoid unused imports such as 'java.util.Comparator' 4 9
UnusedImports Avoid unused imports such as 'java.util.Date' 4 10
UnusedImports Avoid unused imports such as 'java.util.HashMap' 4 11
UnusedImports Avoid unused imports such as 'java.util.regex.Matcher' 4 14
UnusedImports Avoid unused imports such as 'java.util.regex.Pattern' 4 15
UnusedImports Avoid unused imports such as 'org.apache.commons.collections.MapUtils' 4 23
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.math.NumberUtils' 4 24
UnusedImports Avoid unused imports such as 'java.time.ZonedDateTime' 4 25
UnusedImports Avoid unused imports such as 'java.time.format.DateTimeFormatter' 4 26
UnusedImports Avoid unused imports such as 'java.time.format.DateTimeParseException' 4 27
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.version.Version' 4 32
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.version.VersionParsingException' 4 33
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.datastore.DatastoreService' 4 35
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.spring.SpringContextService' 4 36
GodClass Possible God Class (WMC=51, ATFD=35, TCC=1.818%) 3 45–436
UnusedPrivateField Avoid unused private fields such as 'URL_MAVEN_PATH_SITE_POM'. 3 73
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 100–107
CommentRequired Public method and constructor comments are required 3 109–173
ConfusingTernary Avoid if (x != y) ..; else ..; 3 121–139
ConfusingTernary Avoid if (x != y) ..; else ..; 3 125–134
ConfusingTernary Avoid if (x != y) ..; else ..; 3 143–165
ConfusingTernary Avoid if (x != y) ..; else ..; 3 147–156
ControlStatementBraces This statement should have braces 3 160
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 168
ConfusingTernary Avoid if (x != y) ..; else ..; 3 260–288
UnusedPrivateMethod Avoid unused private methods such as 'getPomUrl(String,String,String)'. 3 293
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 297
UseEqualsToCompareStrings Use equals() to compare strings instead of '==' or '!=' 3 297
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 299
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 302
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 304
UnusedFormalParameter Avoid unused method parameters such as 'strArtifactId'. 3 309
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 315
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 317
UnusedLocalVariable Avoid unused local variables such as 'listVersions'. 3 323
StringToString Avoid calling toString() on String objects; this is unnecessary. 3 325
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 345
LinguisticNaming Linguistics Antipattern - The getter 'getPomInfos' should not return void linguistically 3 362–393
UnusedLocalVariable Avoid unused local variables such as 'headersResponse'. 3 367
UseIndexOfChar String.indexOf(char) is faster than String.indexOf(String). 3 426

fr/paris/lutece/plugins/releaser/service/MavenService.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'fr.paris.lutece.util.string.StringUtil' 4 56
ClassWithOnlyPrivateConstructorsShouldBeFinal A class which only has private constructors should be final 1 62–330
NonThreadSafeSingleton Singleton is not thread safe 3 87–91
MissingOverride The method 'init()' is missing an @Override annotation. 3 100–106
MissingOverride The method 'mvnSiteAssembly(String, String, String, SvnUser, CommandResult)' is missing an @Override annotation. 3 128–138
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 133
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 168–171
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 187–244
AddEmptyString Do not add empty strings 3 215
MissingOverride The method 'consumeLine(String)' is missing an @Override annotation. 3 226–229
CommentRequired Public method and constructor comments are required 3 226–229
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 228
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 237
MissingOverride The method 'mvnReleasePerform(String, String, String, CommandResult, boolean, String)' is missing an @Override annotation. 3 259–271
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 259
SystemPrintln System.out.println is used 2 264
MissingOverride The method 'mvnReleasePrepare(String, String, String, String, String, String, CommandResult, String)' is missing an @Override annotation. 3 292–307
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 292–293
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 313

fr/paris/lutece/plugins/releaser/service/ReleaseComponentTask.java

Rule Violation Priority Line
DoNotUseThreads To be compliant to J2EE, a webapp should not use any thread. 3 59
ImmutableField Private field '_nIdWorkflow' could be made final; it is only initialized in the declaration or constructor. 3 66
ImmutableField Private field '_wfContext' could be made final; it is only initialized in the declaration or constructor. 3 69
ImmutableField Private field '_request' could be made final; it is only initialized in the declaration or constructor. 3 72
ImmutableField Private field '_user' could be made final; it is only initialized in the declaration or constructor. 3 75
ImmutableField Private field '_locale' could be made final; it is only initialized in the declaration or constructor. 3 78
MissingOverride The method 'run()' is missing an @Override annotation. 3 107–178
UnusedLocalVariable Avoid unused local variables such as 'state'. 3 110
AvoidBranchingStatementAsLastInLoop Avoid using a branching statement as the last in a loop. 2 160

fr/paris/lutece/plugins/releaser/service/SiteResourceIdService.java

Rule Violation Priority Line
CallSuperInConstructor It is a good practice to call super() in a constructor 3 72–75
ShortVariable Avoid variables with short names like rt 3 80
ShortVariable Avoid variables with short names like p 3 86

fr/paris/lutece/plugins/releaser/service/SiteService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–910
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.plugin.Plugin' 4 72
GodClass Possible God Class (WMC=100, ATFD=148, TCC=0.000%) 3 83–910
CyclomaticComplexity The class 'SiteService' has a total cyclomatic complexity of 100 (highest 14). 3 83–910
TooManyMethods This class has too many methods, consider refactoring it. 3 84–910
FieldNamingConventions The static field name 'POM_PARENT_MIN_VERSION_TO_CREATE_DOCKET_IMAGE' doesn't match '_[a-z][a-zA-Z0-9]*' 1 111
ConfusingTernary Avoid if (x != y) ..; else ..; 3 131–147
CommentRequired Public method and constructor comments are required 3 187–209
UselessOperationOnImmutable An operation on an Immutable object (String, BigDecimal or BigInteger) wont change the object itself 3 195
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 264
IdenticalCatchBranches 'catch' branch identical to 'InterruptedException' branch 3 283–287
BooleanInstantiation Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. 2 376
CyclomaticComplexity The method 'buildReleaseComments(Component, Locale)' has a cyclomatic complexity of 14. 3 465–538
ConfusingTernary Avoid if (x != y) ..; else ..; 3 476–537
ConfusingTernary Avoid if (x != y) ..; else ..; 3 509–525
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 667
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 667
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 801
IdenticalCatchBranches 'catch' branch identical to 'FileNotFoundException' branch 3 818–822
CommentRequired Public method and constructor comments are required 3 827–886
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 830
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 839
MethodNamingConventions The static method name 'IsUserAuthorized' doesn't match '[a-z][a-zA-Z0-9]*' 1 888–899
CommentRequired Public method and constructor comments are required 3 888–899
CommentRequired Public method and constructor comments are required 3 901–908
MethodNamingConventions The static method name 'IsSiteAlreadyExist' doesn't match '[a-z][a-zA-Z0-9]*' 1 901–908
SimplifyBooleanReturns Avoid unnecessary if..then..else statements when returning booleans 3 904–905
ControlStatementBraces This statement should have braces 3 905

fr/paris/lutece/plugins/releaser/service/TwitterService.java

Rule Violation Priority Line
RedundantFieldInitializer Avoid using redundant field initializer for '_twitter' 3 89
RedundantFieldInitializer Avoid using redundant field initializer for '_instance' 3 92
NonThreadSafeSingleton Singleton is not thread safe 3 101–105
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 113–116
MissingOverride The method 'sendTweet(String, CommandResult)' is missing an @Override annotation. 3 126–144
MissingOverride The method 'init()' is missing an @Override annotation. 3 149–167

fr/paris/lutece/plugins/releaser/service/WorkflowReleaseContextService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–903
GodClass Possible God Class (WMC=64, ATFD=102, TCC=2.381%) 3 84–903
TooManyMethods This class has too many methods, consider refactoring it. 3 85–903
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 91
ImmutableField Private field '_mapWorkflowReleaseContext' could be made final; it is only initialized in the declaration or constructor. 3 91
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 91
ImmutableField Private field '_releaseInProgress' could be made final; it is only initialized in the declaration or constructor. 3 97
LooseCoupling Avoid using implementation types like 'HashSet'; use the interface instead 3 97
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 97
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 113–135
ConfusingTernary Avoid if (x != y) ..; else ..; 3 123
MissingOverride The method 'saveWorkflowReleaseContext(WorkflowReleaseContext)' is missing an @Override annotation. 3 161–199
AvoidSynchronizedAtMethodLevel Use block level rather than method level synchronization 3 161–199
ConfusingTernary Avoid if (x != y) ..; else ..; 3 171–192
ConfusingTernary Avoid if (x != y) ..; else ..; 3 188
MissingOverride The method 'getListWorkflowReleaseContextHistory(String)' is missing an @Override annotation. 3 233–268
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 236
MissingOverride The method 'getIdWorkflow(WorkflowReleaseContext)' is missing an @Override annotation. 3 277–293
NonThreadSafeSingleton Singleton is not thread safe 3 302–307
MissingOverride The method 'mergeDevelopMaster(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 320–418
CyclomaticComplexity The method 'mergeDevelopMaster(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 14. 3 320–418
ConfusingTernary Avoid if (x != y) ..; else ..; 3 342–378
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 387–391
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 392–395
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 396–399
MissingOverride The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 428–586
CyclomaticComplexity The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 12. 3 428–586
NcssCount The method 'releasePrepareComponent(WorkflowReleaseContext, Locale)' has a NCSS line count of 71. 3 428–586
ExcessiveMethodLength Avoid really long methods. 3 428–586
LocalVariableNamingConventions The local variable name 'StrLocalComponentPomEffectivePath' doesn't match '[a-z][a-zA-Z0-9]*' 1 445
AvoidDuplicateLiterals The String literal " to " appears 4 times in this file; the first occurrence is on line 464 3 464
MissingOverride The method 'releasePerformComponent(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 596–630
AvoidDuplicateLiterals The String literal " Release Perform" appears 4 times in this file; the first occurrence is on line 604 3 604
MissingOverride The method 'checkoutRepository(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 640–653
MissingOverride The method 'releasePrepareSite(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 663–727
AvoidDuplicateLiterals The String literal "...\n" appears 4 times in this file; the first occurrence is on line 676 3 676
MissingOverride The method 'sendTweet(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 737–748
MissingOverride The method 'updateJiraVersions(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 758–769
MissingOverride The method 'startWorkflowReleaseContext(WorkflowReleaseContext, int, Locale, HttpServletRequest, AdminUser)' is missing an @Override annotation. 3 785–788
MissingOverride The method 'init()' is missing an @Override annotation. 3 793–798
MissingOverride The method 'startReleaseInProgress(String)' is missing an @Override annotation. 3 806–810
MissingOverride The method 'stopReleaseInProgress(String)' is missing an @Override annotation. 3 818–822
MissingOverride The method 'isReleaseInProgress(String)' is missing an @Override annotation. 3 831–835
MissingOverride The method 'createDockerImage(WorkflowReleaseContext, Locale)' is missing an @Override annotation. 3 889–901
UnusedLocalVariable Avoid unused local variables such as 'commandResult'. 3 893

fr/paris/lutece/plugins/releaser/service/github/GitResourceService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–663
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.business.Component' 4 56
MissingOverride The method 'fetchPom(Site, String, String)' is missing an @Override annotation. 3 88–102
CyclomaticComplexity The method 'getLastRelease(Site, String, String)' has a cyclomatic complexity of 15. 3 114–185
MissingOverride The method 'getLastRelease(Site, String, String)' is missing an @Override annotation. 3 114–185
ConfusingTernary Avoid if (x != y) ..; else ..; 3 126–175
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 139
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 139
CollapsibleIfStatements These nested if statements could be combined 3 142–147
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 142–147
CyclomaticComplexity The method 'doCheckoutRepository(WorkflowReleaseContext, String, String)' has a cyclomatic complexity of 11. 3 199–287
ConfusingTernary Avoid if (x != y) ..; else ..; 3 234–245
AvoidDuplicateLiterals The String literal "/.git" appears 4 times in this file; the first occurrence is on line 330 3 330
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 344–348
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 349–352
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 353–356
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 415–419
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 420–423
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 424–427
CyclomaticComplexity The method 'rollbackRelease(WorkflowReleaseContext, Locale)' has a cyclomatic complexity of 15. 3 458–573
ExcessiveMethodLength Avoid really long methods. 3 458–573
ConfusingTernary Avoid if (x != y) ..; else ..; 3 506–513
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 540–544
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 545–548
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 549–552
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 629–633
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 634–637
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 638–641

fr/paris/lutece/plugins/releaser/service/svn/SvnResourceService.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–412
UnusedImports Avoid unused imports such as 'java.io.IOException' 4 37
UnusedImports Avoid unused imports such as 'java.io.PrintWriter' 4 38
UnusedImports Avoid unused imports such as 'java.io.StringWriter' 4 39
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.ObjectUtils' 4 44
UnusedImports Avoid unused imports such as 'org.apache.commons.lang3.StringUtils' 4 45
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.SVNCancelException' 4 46
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.SVNException' 4 47
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.ISVNEventHandler' 4 49
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.SVNEvent' 4 50
UnusedImports Avoid unused imports such as 'org.tmatesoft.svn.core.wc.SVNEventAction' 4 51
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.business.RepositoryType' 4 54
UnusedImports Avoid unused imports such as 'fr.paris.lutece.plugins.releaser.util.svn.ReleaseSvnCopyClient' 4 65
MissingOverride The method 'fetchPom(Site, String, String)' is missing an @Override annotation. 3 92–112
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 106
MissingOverride The method 'getLastRelease(Site, String, String)' is missing an @Override annotation. 3 125–160
ConfusingTernary Avoid if (x != y) ..; else ..; 3 146
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 173
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 310
ConfusingTernary Avoid if (x != y) ..; else ..; 3 355
LongInstantiation Avoid instantiating Long objects.Call Long.valueOf() instead 2 355
CompareObjectsWithEquals Use equals() to compare object references. 3 357
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 371

fr/paris/lutece/plugins/releaser/util/CVSFactoryService.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 44–104
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 58–61
UncommentedEmptyConstructor Document empty constructor 3 58–61

fr/paris/lutece/plugins/releaser/util/CommandResult.java

Rule Violation Priority Line
FieldNamingConventions The static field name 'STATUS_ERROR' doesn't match '_[a-z][a-zA-Z0-9]*' 1 52
RedundantFieldInitializer Avoid using redundant field initializer for 'STATUS_ERROR' 3 52
FieldNamingConventions The static field name 'STATUS_OK' doesn't match '_[a-z][a-zA-Z0-9]*' 1 55
RedundantFieldInitializer Avoid using redundant field initializer for 'ERROR_TYPE_INFO' 3 58
FieldNamingConventions The static field name 'ERROR_TYPE_INFO' doesn't match '_[a-z][a-zA-Z0-9]*' 1 58
FieldNamingConventions The static field name 'ERROR_TYPE_STOP' doesn't match '_[a-z][a-zA-Z0-9]*' 1 61
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 64
FieldNamingConventions The field name 'progressValue' doesn't match '_[a-z][a-zA-Z0-9]*' 1 82
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 88
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 88
CloneMethodReturnTypeMustMatchClassName The return type of the clone() method must be the class name when implements Cloneable 3 158–167
FormalParameterNamingConventions The method parameter name '_mResultInformations' doesn't match '[a-z][a-zA-Z0-9]*' 1 206
FormalParameterNamingConventions The method parameter name '_nErrorType' doesn't match '[a-z][a-zA-Z0-9]*' 1 227
FormalParameterNamingConventions The method parameter name '_dBegin' doesn't match '[a-z][a-zA-Z0-9]*' 1 248
FormalParameterNamingConventions The method parameter name '_dEnd' doesn't match '[a-z][a-zA-Z0-9]*' 1 269

fr/paris/lutece/plugins/releaser/util/MapperJsonUtil.java

Rule Violation Priority Line
FieldNamingConventions The constant name '_mapper' doesn't match '[A-Z][A-Z_0-9]*' 1 50
ShortVariable Avoid variables with short names like t 3 78

fr/paris/lutece/plugins/releaser/util/PluginUtils.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'javax.xml.parsers.ParserConfigurationException' 4 48
UnusedImports Avoid unused imports such as 'javax.xml.transform.TransformerException' 4 50
UnusedImports Avoid unused imports such as 'org.eclipse.jgit.api.errors.NoFilepatternException' 4 55
UnusedImports Avoid unused imports such as 'org.xml.sax.SAXException' 4 59
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 66–363
CyclomaticComplexity The method 'updateAppInfoFile(String, String, CommandResult)' has a cyclomatic complexity of 12. 3 185–269
ShortVariable Avoid variables with short names like br 3 188
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 193
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 200
CollapsibleIfStatements These nested if statements could be combined 3 200–213
ConfusingTernary Avoid if (x != y) ..; else ..; 3 203–212
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 216
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 220
ShortVariable Avoid variables with short names like fw 3 244
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 247
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 250
ShortVariable Avoid variables with short names like fw 3 284
ShortVariable Avoid variables with short names like sw 3 301
ShortVariable Avoid variables with short names like tf 3 304
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 308
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 319
AvoidPrintStackTrace Avoid printStackTrace(); use a logger call instead. 3 334
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the ContextFileFilter nested class if you want a default access modifier 3 345–361
MissingOverride The method 'accept(File, String)' is missing an @Override annotation. 3 357–360

fr/paris/lutece/plugins/releaser/util/ReleaserUtils.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=59, ATFD=70, TCC=0.000%) 3 64–589
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 65–589
TooManyMethods This class has too many methods, consider refactoring it. 3 65–589
ConfusingTernary Avoid if (x != y) ..; else ..; 3 118–129
ShortVariable Avoid variables with short names like e 3 242
ConfusingTernary Avoid if (x != y) ..; else ..; 3 245–252
ShortVariable Avoid variables with short names like e 3 275
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 275
ConfusingTernary Avoid if (x != y) ..; else ..; 3 278–285
ConfusingTernary Avoid if (x != y) ..; else ..; 3 295–302
AvoidUncheckedExceptionsInSignatures A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause 3 315
ConfusingTernary Avoid if (x != y) ..; else ..; 3 336
ConfusingTernary Avoid if (x != y) ..; else ..; 3 381
ConfusingTernary Avoid if (x != y) ..; else ..; 3 443
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 467–477
ConfusingTernary Avoid if (x != y) ..; else ..; 3 491
CommentRequired Public method and constructor comments are required 3 535–543
CommentRequired Public method and constructor comments are required 3 545–565
ConfusingTernary Avoid if (x != y) ..; else ..; 3 550–562
ConfusingTernary Avoid if (x != y) ..; else ..; 3 555–562
CommentRequired Public method and constructor comments are required 3 567–586
MethodNamingConventions The static method name 'IsVersionInRightFormat' doesn't match '[a-z][a-zA-Z0-9]*' 1 567–586
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 570

fr/paris/lutece/plugins/releaser/util/file/FileUtils.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 48–160
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 82
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 141

fr/paris/lutece/plugins/releaser/util/github/GitUtils.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–788
GodClass Possible God Class (WMC=69, ATFD=39, TCC=0.000%) 3 89–788
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 90–788
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 118–119
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 145–149
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 150–153
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 154–158
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 193–197
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 199–202
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 229–233
IdenticalCatchBranches 'catch' branch identical to 'InvalidRemoteException' branch 3 235–238
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 3 267–270
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 3 271–274
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 3 275–278
IdenticalCatchBranches 'catch' branch identical to 'RefAlreadyExistsException' branch 3 279–282
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'mergeResult' 3 400
ShortVariable Avoid variables with short names like i 3 419
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 424
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 425
UseStringBufferForStringAppends Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings 3 426
ShortVariable Avoid variables with short names like i 3 445
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 527
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 550
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 550
IdenticalCatchBranches 'catch' branch identical to 'HttpAccessException' branch 3 565–568
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 588
LocalVariableNamingConventions The final local variable name 'TOKEN' doesn't match '[a-z][a-zA-Z0-9]*' 1 621
ShortVariable Avoid variables with short names like i 3 626
ForLoopCanBeForeach This for loop can be replaced by a foreach loop 3 644–653
UnusedLocalVariable Avoid unused local variables such as 'tagName'. 3 647
AvoidReassigningParameters Avoid reassigning parameters such as 'strRepoUrl' 2 689
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 711
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 712
CommentRequired Public method and constructor comments are required 3 736–787
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 747

fr/paris/lutece/plugins/releaser/util/github/GithubSearchRepoItem.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_strName' doesn't match '[a-z][a-zA-Z0-9]*' 1 73
FormalParameterNamingConventions The method parameter name '_strCloneUrl' doesn't match '[a-z][a-zA-Z0-9]*' 1 96
FormalParameterNamingConventions The method parameter name '_strContentsUrl' doesn't match '[a-z][a-zA-Z0-9]*' 1 119
FormalParameterNamingConventions The method parameter name '_strFullName' doesn't match '[a-z][a-zA-Z0-9]*' 1 142

fr/paris/lutece/plugins/releaser/util/github/ReleaseGITGetRepoClient.java

Rule Violation Priority Line
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 3 44
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 3 44
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 1 44
UncommentedEmptyConstructor Document empty constructor 3 49–51
UnnecessaryConstructor Avoid unnecessary constructors - the compiler will generate these for you 3 49–51

fr/paris/lutece/plugins/releaser/util/maven/MavenUtils.java

Rule Violation Priority Line
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 76–77
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 85

fr/paris/lutece/plugins/releaser/util/pom/PomParser.java

Rule Violation Priority Line
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 68
ImmutableField Private field '_listDependencies' could be made final; it is only initialized in the declaration or constructor. 3 68
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 68
LinguisticNaming Linguistics Antipattern - The variable 'isPOM' indicates linguistically it is a boolean, but it is 'InputSource' 3 92
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 4 97
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 134
LinguisticNaming Linguistics Antipattern - The variable 'isPOM' indicates linguistically it is a boolean, but it is 'InputSource' 3 155
ShortVariable Avoid variables with short names like op 3 162
ShortVariable Avoid variables with short names like op 3 203
ShortVariable Avoid variables with short names like jc 3 286
ShortVariable Avoid variables with short names like u 3 287

fr/paris/lutece/plugins/releaser/util/pom/PomUpdater.java

Rule Violation Priority Line
UnusedImports Avoid unused imports such as 'java.util.Iterator' 4 42
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 4 56
ClassNamingConventions The utility class name 'PomUpdater' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper|Home|Service)' 1 64–276
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 65–276
CyclomaticComplexity The method 'updateSiteBeforeTag(Site, String)' has a cyclomatic complexity of 10. 3 78–152
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 87
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 4 92
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 102–105
CollapsibleIfStatements These nested if statements could be combined 3 102–105
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 126
CyclomaticComplexity The method 'updateSiteAfterTag(Site, String)' has a cyclomatic complexity of 10. 3 165–229
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 174
UnnecessaryFullyQualifiedName Unnecessary use of fully qualified name 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model.Dependencies' due to existing import 'fr.paris.lutece.plugins.releaser.business.jaxb.maven.Model' 4 180
CollapsibleIfStatements These nested if statements could be combined 3 192–195
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 192–195
AvoidFileStream Avoid instantiating FileInputStream, FileOutputStream, FileReader, or FileWriter 1 203
ShortVariable Avoid variables with short names like jc 3 247
ShortVariable Avoid variables with short names like m 3 248
ShortVariable Avoid variables with short names like jc 3 270
ShortVariable Avoid variables with short names like u 3 271

fr/paris/lutece/plugins/releaser/util/pom/SaxPomHandler.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 7–230
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 20
ImmutableField Private field '_sbScmUrl' could be made final; it is only initialized in the declaration or constructor. 3 20
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 21
ImmutableField Private field '_sbScmConnection' could be made final; it is only initialized in the declaration or constructor. 3 21
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 22
ImmutableField Private field '_sbScmDeveloperConnection' could be made final; it is only initialized in the declaration or constructor. 3 22
CyclomaticComplexity The method 'characters(char, int, int)' has a cyclomatic complexity of 13. 3 192–229
ShortVariable Avoid variables with short names like ch 3 192
PositionLiteralsFirstInComparisons Position literals first in String comparisons 3 202

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCheckoutClient.java

Rule Violation Priority Line
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 3 49
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 1 49
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 3 49

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCommitClient.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 3 48
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 1 48
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 3 48

fr/paris/lutece/plugins/releaser/util/svn/ReleaseSvnCopyClient.java

Rule Violation Priority Line
UnusedPrivateField Avoid unused private fields such as 'bCancelled'. 3 48
SingularField Perhaps 'bCancelled' could be replaced by a local variable. 3 48
FieldNamingConventions The field name 'bCancelled' doesn't match '_[a-z][a-zA-Z0-9]*' 1 48

fr/paris/lutece/plugins/releaser/util/svn/SvnUser.java

Rule Violation Priority Line
FormalParameterNamingConventions The method parameter name '_mUserContex' doesn't match '[a-z][a-zA-Z0-9]*' 1 120

fr/paris/lutece/plugins/releaser/util/svn/SvnUtils.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–508
UnusedPrivateField Avoid unused private fields such as 'MESSAGE_ERROR_SVN'. 3 86
UnusedPrivateField Avoid unused private fields such as 'CONSTANTE_SLASH'. 3 89
FieldNamingConventions The constant name 'logger' doesn't match '[A-Z][A-Z_0-9]*' 1 92
UnusedPrivateField Avoid unused private fields such as 'logger'. 3 92
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 163
CollapsibleIfStatements These nested if statements could be combined 3 207–212
MissingOverride The method 'checkCancelled()' is missing an @Override annotation. 3 222–225
CommentRequired Public method and constructor comments are required 3 222–225
MissingOverride The method 'handleEvent(SVNEvent, double)' is missing an @Override annotation. 3 227–230
CommentRequired Public method and constructor comments are required 3 227–230
ShortVariable Avoid variables with short names like sw 3 245
ShortVariable Avoid variables with short names like pw 3 246
UnusedLocalVariable Avoid unused local variables such as 'errorLog'. 3 249
EmptyCatchBlock Avoid empty catch blocks 3 258–262
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 269
ShortVariable Avoid variables with short names like sw 3 273
ShortVariable Avoid variables with short names like pw 3 274
UnusedLocalVariable Avoid unused local variables such as 'errorLog'. 3 277
EmptyCatchBlock Avoid empty catch blocks 3 286–290
MissingOverride The method 'handleDirEntry(SVNDirEntry)' is missing an @Override annotation. 3 321–331
CommentRequired Public method and constructor comments are required 3 321–331
CollapsibleIfStatements These nested if statements could be combined 3 326–329
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 350
UseObjectForClearerAPI Rather than using a lot of String arguments, consider using a container object for those values. 3 413
AvoidReassigningParameters Avoid reassigning parameters such as 'strRepoUrl' 2 465

fr/paris/lutece/plugins/releaser/util/version/Version.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=71, ATFD=22, TCC=29.356%) 3 47–715
UncommentedEmptyConstructor Document empty constructor 3 89–91
CommentRequired Public method and constructor comments are required 3 205–207
CommentRequired Public method and constructor comments are required 3 209–211
FormalParameterNamingConventions The method parameter name '_strQualifierRadix' doesn't match '[a-z][a-zA-Z0-9]*' 1 209
CommentRequired Public method and constructor comments are required 3 213–215
FormalParameterNamingConventions The method parameter name '_nQualifierNumber' doesn't match '[a-z][a-zA-Z0-9]*' 1 217
CommentRequired Public method and constructor comments are required 3 217–219
CyclomaticComplexity The method 'compareTo(Object)' has a cyclomatic complexity of 12. 3 229–273
ConfusingTernary Avoid if (x != y) ..; else ..; 3 248–270
ConfusingTernary Avoid if (x != y) ..; else ..; 3 284–291
ConfusingTernary Avoid if (x != y) ..; else ..; 3 322
AvoidLiteralsInIfCondition Avoid using Literals in Conditional Statements 3 327
ConfusingTernary Avoid if (x != y) ..; else ..; 3 353–364
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 366
AvoidDuplicateLiterals The String literal "Error parsing version " appears 7 times in this file; the first occurrence is on line 534 3 534
AvoidDuplicateLiterals The String literal " : " appears 7 times in this file; the first occurrence is on line 534 3 534
EmptyIfStmt Avoid empty if statements 3 618–621

fr/paris/lutece/plugins/releaser/util/version/VersionParsingException.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 40–55

fr/paris/lutece/plugins/releaser/util/version/VersionUtils.java

Rule Violation Priority Line
CommentRequired Header comments are required 3 8–54
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 9–54
CommentRequired Public method and constructor comments are required 3 11–40
CommentRequired Public method and constructor comments are required 3 42–53
StringToString Avoid calling toString() on String objects; this is unnecessary. 3 52

fr/paris/lutece/plugins/releaser/web/ClusterJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 70–615
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 165
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 166
ConfusingTernary Avoid if (x != y) ..; else ..; 3 207
ConfusingTernary Avoid if (x != y) ..; else ..; 3 449

fr/paris/lutece/plugins/releaser/web/ManageComponentReleaseJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 65–322
CommentDefaultAccessModifier To avoid mistakes add a comment at the beginning of the _paginatorComponents field if you want a default access modifier 3 126
DefaultPackage Use explicit scoping instead of the default package private level 3 126
CyclomaticComplexity The method 'getManageComponent(HttpServletRequest)' has a cyclomatic complexity of 12. 3 137–179
UnusedLocalVariable Avoid unused local variables such as 'user'. 3 145
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 145
ConfusingTernary Avoid if (x != y) ..; else ..; 3 147–169
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 168
ConfusingTernary Avoid if (x != y) ..; else ..; 3 173
ConfusingTernary Avoid if (x != y) ..; else ..; 3 175
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 253
UnusedLocalVariable Avoid unused local variables such as 'component'. 3 261
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 261
UnusedLocalVariable Avoid unused local variables such as 'component'. 3 283
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 283
LinguisticNaming Linguistics Antipattern - The setter 'setReleaserUser' should not return any type except void linguistically 3 288–301

fr/paris/lutece/plugins/releaser/web/ManageSiteReleaseJspBean.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 34–701
UnusedImports Avoid unused imports such as 'fr.paris.lutece.portal.service.i18n.I18nService' 4 49
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 74–701
TooManyMethods This class has too many methods, consider refactoring it. 3 75–701
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 217
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 266
NPathComplexity The method 'getConfirmReleaseSite(HttpServletRequest)' has an NPath complexity of 324 3 267–313
CyclomaticComplexity The method 'getConfirmReleaseSite(HttpServletRequest)' has a cyclomatic complexity of 11. 3 267–313
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 272
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 322
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 349
ConfusingTernary Avoid if (x != y) ..; else ..; 3 357–376
ConfusingTernary Avoid if (x != y) ..; else ..; 3 361–370
UseDiamondOperator Explicit type arguments can be replaced by Diamond Operator 3 505
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 562
UnnecessaryLocalBeforeReturn Consider simply returning the value vs storing it in local variable 'strTemplate' 3 575
UnnecessaryAnnotationValueElement Avoid the use of value in annotations when its the only element 3 633
UnusedLocalVariable Avoid unused local variables such as 'component'. 3 641
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 641
PrematureDeclaration Avoid declaring a variable if it is unreferenced before a possible exit point. 3 662
UnusedLocalVariable Avoid unused local variables such as 'component'. 3 662
LinguisticNaming Linguistics Antipattern - The setter 'setReleaserUser' should not return any type except void linguistically 3 668–681

fr/paris/lutece/plugins/releaser/web/ManageSitesJspBean.java

Rule Violation Priority Line
MissingSerialVersionUID Classes implementing Serializable should set a serialVersionUID 3 49–99
SingularField Perhaps '_nDefaultItemsPerPage' could be replaced by a local variable. 3 62