diff options
author | sourabh_sourabh <sourabh.sourabh@est.tech> | 2024-10-22 14:00:29 +0100 |
---|---|---|
committer | sourabh_sourabh <sourabh.sourabh@est.tech> | 2024-10-23 11:29:07 +0100 |
commit | 1e1f49f7947271b15fa9b096a022e827d952a043 (patch) | |
tree | 3958d835c4df52547590bdfb98d945233e72a035 | |
parent | 46cbc868a7d0adbd8d5f2de0f33ec995c6c13f0a (diff) |
Added maven-checkstyle-plugin to parent POM for code style checks
- Integrate Checkstyle to enforce coding standards across modules.
- Ensure Checkstyle applies to both dmi-service and dmi-stub modules.
- Fixed all code check style issues.
Issue-ID: CPS-2461
Change-Id: Ie84928c1f2e3de549cc8fab2001974369884a831
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
5 files changed, 134 insertions, 100 deletions
diff --git a/dmi-service/pom.xml b/dmi-service/pom.xml index 7b2c54c1..fccdfaad 100644 --- a/dmi-service/pom.xml +++ b/dmi-service/pom.xml @@ -1,4 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2024 Nordix Foundation + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> @@ -14,7 +31,6 @@ <properties> <app>org.onap.cps.ncmp.dmi.Application</app> <base.image>${docker.pull.registry}/onap/integration-java17:12.0.0</base.image> - <cps.version>3.5.2</cps.version> <image.tag>${project.version}-${maven.build.timestamp}</image.tag> <jacoco.minimum.coverage>0.98</jacoco.minimum.coverage> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> @@ -427,76 +443,6 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <executions> - <execution> - <id>onap-license</id> - <goals> - <goal>check</goal> - </goals> - <phase>process-sources</phase> - <configuration> - <configLocation>onap-checkstyle/check-license.xml</configLocation> - <includeResources>false</includeResources> - <includeTestSourceDirectory>true</includeTestSourceDirectory> - <includeTestResources>false</includeTestResources> - <sourceDirectories> - <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> - </sourceDirectories> - <consoleOutput>false</consoleOutput> - <violationSeverity>warning</violationSeverity> - <failOnViolation>true</failOnViolation> - </configuration> - </execution> - <execution> - <id>onap-java-style</id> - <goals> - <goal>check</goal> - </goals> - <phase>process-sources</phase> - <configuration> - <configLocation>onap-checkstyle/onap-java-style.xml</configLocation> - <sourceDirectories> - <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> - </sourceDirectories> - <includeResources>true</includeResources> - <includeTestSourceDirectory>true</includeTestSourceDirectory> - <includeTestResources>true</includeTestResources> - <consoleOutput>false</consoleOutput> - <violationSeverity>warning</violationSeverity> - <failOnViolation>true</failOnViolation> - </configuration> - </execution> - <execution> - <id>cps-java-style</id> - <goals> - <goal>check</goal> - </goals> - <phase>process-sources</phase> - <configuration> - <configLocation>cps-java-style.xml</configLocation> - <sourceDirectories> - <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> - </sourceDirectories> - <includeResources>true</includeResources> - <includeTestSourceDirectory>true</includeTestSourceDirectory> - <includeTestResources>true</includeTestResources> - <consoleOutput>true</consoleOutput> - <violationSeverity>warning</violationSeverity> - <failOnViolation>true</failOnViolation> - </configuration> - </execution> - </executions> - <dependencies> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>checkstyle</artifactId> - <version>${cps.version}</version> - </dependency> - </dependencies> - </plugin> - <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.4.2</version> diff --git a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/pom.xml b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/pom.xml index e8d88ddd..3bb8324b 100644 --- a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/pom.xml +++ b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/pom.xml @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <!-- ============LICENSE_START======================================================= Copyright (C) 2023-2024 Nordix Foundation diff --git a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java index 2ba56fac..85d454b2 100644 --- a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java +++ b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java @@ -294,9 +294,9 @@ public class DmiRestStubController { public ResponseEntity<Object> retrieveDataJobResult( @PathVariable("dataProducerId") final String dataProducerId, @PathVariable("dataProducerJobId") final String dataProducerJobId, - @RequestParam(name = "destination") String destination) { - log.debug("Received request to retrieve data job result. Data Producer ID: {}, " + - "Data Producer Job ID: {}, Destination: {}", + @RequestParam(name = "destination") final String destination) { + log.debug("Received request to retrieve data job result. Data Producer ID: {}, " + + "Data Producer Job ID: {}, Destination: {}", dataProducerId, dataProducerJobId, destination); return ResponseEntity.ok(Map.of("result", "some status")); } @@ -350,24 +350,25 @@ public class DmiRestStubController { return dataOperationEvent; } - private ResponseEntity<String> processModuleRequest(Object moduleRequest, String responseFileName, long simulatedResponseDelay) { - String moduleSetTag = extractModuleSetTagFromRequest(moduleRequest); + private ResponseEntity<String> processModuleRequest(final Object moduleRequest, final String responseFileName, + final long simulatedResponseDelay) { + final String moduleSetTag = extractModuleSetTagFromRequest(moduleRequest); logRequestBody(moduleRequest); - String moduleResponseContent = getModuleResponseContent(moduleSetTag, responseFileName); + final String moduleResponseContent = getModuleResponseContent(moduleSetTag, responseFileName); delay(simulatedResponseDelay); return ResponseEntity.ok(moduleResponseContent); } - private String extractModuleSetTagFromRequest(Object moduleReferencesRequest) { - JsonNode rootNode = objectMapper.valueToTree(moduleReferencesRequest); + private String extractModuleSetTagFromRequest(final Object moduleReferencesRequest) { + final JsonNode rootNode = objectMapper.valueToTree(moduleReferencesRequest); return rootNode.path("moduleSetTag").asText(null); } - private boolean isModuleSetTagNullOrEmpty(String moduleSetTag) { + private boolean isModuleSetTagNullOrEmpty(final String moduleSetTag) { return moduleSetTag == null || moduleSetTag.trim().isEmpty(); } - private void logRequestBody(Object request) { + private void logRequestBody(final Object request) { try { log.info("Incoming DMI request body: {}", objectMapper.writeValueAsString(request)); } catch (final JsonProcessingException jsonProcessingException) { @@ -376,12 +377,12 @@ public class DmiRestStubController { } private String getModuleResponseContent(final String moduleSetTag, final String responseFileName) { - String moduleResponseFilePath = isModuleSetTagNullOrEmpty(moduleSetTag) + final String moduleResponseFilePath = isModuleSetTagNullOrEmpty(moduleSetTag) ? String.format("module/ietfYang-%s", responseFileName) : String.format("module/%s-%s", moduleSetTag, responseFileName); log.info("Using module responses from : {}", moduleResponseFilePath); - Resource moduleResponseResource = applicationContext.getResource( + final Resource moduleResponseResource = applicationContext.getResource( ResourceLoader.CLASSPATH_URL_PREFIX + moduleResponseFilePath); return ResourceFileReaderUtil.getResourceFileContent(moduleResponseResource); } diff --git a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/aop/ModuleInitialProcessAspect.java b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/aop/ModuleInitialProcessAspect.java index 32dfeb85..2cecc145 100644 --- a/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/aop/ModuleInitialProcessAspect.java +++ b/dmi-stub/dmi-plugin-demo-and-csit-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/aop/ModuleInitialProcessAspect.java @@ -22,6 +22,8 @@ package org.onap.cps.ncmp.dmi.rest.stub.controller.aop; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -29,10 +31,9 @@ import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; import org.springframework.http.ResponseEntity; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; +import org.springframework.stereotype.Component; + /** * Aspect to handle initial processing for methods annotated with @ModuleInitialProcess. @@ -57,47 +58,50 @@ public class ModuleInitialProcessAspect { * @return the result of the method execution or a ResponseEntity indicating that the service is unavailable */ @Around("@annotation(moduleInitialProcess)") - public Object handleModuleInitialProcess(ProceedingJoinPoint proceedingJoinPoint, ModuleInitialProcess moduleInitialProcess) throws Throwable { + public Object handleModuleInitialProcess(final ProceedingJoinPoint proceedingJoinPoint, + final ModuleInitialProcess moduleInitialProcess) throws Throwable { log.debug("Aspect invoked for method: {}", proceedingJoinPoint.getSignature()); - Object moduleRequest = proceedingJoinPoint.getArgs()[1]; - String moduleSetTag = extractModuleSetTagFromRequest(moduleRequest); + final Object moduleRequest = proceedingJoinPoint.getArgs()[1]; + final String moduleSetTag = extractModuleSetTagFromRequest(moduleRequest); if (isModuleSetTagEmptyOrInvalid(moduleSetTag)) { log.debug("Received request with an empty or null moduleSetTag. Returning default processing."); return proceedingJoinPoint.proceed(); } - long firstRequestTimestamp = getFirstRequestTimestamp(moduleSetTag); - long currentTimestamp = System.currentTimeMillis(); + final long firstRequestTimestamp = getFirstRequestTimestamp(moduleSetTag); + final long currentTimestamp = System.currentTimeMillis(); if (isInitialProcessingCompleted(currentTimestamp, firstRequestTimestamp)) { log.debug("Initial processing for moduleSetTag '{}' is completed.", moduleSetTag); return proceedingJoinPoint.proceed(); } - long remainingProcessingTime = calculateRemainingProcessingTime(currentTimestamp, firstRequestTimestamp); - log.info("Initial processing for moduleSetTag '{}' is still active. Returning HTTP 503. Remaining time: {} ms.", moduleSetTag, remainingProcessingTime); + final long remainingProcessingTime = calculateRemainingProcessingTime(currentTimestamp, firstRequestTimestamp); + log.info("Initial processing for moduleSetTag '{}' is still active. Returning HTTP 503. Remaining time: {} ms.", + moduleSetTag, remainingProcessingTime); return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).build(); } - private String extractModuleSetTagFromRequest(Object moduleRequest) { - JsonNode rootNode = objectMapper.valueToTree(moduleRequest); + private String extractModuleSetTagFromRequest(final Object moduleRequest) { + final JsonNode rootNode = objectMapper.valueToTree(moduleRequest); return rootNode.path("moduleSetTag").asText(null); } - private boolean isModuleSetTagEmptyOrInvalid(String moduleSetTag) { + private boolean isModuleSetTagEmptyOrInvalid(final String moduleSetTag) { return moduleSetTag == null || moduleSetTag.trim().isEmpty(); } - private long getFirstRequestTimestamp(String moduleSetTag) { - return firstRequestTimePerModuleSetTag.computeIfAbsent(moduleSetTag, firstRequestTime -> System.currentTimeMillis()); + private long getFirstRequestTimestamp(final String moduleSetTag) { + return firstRequestTimePerModuleSetTag + .computeIfAbsent(moduleSetTag, firstRequestTime -> System.currentTimeMillis()); } - private boolean isInitialProcessingCompleted(long currentTimestamp, long firstRequestTimestamp) { + private boolean isInitialProcessingCompleted(final long currentTimestamp, final long firstRequestTimestamp) { return currentTimestamp - firstRequestTimestamp >= moduleInitialProcessingDelayMs; } - private long calculateRemainingProcessingTime(long currentTimestamp, long firstRequestTimestamp) { + private long calculateRemainingProcessingTime(final long currentTimestamp, final long firstRequestTimestamp) { return moduleInitialProcessingDelayMs - (currentTimestamp - firstRequestTimestamp); } } @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <!-- ============LICENSE_START======================================================= Copyright (c) 2021-2024 Nordix Foundation. @@ -18,6 +19,7 @@ SPDX-License-Identifier: Apache-2.0 ============LICENSE_END========================================================= --> + <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> @@ -43,4 +45,84 @@ <name>ncmp-dmi-plugin</name> <description>DMI Plugin Service</description> + <properties> + <cps.version>3.5.2</cps.version> + </properties> + + <build> + <plugins> + <!-- Add the Maven Checkstyle Plugin here --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <executions> + <execution> + <id>onap-license</id> + <goals> + <goal>check</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <configLocation>onap-checkstyle/check-license.xml</configLocation> + <includeResources>false</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>false</includeTestResources> + <sourceDirectories> + <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> + </sourceDirectories> + <consoleOutput>false</consoleOutput> + <violationSeverity>warning</violationSeverity> + <failOnViolation>true</failOnViolation> + </configuration> + </execution> + <execution> + <id>onap-java-style</id> + <goals> + <goal>check</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <configLocation>onap-checkstyle/onap-java-style.xml</configLocation> + <sourceDirectories> + <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> + </sourceDirectories> + <includeResources>true</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>true</includeTestResources> + <consoleOutput>false</consoleOutput> + <violationSeverity>warning</violationSeverity> + <failOnViolation>true</failOnViolation> + </configuration> + </execution> + <execution> + <id>cps-java-style</id> + <goals> + <goal>check</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <configLocation>cps-java-style.xml</configLocation> + <sourceDirectories> + <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> + </sourceDirectories> + <includeResources>true</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>true</includeTestResources> + <consoleOutput>true</consoleOutput> + <violationSeverity>warning</violationSeverity> + <failOnViolation>true</failOnViolation> + </configuration> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>checkstyle</artifactId> + <version>${cps.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </project> |