From b9893aca2ffd5f7e200ed8c95b71a9b1a1d681c5 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Thu, 28 Sep 2023 14:39:59 +0200
Subject: [PATCH] Configuration PMD

---
 config/pmd-suppressions.properties            | 22 -------------------
 www-server/config/pmd-suppressions.properties |  4 ++++
 .../www/server/rs/IndicatorResource.java      |  8 +++----
 www-shared/config/pmd-suppressions.properties | 12 +++++++---
 4 files changed, 17 insertions(+), 29 deletions(-)
 create mode 100644 www-server/config/pmd-suppressions.properties

diff --git a/config/pmd-suppressions.properties b/config/pmd-suppressions.properties
index fd6a1ac..d1c076e 100644
--- a/config/pmd-suppressions.properties
+++ b/config/pmd-suppressions.properties
@@ -1,24 +1,2 @@
 # See https://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html
 # annotations generate not clean code
-fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonDeserializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonSerializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.IndicatorDTO_MapperImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.PeriodDTOBeanJsonDeserializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.PeriodDTOBeanJsonSerializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.PeriodDTO_MapperImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.service.IndicatorServiceFactory=UnnecessaryImport
-org.geojson.FeatureBeanJsonDeserializerImpl=UnnecessaryImport
-org.geojson.FeatureBeanJsonSerializerImpl=UnnecessaryImport
-org.geojson.FeatureCollectionBeanJsonDeserializerImpl=UnnecessaryImport
-org.geojson.FeatureCollectionBeanJsonSerializerImpl=UnnecessaryImport
-org.geojson.FeatureCollection_MapperImpl=UnnecessaryImport
-org.geojson.Feature_MapperImpl=UnnecessaryImport
-org.geojson.GeoJsonObjectBeanJsonDeserializerImpl=UnnecessaryImport
-org.geojson.LngLatAltBeanJsonDeserializerImpl=UnnecessaryImport
-org.geojson.LngLatAltBeanJsonSerializerImpl=UnnecessaryImport
-org.geojson.LngLatAlt_MapperImpl=UnnecessaryImport
-org.geojson.PolygonBeanJsonDeserializerImpl=UnnecessaryImport
-org.geojson.PolygonBeanJsonSerializerImpl=UnnecessaryImport
-org.geojson.Polygon_MapperImpl=UnnecessaryImport
-# wrong positive
-fr.agrometinfo.www.server.dao.RegionDaoHibernate=UselessOverridingMethod
diff --git a/www-server/config/pmd-suppressions.properties b/www-server/config/pmd-suppressions.properties
new file mode 100644
index 0000000..ff4f50e
--- /dev/null
+++ b/www-server/config/pmd-suppressions.properties
@@ -0,0 +1,4 @@
+# See https://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html
+# annotations generate not clean code
+# wrong positive
+fr.agrometinfo.www.server.dao.RegionDaoHibernate=UselessOverridingMethod
diff --git a/www-server/src/main/java/fr/agrometinfo/www/server/rs/IndicatorResource.java b/www-server/src/main/java/fr/agrometinfo/www/server/rs/IndicatorResource.java
index 96316dc..3340ff4 100644
--- a/www-server/src/main/java/fr/agrometinfo/www/server/rs/IndicatorResource.java
+++ b/www-server/src/main/java/fr/agrometinfo/www/server/rs/IndicatorResource.java
@@ -147,7 +147,7 @@ public class IndicatorResource implements IndicatorService {
      * @throws WebApplicationException if validation failed.
      */
     private void checkRequired(final Object value, final String queryParamName) {
-        if ((value instanceof final String str && str.isBlank()) || value == null) {
+        if (value instanceof final String str && str.isBlank() || value == null) {
             final var status = Response.Status.BAD_REQUEST;
             throw new WebApplicationException(
                     Response.status(status) //
@@ -225,13 +225,13 @@ public class IndicatorResource implements IndicatorService {
             values = dailyValueDao.find(indicator, region, date);
         }
         // If nothing said: computed value.
-        if (Boolean.FALSE.equals(comparison)) {
+        if (!Boolean.TRUE.equals(comparison)) {
             values.stream() //
-                    .map(IndicatorResource::toFeatureWithValue) //
+            .map(IndicatorResource::toFeatureWithValue) //
             .forEach(collection::add);
         } else {
             values.stream() //
-                    .map(IndicatorResource::toFeatureWithComparedValue) //
+            .map(IndicatorResource::toFeatureWithComparedValue) //
             .forEach(collection::add);
         }
         return collection;
diff --git a/www-shared/config/pmd-suppressions.properties b/www-shared/config/pmd-suppressions.properties
index 9a6ae43..fd6a1ac 100644
--- a/www-shared/config/pmd-suppressions.properties
+++ b/www-shared/config/pmd-suppressions.properties
@@ -1,18 +1,24 @@
 # See https://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html
-fr.agrometinfo.www.shared.dto.IndicatorCategoryDTOBeanJsonDeserializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.IndicatorCategoryDTOBeanJsonSerializerImpl=UnnecessaryImport
-fr.agrometinfo.www.shared.dto.IndicatorCategoryDTO_MapperImpl=UnnecessaryImport
+# annotations generate not clean code
 fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonDeserializerImpl=UnnecessaryImport
 fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonSerializerImpl=UnnecessaryImport
 fr.agrometinfo.www.shared.dto.IndicatorDTO_MapperImpl=UnnecessaryImport
+fr.agrometinfo.www.shared.dto.PeriodDTOBeanJsonDeserializerImpl=UnnecessaryImport
+fr.agrometinfo.www.shared.dto.PeriodDTOBeanJsonSerializerImpl=UnnecessaryImport
+fr.agrometinfo.www.shared.dto.PeriodDTO_MapperImpl=UnnecessaryImport
 fr.agrometinfo.www.shared.service.IndicatorServiceFactory=UnnecessaryImport
+org.geojson.FeatureBeanJsonDeserializerImpl=UnnecessaryImport
 org.geojson.FeatureBeanJsonSerializerImpl=UnnecessaryImport
+org.geojson.FeatureCollectionBeanJsonDeserializerImpl=UnnecessaryImport
 org.geojson.FeatureCollectionBeanJsonSerializerImpl=UnnecessaryImport
 org.geojson.FeatureCollection_MapperImpl=UnnecessaryImport
 org.geojson.Feature_MapperImpl=UnnecessaryImport
+org.geojson.GeoJsonObjectBeanJsonDeserializerImpl=UnnecessaryImport
 org.geojson.LngLatAltBeanJsonDeserializerImpl=UnnecessaryImport
 org.geojson.LngLatAltBeanJsonSerializerImpl=UnnecessaryImport
 org.geojson.LngLatAlt_MapperImpl=UnnecessaryImport
 org.geojson.PolygonBeanJsonDeserializerImpl=UnnecessaryImport
 org.geojson.PolygonBeanJsonSerializerImpl=UnnecessaryImport
 org.geojson.Polygon_MapperImpl=UnnecessaryImport
+# wrong positive
+fr.agrometinfo.www.server.dao.RegionDaoHibernate=UselessOverridingMethod
-- 
GitLab