Skip to content

Commit

Permalink
add rule to javaCheckRegistrar
Browse files Browse the repository at this point in the history
  • Loading branch information
E000391 authored and dedece35 committed Jan 1, 2025
1 parent 4f97eed commit 3e0aae2
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 34 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* creedengo - Java language - Provides rules to reduce the environmental footprint of your Java programs
* Copyright © 2024 Green Code Initiative (https://green-code-initiative.org/)
* ecoCode - Java language - Provides rules to reduce the environmental footprint of your Java programs
* Copyright © 2023 Green Code Initiative (https://www.ecocode.io)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand All @@ -15,26 +15,26 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.greencodeinitiative.creedengo.java;
package fr.greencodeinitiative.java;

import java.util.Collections;
import java.util.List;

import org.greencodeinitiative.creedengo.java.checks.ArrayCopyCheck;
import org.greencodeinitiative.creedengo.java.checks.AvoidFullSQLRequest;
import org.greencodeinitiative.creedengo.java.checks.AvoidGettingSizeCollectionInLoop;
import org.greencodeinitiative.creedengo.java.checks.AvoidMultipleIfElseStatement;
import org.greencodeinitiative.creedengo.java.checks.AvoidRegexPatternNotStatic;
import org.greencodeinitiative.creedengo.java.checks.AvoidSQLRequestInLoop;
import org.greencodeinitiative.creedengo.java.checks.AvoidSetConstantInBatchUpdate;
import org.greencodeinitiative.creedengo.java.checks.AvoidSpringRepositoryCallInLoopOrStreamCheck;
import org.greencodeinitiative.creedengo.java.checks.AvoidStatementForDMLQueries;
import org.greencodeinitiative.creedengo.java.checks.AvoidUsageOfStaticCollections;
import org.greencodeinitiative.creedengo.java.checks.FreeResourcesOfAutoCloseableInterface;
import org.greencodeinitiative.creedengo.java.checks.IncrementCheck;
import org.greencodeinitiative.creedengo.java.checks.InitializeBufferWithAppropriateSize;
import org.greencodeinitiative.creedengo.java.checks.NoFunctionCallWhenDeclaringForLoop;
import org.greencodeinitiative.creedengo.java.checks.OptimizeReadFileExceptions;
(??)import org.greencodeinitiative.creedengo.java.checks.ArrayCopyCheck;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidFullSQLRequest;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidGettingSizeCollectionInLoop;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidMultipleIfElseStatement;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidRegexPatternNotStatic;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidSQLRequestInLoop;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidSetConstantInBatchUpdate;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidSpringRepositoryCallInLoopOrStreamCheck;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidStatementForDMLQueries;
(??)import org.greencodeinitiative.creedengo.java.checks.AvoidUsageOfStaticCollections;
(??)import org.greencodeinitiative.creedengo.java.checks.FreeResourcesOfAutoCloseableInterface;
(??)import org.greencodeinitiative.creedengo.java.checks.IncrementCheck;
(??)import org.greencodeinitiative.creedengo.java.checks.InitializeBufferWithAppropriateSize;
(??)import org.greencodeinitiative.creedengo.java.checks.NoFunctionCallWhenDeclaringForLoop;
(??)import org.greencodeinitiative.creedengo.java.checks.OptimizeReadFileExceptions;
import org.sonar.plugins.java.api.CheckRegistrar;
import org.sonar.plugins.java.api.JavaCheck;
import org.sonarsource.api.sonarlint.SonarLintSide;
Expand All @@ -47,7 +47,7 @@
*/
@SonarLintSide
public class JavaCheckRegistrar implements CheckRegistrar {
static final List<Class<? extends JavaCheck>> ANNOTATED_RULE_CLASSES = List.of(
private static final List<Class<? extends JavaCheck>> ANNOTATED_RULE_CLASSES = List.of(
ArrayCopyCheck.class,
IncrementCheck.class,
AvoidUsageOfStaticCollections.class,
Expand All @@ -62,7 +62,8 @@ public class JavaCheckRegistrar implements CheckRegistrar {
InitializeBufferWithAppropriateSize.class,
AvoidSetConstantInBatchUpdate.class,
FreeResourcesOfAutoCloseableInterface.class,
AvoidMultipleIfElseStatement.class
AvoidMultipleIfElseStatement.class,
UseOptionalOrElseGetVsOrElse.class
);

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* creedengo - Java language - Provides rules to reduce the environmental footprint of your Java programs
* Copyright © 2024 Green Code Initiative (https://green-code-initiative.org/)
* ecoCode - Java language - Provides rules to reduce the environmental footprint of your Java programs
* Copyright © 2023 Green Code Initiative (https://www.ecocode.io)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand All @@ -15,13 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.greencodeinitiative.creedengo.java;

import java.util.Set;
package fr.greencodeinitiative.java;

import org.junit.jupiter.api.Test;
import org.reflections.Reflections;
import org.sonar.check.Rule;
import org.sonar.plugins.java.api.CheckRegistrar;

import static org.assertj.core.api.Assertions.assertThat;
Expand All @@ -34,14 +30,11 @@ void checkNumberRules() {

final JavaCheckRegistrar registrar = new JavaCheckRegistrar();
registrar.register(context);
assertThat(context.checkClasses())
.describedAs("All implemented rules must be registered into " + JavaCheckRegistrar.class)
.containsExactlyInAnyOrder(getDefinedRules().toArray(new Class[0]));
(??) assertThat(context.checkClasses())
(??) .describedAs("All implemented rules must be registered into " + JavaCheckRegistrar.class)
(??) .containsExactlyInAnyOrder(getDefinedRules().toArray(new Class[0]));
assertThat(context.testCheckClasses()).isEmpty();
}

static Set<Class<?>> getDefinedRules() {
Reflections r = new Reflections(JavaCheckRegistrar.class.getPackageName() + ".checks");
return r.getTypesAnnotatedWith(Rule.class);
}

}

0 comments on commit 3e0aae2

Please sign in to comment.