Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kogito-8084 Sonarcloud - Addressing code smells related to anonymous inner classes, lambda syntax and incorrectly accessed static members #2542

Closed
wants to merge 2 commits into from

Conversation

kbowers-ibm
Copy link
Contributor

https://issues.redhat.com/browse/KOGITO-8084

Goal here is to reduce the number of code smells in Kogito-runtimes.

Addressed in this PR are the following code smells:

  1. (Java) "static" members should be accessed statically (4):

https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS2209&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by changing the instance-reference to a static-reference

  1. (Java) Lambdas containing only one statement should not nest this statement in a block (14):

https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS1602&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by removing useless curly braces around the afffected statements.

  1. (Java) Anonymous inner classes containing only one method should become lambdas (13):

https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS1604&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by replacing anonymous inner classes with lambdas

  1. (Java) Parentheses should be removed from a single lambda input parameter when its type is inferred (8):

https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS1611&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by removing unnecessary parentheses.

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.

build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:
  • for pull request checks
    Please add comment: Jenkins retest this

  • for a specific pull request check
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] tests

  • for quarkus branch checks
    Run checks against Quarkus current used branch
    Please add comment: Jenkins run quarkus-branch

  • for a quarkus branch specific check
    Run checks against Quarkus current used branch
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-branch

  • for quarkus main checks
    Run checks against Quarkus main branch
    Please add comment: Jenkins run quarkus-main

  • for a specific quarkus main check
    Run checks against Quarkus main branch
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-main

  • for quarkus lts checks
    Run checks against Quarkus lts branch
    Please add comment: Jenkins run quarkus-lts

  • for a specific quarkus lts check
    Run checks against Quarkus lts branch
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-lts

  • for native checks
    Run native checks
    Please add comment: Jenkins run native

  • for a specific native check
    Run native checks
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native

  • for mandrel checks
    Run native checks against Mandrel image
    Please add comment: Jenkins run mandrel

  • for a specific mandrel check
    Run native checks against Mandrel image
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] mandrel

  • for mandrel lts checks
    Run native checks against Mandrel image and quarkus lts branch
    Please add comment: Jenkins run mandrel-lts

  • for a specific mandrel lts check
    Run native checks against Mandrel image and quarkus lts branch
    Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] mandrel-lts

  • Full Kogito testing (with cloud images and operator BDD testing)
    Please add comment: Jenkins run BDD
    This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

…inner classes, lambda syntax and incorrectly accessed static members
@sonarcloud
Copy link

sonarcloud bot commented Oct 6, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

64.0% 64.0% Coverage
0.0% 0.0% Duplication

@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 6, 2022 13:53
@kbowers-ibm kbowers-ibm marked this pull request as draft October 6, 2022 13:53
@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 7, 2022 04:21
@kbowers-ibm kbowers-ibm marked this pull request as draft October 7, 2022 06:20
@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 10, 2022 05:49
@kbowers-ibm kbowers-ibm marked this pull request as draft October 10, 2022 06:30
@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 10, 2022 06:30
@kbowers-ibm kbowers-ibm marked this pull request as draft October 10, 2022 07:36
@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 10, 2022 07:37
@kbowers-ibm kbowers-ibm marked this pull request as draft October 10, 2022 10:47
@kbowers-ibm kbowers-ibm marked this pull request as ready for review October 10, 2022 10:47
@baldimir
Copy link
Contributor

baldimir commented Oct 4, 2023

Hi @kbowers-ibm, @elguardian, is this still relevant please? If yes, could you please rebase with the latest changes from main?

@kbowers-ibm kbowers-ibm removed the request for review from elguardian January 2, 2024 14:55
# Conflicts:
#	jbpm/jbpm-bpmn2/src/main/java/org/jbpm/bpmn2/xpath/XPATHActionBuilder.java
#	jbpm/jbpm-flow-builder/src/main/java/org/jbpm/compiler/xml/processes/AbstractNodeHandler.java
#	jbpm/jbpm-flow-builder/src/main/java/org/jbpm/process/builder/dialect/java/ProcessKnowledgeHelperFixer.java
#	jbpm/jbpm-flow/src/main/java/org/jbpm/util/WidMVELEvaluator.java
#	jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/NodeInstanceImpl.java
#	jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java
#	quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/ProcessesAssetsProcessor.java
@kbowers-ibm kbowers-ibm closed this Jan 3, 2024
@kbowers-ibm kbowers-ibm deleted the KOGITO-8084 branch August 15, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants