From 3fa572c0b8cadc2d83dbd39b9881f270b8ca1123 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 13:00:08 +0300 Subject: [PATCH 1/8] chore: Fix PMD errorprone rules - AssignmentInOperand --- config/pmd/custom-ruleset.xml | 1 - .../java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index 20e5825f..a6c27545 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -73,7 +73,6 @@ - diff --git a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java index 60bef3e5..376aa3be 100644 --- a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java +++ b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java @@ -112,6 +112,7 @@ public ResourceToHttpHandler(String fileName) { this.fileName = fileName; } + @SuppressWarnings("PMD.AssignmentInOperand") @Override public void handle(HttpExchange exchange) throws IOException { ClassPathResource resource = new ClassPathResource(fileName); From 9900bc30bb8770f0009c7d3098a9a914dfae5698 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 13:15:45 +0300 Subject: [PATCH 2/8] chore: Fix PMD errorprone rules - AvoidDuplicateLiterals --- config/pmd/custom-ruleset.xml | 7 ++++++- .../catalog/collector/service/CompanyServiceTest.java | 1 + .../catalog/collector/service/OrganizationServiceTest.java | 1 + .../xroad/catalog/collector/tasks/ListClientsTaskTest.java | 1 + .../java/fi/dvv/xroad/catalog/lister/ApplicationTests.java | 1 + .../catalog/lister/controller/ServiceControllerTests.java | 1 + .../persistence/repository/ServiceRepositoryTest.java | 1 + 7 files changed, 12 insertions(+), 1 deletion(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index a6c27545..229e22ab 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -73,7 +73,6 @@ - @@ -81,6 +80,12 @@ + + + + + + diff --git a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/CompanyServiceTest.java b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/CompanyServiceTest.java index 939c0e7d..4d18dea5 100644 --- a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/CompanyServiceTest.java +++ b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/CompanyServiceTest.java @@ -56,6 +56,7 @@ @SpringBootTest(classes = CollectorApplication.class) @ActiveProfiles("test") @Transactional +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class CompanyServiceTest { @Autowired diff --git a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/OrganizationServiceTest.java b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/OrganizationServiceTest.java index 44985135..1c72e799 100644 --- a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/OrganizationServiceTest.java +++ b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/service/OrganizationServiceTest.java @@ -60,6 +60,7 @@ @SpringBootTest(classes = CollectorApplication.class) @ActiveProfiles("test") @Transactional +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class OrganizationServiceTest { @Autowired diff --git a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/tasks/ListClientsTaskTest.java b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/tasks/ListClientsTaskTest.java index 55ad9153..054637f3 100644 --- a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/tasks/ListClientsTaskTest.java +++ b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/tasks/ListClientsTaskTest.java @@ -57,6 +57,7 @@ @SpringBootTest(classes = CollectorApplication.class) @ActiveProfiles("test") +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class ListClientsTaskTest { @Autowired diff --git a/xroad-catalog-lister/src/test/java/fi/dvv/xroad/catalog/lister/ApplicationTests.java b/xroad-catalog-lister/src/test/java/fi/dvv/xroad/catalog/lister/ApplicationTests.java index f12d5ac3..c7907f6a 100644 --- a/xroad-catalog-lister/src/test/java/fi/dvv/xroad/catalog/lister/ApplicationTests.java +++ b/xroad-catalog-lister/src/test/java/fi/dvv/xroad/catalog/lister/ApplicationTests.java @@ -98,6 +98,7 @@ @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") @TestInstance(TestInstance.Lifecycle.PER_CLASS) +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class ApplicationTests { private final Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); diff --git a/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/controller/ServiceControllerTests.java b/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/controller/ServiceControllerTests.java index adf09fce..fc975285 100644 --- a/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/controller/ServiceControllerTests.java +++ b/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/controller/ServiceControllerTests.java @@ -69,6 +69,7 @@ @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "xroad-catalog.shared-params-file=src/test/resources/shared-params.xml" }) @ActiveProfiles("test") +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class ServiceControllerTests { private static final String XROAD_INSTANCE = "DEV"; diff --git a/xroad-catalog-persistence/src/test/java/org/niis/xroad/catalog/persistence/repository/ServiceRepositoryTest.java b/xroad-catalog-persistence/src/test/java/org/niis/xroad/catalog/persistence/repository/ServiceRepositoryTest.java index c2411b14..b2516602 100644 --- a/xroad-catalog-persistence/src/test/java/org/niis/xroad/catalog/persistence/repository/ServiceRepositoryTest.java +++ b/xroad-catalog-persistence/src/test/java/org/niis/xroad/catalog/persistence/repository/ServiceRepositoryTest.java @@ -40,6 +40,7 @@ @SpringBootTest @ActiveProfiles("test") +@SuppressWarnings("PMD.AvoidDuplicateLiterals") public class ServiceRepositoryTest { @Autowired From 13161dca0f9acb7487dd8981fdd2df8447f7c727 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 13:25:40 +0300 Subject: [PATCH 3/8] chore: Fix PMD errorprone rules - AvoidFieldNameMatchingTypeName --- config/pmd/custom-ruleset.xml | 1 - .../src/main/java/org/niis/xroad/catalog/lister/dto/Email.java | 1 + .../java/org/niis/xroad/catalog/lister/dto/MemberDataList.java | 1 + .../niis/xroad/catalog/lister/dto/SecurityServerDataList.java | 1 + .../niis/xroad/catalog/lister/service/CatalogServiceImpl.java | 1 + .../java/fi/dvv/xroad/catalog/persistence/entity/Language.java | 1 + 6 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index 229e22ab..3812efde 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -73,7 +73,6 @@ - diff --git a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/Email.java b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/Email.java index c73a945e..d47522f5 100644 --- a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/Email.java +++ b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/Email.java @@ -39,6 +39,7 @@ @EqualsAndHashCode @Getter @Setter +@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName") public class Email implements Serializable { private static final long serialVersionUID = 4049961366368846285L; diff --git a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/MemberDataList.java b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/MemberDataList.java index f4e2a4d2..bf857a1f 100644 --- a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/MemberDataList.java +++ b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/MemberDataList.java @@ -41,6 +41,7 @@ @EqualsAndHashCode @Getter @Setter +@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName") public class MemberDataList implements Serializable { private static final long serialVersionUID = 4049561366368846285L; diff --git a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/SecurityServerDataList.java b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/SecurityServerDataList.java index 87357a00..b16a91ba 100644 --- a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/SecurityServerDataList.java +++ b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/dto/SecurityServerDataList.java @@ -40,6 +40,7 @@ @EqualsAndHashCode @Getter @Setter +@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName") public class SecurityServerDataList implements Serializable { private static final long serialVersionUID = 4049561366368846285L; diff --git a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/service/CatalogServiceImpl.java b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/service/CatalogServiceImpl.java index b0c0aad0..1ad82ce6 100644 --- a/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/service/CatalogServiceImpl.java +++ b/xroad-catalog-lister/src/main/java/org/niis/xroad/catalog/lister/service/CatalogServiceImpl.java @@ -64,6 +64,7 @@ */ @Component @Transactional +@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName") public class CatalogServiceImpl implements CatalogService { private static final String MULTIPLE_MATCHES_FOUND_TO = "multiple matches found to "; diff --git a/xroad-catalog-persistence/src/main/java/fi/dvv/xroad/catalog/persistence/entity/Language.java b/xroad-catalog-persistence/src/main/java/fi/dvv/xroad/catalog/persistence/entity/Language.java index 2ade8a0a..d2f0fc1b 100644 --- a/xroad-catalog-persistence/src/main/java/fi/dvv/xroad/catalog/persistence/entity/Language.java +++ b/xroad-catalog-persistence/src/main/java/fi/dvv/xroad/catalog/persistence/entity/Language.java @@ -53,6 +53,7 @@ @ToString(exclude = { "company" }) @EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder +@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName") public class Language { @Id From 854ad7e514b7e931afdf38b9a21c381dedc320f4 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 13:44:13 +0300 Subject: [PATCH 4/8] chore: Fix PMD errorprone rules - CloseResource --- config/pmd/custom-ruleset.xml | 7 ++++++- .../catalog/collector/util/OrganizationUtil.java | 1 + .../xroad/catalog/collector/util/XRoadClient.java | 1 + .../catalog/collector/mock/MockHttpServer.java | 15 ++++++++------- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index 3812efde..bbe82ccf 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -74,7 +74,6 @@ - @@ -85,6 +84,12 @@ + + + + + + diff --git a/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java b/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java index d9481ad5..62c03036 100644 --- a/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java @@ -610,6 +610,7 @@ private static T getResponseBody(String url, Class returnType) { return response.getBody(); } + @SuppressWarnings("PMD.CloseResource") private static RestTemplate createTemplate() { try { TrustStrategy acceptingTrustStrategy = new TrustStrategy() { diff --git a/xroad-catalog-collector/src/main/java/org/niis/xroad/catalog/collector/util/XRoadClient.java b/xroad-catalog-collector/src/main/java/org/niis/xroad/catalog/collector/util/XRoadClient.java index 982d182d..66d279cb 100644 --- a/xroad-catalog-collector/src/main/java/org/niis/xroad/catalog/collector/util/XRoadClient.java +++ b/xroad-catalog-collector/src/main/java/org/niis/xroad/catalog/collector/util/XRoadClient.java @@ -204,6 +204,7 @@ public String getWsdl(XRoadServiceIdentifierType service, CatalogService catalog if (!(wsdl.value instanceof byte[])) { DataHandler dh = null; + @SuppressWarnings("PMD.CloseResource") final Client client = ClientProxy.getClient(metaServicesPort); @SuppressWarnings("unchecked") final Collection attachments = (Collection) client.getResponseContext() .get(Message.ATTACHMENTS); diff --git a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java index 376aa3be..3dd4b79e 100644 --- a/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java +++ b/xroad-catalog-collector/src/test/java/fi/dvv/xroad/catalog/collector/mock/MockHttpServer.java @@ -116,16 +116,17 @@ public ResourceToHttpHandler(String fileName) { @Override public void handle(HttpExchange exchange) throws IOException { ClassPathResource resource = new ClassPathResource(fileName); - InputStream is = resource.getInputStream(); exchange.getResponseHeaders().add("Content-Type", "application/xml"); exchange.sendResponseHeaders(200, 0); - OutputStream os = exchange.getResponseBody(); - byte[] buffer = new byte[1024]; - int len; - while ((len = is.read(buffer)) != -1) { - os.write(buffer, 0, len); + try (InputStream is = resource.getInputStream(); + OutputStream os = exchange.getResponseBody()) { + + byte[] buffer = new byte[1024]; + int len; + while ((len = is.read(buffer)) != -1) { + os.write(buffer, 0, len); + } } - os.close(); } } } From 7e750b7dfc249ecfae8d798827c57de9da337681 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 13:44:54 +0300 Subject: [PATCH 5/8] chore: minor code enhancement --- .../xroad/catalog/collector/util/OrganizationUtil.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java b/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java index 62c03036..c0948263 100644 --- a/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/dvv/xroad/catalog/collector/util/OrganizationUtil.java @@ -85,8 +85,6 @@ import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; @@ -613,13 +611,7 @@ private static T getResponseBody(String url, Class returnType) { @SuppressWarnings("PMD.CloseResource") private static RestTemplate createTemplate() { try { - TrustStrategy acceptingTrustStrategy = new TrustStrategy() { - @Override - public boolean isTrusted(X509Certificate[] x509Certificates, String s) - throws CertificateException { - return true; - } - }; + TrustStrategy acceptingTrustStrategy = (x509Certificates, s) -> true; SSLContext sslContext = SSLContexts.custom() .loadTrustMaterial(null, acceptingTrustStrategy) .build(); From 71ef7f6d824004b74d9809a40a91611437901d96 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 14:23:36 +0300 Subject: [PATCH 6/8] chore: Fix PMD errorprone rules - TestClassWithoutTestCases --- config/pmd/custom-ruleset.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index bbe82ccf..3c1327a8 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -76,7 +76,6 @@ - From 27856dcb2098939d6af5d69d9b347d2ad75688a4 Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 14:23:42 +0300 Subject: [PATCH 7/8] chore: Fix PMD errorprone rules - TestClassWithoutTestCases --- .../src/test/java/org/niis/xroad/catalog/collector/TestUtil.java | 1 + .../catalog/collector/configuration/TestingConfiguration.java | 1 + .../src/test/java/org/niis/xroad/catalog/lister/TestUtil.java | 1 + .../src/test/java/fi/dvv/xroad/catalog/persistence/TestUtil.java | 1 + 4 files changed, 4 insertions(+) diff --git a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/TestUtil.java b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/TestUtil.java index 84337973..5119f668 100644 --- a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/TestUtil.java +++ b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/TestUtil.java @@ -47,6 +47,7 @@ import static org.junit.jupiter.api.Assertions.assertNull; @Component +@SuppressWarnings("PMD.TestClassWithoutTestCases") public class TestUtil { @Autowired diff --git a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/configuration/TestingConfiguration.java b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/configuration/TestingConfiguration.java index 73497ea9..644af083 100644 --- a/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/configuration/TestingConfiguration.java +++ b/xroad-catalog-collector/src/test/java/org/niis/xroad/catalog/collector/configuration/TestingConfiguration.java @@ -40,6 +40,7 @@ @Configuration @Slf4j +@SuppressWarnings("PMD.TestClassWithoutTestCases") public class TestingConfiguration { @Bean diff --git a/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/TestUtil.java b/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/TestUtil.java index 44ac640f..d607053f 100644 --- a/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/TestUtil.java +++ b/xroad-catalog-lister/src/test/java/org/niis/xroad/catalog/lister/TestUtil.java @@ -37,6 +37,7 @@ import java.util.stream.StreamSupport; @Component +@SuppressWarnings("PMD.TestClassWithoutTestCases") public final class TestUtil { @Autowired diff --git a/xroad-catalog-persistence/src/test/java/fi/dvv/xroad/catalog/persistence/TestUtil.java b/xroad-catalog-persistence/src/test/java/fi/dvv/xroad/catalog/persistence/TestUtil.java index 8a57c982..bbbebfa7 100644 --- a/xroad-catalog-persistence/src/test/java/fi/dvv/xroad/catalog/persistence/TestUtil.java +++ b/xroad-catalog-persistence/src/test/java/fi/dvv/xroad/catalog/persistence/TestUtil.java @@ -36,6 +36,7 @@ import java.util.stream.StreamSupport; @Component +@SuppressWarnings("PMD.TestClassWithoutTestCases") public class TestUtil { @Autowired From 95eb0bfdef9df6d38ecc3deeacea13848de9822d Mon Sep 17 00:00:00 2001 From: Mohamed Elbeltagy Date: Fri, 4 Oct 2024 14:26:28 +0300 Subject: [PATCH 8/8] chore: Fix PMD errorprone rules - NullAssignment --- config/pmd/custom-ruleset.xml | 1 - .../org/niis/xroad/catalog/persistence/entity/StatusInfo.java | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config/pmd/custom-ruleset.xml b/config/pmd/custom-ruleset.xml index 3c1327a8..19690085 100644 --- a/config/pmd/custom-ruleset.xml +++ b/config/pmd/custom-ruleset.xml @@ -75,7 +75,6 @@ - diff --git a/xroad-catalog-persistence/src/main/java/org/niis/xroad/catalog/persistence/entity/StatusInfo.java b/xroad-catalog-persistence/src/main/java/org/niis/xroad/catalog/persistence/entity/StatusInfo.java index f70860ea..76da224c 100644 --- a/xroad-catalog-persistence/src/main/java/org/niis/xroad/catalog/persistence/entity/StatusInfo.java +++ b/xroad-catalog-persistence/src/main/java/org/niis/xroad/catalog/persistence/entity/StatusInfo.java @@ -59,6 +59,7 @@ public StatusInfo() { // Empty contructor } + @SuppressWarnings("PMD.NullAssignment") public void setTimestampsForSaved(LocalDateTime timestamp, boolean isModified) { if (removed != null) { changed = timestamp; @@ -74,6 +75,7 @@ public boolean isRemoved() { return removed != null; } + @SuppressWarnings("PMD.NullAssignment") public void setTimestampsForFetched(LocalDateTime timestamp) { if (isRemoved()) { // resurrect this item @@ -86,6 +88,7 @@ public void setTimestampsForFetched(LocalDateTime timestamp) { } } + @SuppressWarnings("PMD.NullAssignment") public void setTimestampsForNew(LocalDateTime timestamp) { created = timestamp; changed = timestamp;