From 9afc8d1448a6a913db56304d3bc80cd92c141d0f Mon Sep 17 00:00:00 2001 From: Claudio David Gasparini Date: Mon, 11 Jan 2021 16:42:30 +0100 Subject: Enable spotbugs and fix spotbugs warns Issue-ID: CPS-159 Signed-off-by: Claudio David Gasparini Change-Id: Iee572fd740689a172ca599123b0751b5e909223a --- cps-parent/pom.xml | 2 +- .../main/java/org/onap/cps/rest/utils/MultipartFileUtil.java | 6 ++++-- .../org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java | 3 ++- .../src/main/java/org/onap/cps/spi/model/ModuleReference.java | 5 ++++- cps-service/src/main/java/org/onap/cps/utils/YangUtils.java | 2 +- .../java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java | 10 +++++++--- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml index d3470df25d..08b188399f 100644 --- a/cps-parent/pom.xml +++ b/cps-parent/pom.xml @@ -240,7 +240,7 @@ Low - false + true spotbugs-exclude.xml diff --git a/cps-rest/src/main/java/org/onap/cps/rest/utils/MultipartFileUtil.java b/cps-rest/src/main/java/org/onap/cps/rest/utils/MultipartFileUtil.java index 0c527a5565..c53d1a42a6 100644 --- a/cps-rest/src/main/java/org/onap/cps/rest/utils/MultipartFileUtil.java +++ b/cps-rest/src/main/java/org/onap/cps/rest/utils/MultipartFileUtil.java @@ -19,10 +19,12 @@ package org.onap.cps.rest.utils; +import static com.google.common.base.Preconditions.checkNotNull; import static org.opendaylight.yangtools.yang.common.YangConstants.RFC6020_YANG_FILE_EXTENSION; import com.google.common.collect.ImmutableMap; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Map; import lombok.AccessLevel; import lombok.NoArgsConstructor; @@ -47,7 +49,7 @@ public class MultipartFileUtil { } private static String extractYangResourceName(final MultipartFile multipartFile) { - final String fileName = multipartFile.getOriginalFilename(); + final String fileName = checkNotNull(multipartFile.getOriginalFilename(), "Missing filename."); if (!fileName.endsWith(RFC6020_YANG_FILE_EXTENSION)) { throw new ModelValidationException("Unsupported file type.", String.format("Filename %s does not end with '%s'", fileName, RFC6020_YANG_FILE_EXTENSION)); @@ -57,7 +59,7 @@ public class MultipartFileUtil { private static String extractYangResourceContent(final MultipartFile multipartFile) { try { - return new String(multipartFile.getBytes()); + return new String(multipartFile.getBytes(), StandardCharsets.UTF_8); } catch (final IOException e) { throw new CpsException("Cannot read the resource file.", e.getMessage(), e); } diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java index 23a384306f..08329309c0 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java @@ -21,6 +21,7 @@ package org.onap.cps.spi.impl; import com.google.common.collect.ImmutableSet; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.List; import java.util.Map; @@ -76,7 +77,7 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ final YangResource yangResource = new YangResource(); yangResource.setName(entry.getKey()); yangResource.setContent(entry.getValue()); - yangResource.setChecksum(DigestUtils.md5DigestAsHex(entry.getValue().getBytes())); + yangResource.setChecksum(DigestUtils.md5DigestAsHex(entry.getValue().getBytes(StandardCharsets.UTF_8))); return yangResource; }) .collect(Collectors.toMap( diff --git a/cps-service/src/main/java/org/onap/cps/spi/model/ModuleReference.java b/cps-service/src/main/java/org/onap/cps/spi/model/ModuleReference.java index aa198a9c71..8989e6c328 100644 --- a/cps-service/src/main/java/org/onap/cps/spi/model/ModuleReference.java +++ b/cps-service/src/main/java/org/onap/cps/spi/model/ModuleReference.java @@ -20,6 +20,7 @@ package org.onap.cps.spi.model; +import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -29,7 +30,9 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -public class ModuleReference { +public class ModuleReference implements Serializable { + + private static final long serialVersionUID = 1L; private String name; private String namespace; diff --git a/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java b/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java index 8743b7df1b..8077ed7d88 100644 --- a/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java +++ b/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java @@ -103,7 +103,7 @@ public class YangUtils { } else if (normalizedNode instanceof LeafSetNode) { inspectLeafList(currentFragment, (LeafSetNode) normalizedNode); } else { - log.warn("Cannot normalize " + normalizedNode.getClass()); + log.warn("Cannot normalize {}", normalizedNode.getClass()); } } diff --git a/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java b/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java index ae0f2cd3e8..b1462cdc21 100644 --- a/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java +++ b/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java @@ -19,11 +19,14 @@ package org.onap.cps.yang; +import static com.google.common.base.Preconditions.checkNotNull; + import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.List; import java.util.Map; @@ -140,8 +143,9 @@ public final class YangTextSchemaSourceSetBuilder { .collect(Collectors.toList()); } - private static YangTextSchemaSource toYangTextSchemaSource(final String sourceName, final String source) { - final Map.Entry sourceNameParsed = YangNames.parseFilename(sourceName); + private static YangTextSchemaSource toYangTextSchemaSource(final String sourceName, + final String source) { + final Map.Entry sourceNameParsed = checkNotNull(YangNames.parseFilename(sourceName)); final RevisionSourceIdentifier revisionSourceIdentifier = RevisionSourceIdentifier .create(sourceNameParsed.getKey(), Revision.ofNullable(sourceNameParsed.getValue())); @@ -154,7 +158,7 @@ public final class YangTextSchemaSourceSetBuilder { @Override public InputStream openStream() { - return new ByteArrayInputStream(source.getBytes()); + return new ByteArrayInputStream(source.getBytes(StandardCharsets.UTF_8)); } }; } -- cgit 1.2.3-korg