Fix Sonar complains 08/6108/1
authorClaudio D. Gasparini <claudio.gasparini@intl.att.com>
Fri, 21 May 2021 08:57:12 +0000 (10:57 +0200)
committerClaudio D. Gasparini <claudio.gasparini@intl.att.com>
Fri, 21 May 2021 09:27:40 +0000 (11:27 +0200)
Issue-ID: OAM-215
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@intl.att.com>
Change-Id: Ib9b1879b37bd83877744ad534769cf1a4528510f

ves-nf-oam-adopter/ves-nf-oam-adopter-mock/src/main/java/org/o/ran/oam/nf/oam/adopter/mock/app/SnmpNotifier.java
ves-nf-oam-adopter/ves-nf-oam-adopter-parent/pom.xml
ves-nf-oam-adopter/ves-nf-oam-adopter-pm-manager/src/main/java/org/o/ran/oam/nf/oam/adopter/pm/rest/manager/mapper/PerformanceManagementFile2VesMapper.java
ves-nf-oam-adopter/ves-nf-oam-adopter-pm-manager/src/test/java/org/o/ran/oam/nf/oam/adopter/pm/rest/manager/PerformanceManagementManagerTest.java
ves-nf-oam-adopter/ves-nf-oam-adopter-pm-sb-rest-client/src/main/java/org/o/ran/oam/nf/oam/adopter/pm/sb/rest/client/DefaultHttpRestClient.java
ves-nf-oam-adopter/ves-nf-oam-adopter-pm-sb-rest-client/src/main/java/org/o/ran/oam/nf/oam/adopter/pm/sb/rest/client/http/DownloadPerformanceManagementFilesHandler.java
ves-nf-oam-adopter/ves-nf-oam-adopter-snmp-manager/src/main/java/org/o/ran/oam/nf/oam/adopter/snmp/manager/SnmpTrapListener.java
ves-nf-oam-adopter/ves-nf-oam-adopter-snmp-manager/src/test/java/org/o/ran/oam/nf/oam/adopter/snmp/manager/SnmpManagerTest.java
ves-nf-oam-adopter/ves-nf-oam-adopter-snmp-manager/src/test/java/org/o/ran/oam/nf/oam/adopter/snmp/manager/SnmpTestUtil.java

index 3f759f2..60961f4 100644 (file)
@@ -56,7 +56,7 @@ public class SnmpNotifier {
     public SnmpNotifier(final SnmpProperties snmpProperties) {
         this.alarmTrap = snmpProperties.getAlarmTrap();
         this.clearTrap = snmpProperties.getClearTrap();
-        this.target = new CommunityTarget();
+        this.target = new CommunityTarget<>();
         target.setCommunity(new OctetString("public"));
         target.setVersion(SnmpConstants.version2c);
         target.setAddress(new UdpAddress(snmpProperties.getDestiny()));
index cdc7b9e..499ca0c 100644 (file)
             ${project.reporting.outputDirectory}/jacoco-aggregate
         </jacoco.reportDirectory.aggregate>
         <sonar.coverage.jacoco.xmlReportPaths>
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-event-notifier/target/site/jacoco-ut/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-event-notifier/target/site/jacoco-aggregate/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-snmp-manager/target/site/jacoco-ut/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-snmp-manager/target/site/jacoco-aggregate/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-pm-manager/target/site/jacoco-ut/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-pm-manager/target/site/jacoco-aggregate/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-pm-sb-rest-client/target/site/jacoco-ut/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-pm-sb-rest-client/target/site/jacoco-aggregate/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-app/target/site/jacoco-ut/jacoco.xml,
-            ../ves-nf-oam-adopter/ves-nf-oam-adopter-app/target/site/jacoco-aggregate/jacoco.xml
+            ../ves-nf-oam-adopter-event-notifier/target/site/jacoco-ut/jacoco.xml,
+            ../ves-nf-oam-adopter-event-notifier/target/site/jacoco-aggregate/jacoco.xml,
+            ../ves-nf-oam-adopter-snmp-manager/target/site/jacoco-ut/jacoco.xml,
+            ../ves-nf-oam-adopter-snmp-manager/target/site/jacoco-aggregate/jacoco.xml,
+            ../ves-nf-oam-adopter-pm-manager/target/site/jacoco-ut/jacoco.xml,
+            ../ves-nf-oam-adopter-pm-manager/target/site/jacoco-aggregate/jacoco.xml,
+            ../ves-nf-oam-adopter-pm-sb-rest-client/target/site/jacoco-ut/jacoco.xml,
+            ../ves-nf-oam-adopter-pm-sb-rest-client/target/site/jacoco-aggregate/jacoco.xml,
+            ../ves-nf-oam-adopter-app/target/site/jacoco-ut/jacoco.xml,
+            ../ves-nf-oam-adopter-app/target/site/jacoco-aggregate/jacoco.xml
         </sonar.coverage.jacoco.xmlReportPaths>
         <sonar.scanner.version>4.4.0.2170</sonar.scanner.version>
         <sonar.exclusions>
index 3cc99cd..1f5bedf 100644 (file)
@@ -47,6 +47,7 @@ public class PerformanceManagementFile2VesMapper {
 
     private static final String CSV_EXTENSION = ".csv";
     private final PerformanceManagementMapperConfigProvider pmConfigProvider;
+    private static final int THRESHOLD_SIZE  = 1000000000; // 1 GB
 
     @Autowired
     public PerformanceManagementFile2VesMapper(final PerformanceManagementMapperConfigProvider pmConfigProvider) {
@@ -71,6 +72,9 @@ public class PerformanceManagementFile2VesMapper {
             ZipEntry entry;
             final VesMappingConfiguration mappingConfiguration = pmConfigProvider.getVesMappingConfiguration();
             while ((entry = zipInputStream.getNextEntry()) != null) {
+                if (entry.getSize() > THRESHOLD_SIZE  || entry.getSize() == -1) {
+                    throw new IllegalStateException("File to be unzipped too big.");
+                }
                 final String entryName = entry.getName();
                 if (!entryName.endsWith(CSV_EXTENSION)) {
                     return Single.error(new Exception("Wrong file type :" + entryName));
index 46c942c..623f0a7 100644 (file)
@@ -19,7 +19,6 @@
 
 package org.o.ran.oam.nf.oam.adopter.pm.rest.manager;
 
-import static java.lang.Thread.sleep;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -122,11 +121,13 @@ class PerformanceManagementManagerTest {
     private static List<String> getVesNotification(final VesEventNotifierMock listener, final int expectedSize)
             throws InterruptedException {
         List<String> events = null;
-        for (int i = 0; i < 100000; i++) {
-            sleep(1000);
-            events = listener.getEvents();
-            if (events != null && !events.isEmpty() && events.size() == expectedSize) {
-                break;
+        synchronized (listener) {
+            for (int i = 0; i < 100000; i++) {
+                listener.wait(1000);
+                events = listener.getEvents();
+                if (events != null && !events.isEmpty() && events.size() == expectedSize) {
+                    break;
+                }
             }
         }
         return events;
index a99fedd..2c0cab7 100644 (file)
@@ -65,13 +65,8 @@ public final class DefaultHttpRestClient implements HttpRestClient {
             CacheBuilder.newBuilder().refreshAfterWrite(59, TimeUnit.MINUTES).build(new CacheLoader<>() {
                 @Override
                 public String load(final Adapter adapter) throws ExecutionException, InterruptedException {
-                    try {
-                        return returnToken(DefaultHttpRestClient.this.client, DefaultHttpRestClient.this.tokenEndpoint,
-                                adapter);
-                    } catch (final Exception error) {
-                        LOG.error("Failed to read time zone", error);
-                        throw error;
-                    }
+                    return returnToken(DefaultHttpRestClient.this.client, DefaultHttpRestClient.this.tokenEndpoint,
+                            adapter);
                 }
             });
 
index 77957cb..a9fae30 100644 (file)
@@ -56,10 +56,9 @@ public final class DownloadPerformanceManagementFilesHandler {
         final String statusLine = new StatusLine(response).toString();
         final ContentType contentType = response.getContentType();
         final SimpleBody entity = response.getBody();
-        if (response.getCode() == HttpStatus.SC_OK && entity != null) {
-            if (ContentType.APPLICATION_OCTET_STREAM.getMimeType().equals(contentType.getMimeType())) {
-                return Single.just(entity);
-            }
+        if (response.getCode() == HttpStatus.SC_OK && entity != null && ContentType.APPLICATION_OCTET_STREAM
+            .getMimeType().equals(contentType.getMimeType())) {
+            return Single.just(entity);
         }
         return Single.error(new PerformanceManagementException(
                 "Download files from " + adapter.getHostIpAddress() + " failed: " + statusLine));
index 09c7ff3..eead114 100644 (file)
@@ -76,7 +76,8 @@ final class SnmpTrapListener implements CommandResponder, Runnable {
     }
 
     @SuppressFBWarnings("WA_NOT_IN_LOOP")
-    private void listenSnmp(final MessageDispatcher dispatcher, final DefaultUdpTransportMapping snmpTarget) {
+    private synchronized void listenSnmp(final MessageDispatcher dispatcher,
+            final DefaultUdpTransportMapping snmpTarget) {
         try (final Snmp snmp = new Snmp(dispatcher, snmpTarget)) {
             snmp.addCommandResponder(this);
             snmpTarget.listen();
index 67cdfab..913c3b6 100644 (file)
@@ -40,7 +40,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
 @ExtendWith(SpringExtension.class)
 @SpringBootTest(classes = {VesEventNotifierMock.class, SnmpMappingConfigurationProvider.class,
     SnmpMapperImpl.class, SnmpManagerProperties.class, SnmpManagerConfig.class})
-public class SnmpManagerTest {
+class SnmpManagerTest {
     @Autowired
     @Qualifier("test")
     private VesEventNotifierMock listener;
@@ -56,12 +56,13 @@ public class SnmpManagerTest {
         when(timeZoneOffsetService.getTimeZone(anyString())).thenReturn(ZoneId.of("+02:00"));
     }
 
-    private static String getVesNotification(final VesEventNotifierMock notificationProvider)
-            throws InterruptedException {
-        for (int i = 0; i < 1000; i++) {
-            Thread.sleep(100);
-            if (notificationProvider.getEvent() != null) {
-                break;
+    private String getVesNotification(final VesEventNotifierMock notificationProvider) throws InterruptedException {
+        synchronized (notificationProvider) {
+            for (int i = 0; i < 1000; i++) {
+                notificationProvider.wait(200);
+                if (notificationProvider.getEvent() != null) {
+                    break;
+                }
             }
         }
         final String event = notificationProvider.getEvent();
@@ -71,7 +72,7 @@ public class SnmpManagerTest {
     }
 
     @Test
-    public void testDefaultTrap() throws Exception {
+    void testDefaultTrap() throws Exception {
         SnmpTestUtil
                 .sendDefaultTrapV2(snmpManagerProperties.getHost(), Integer.toString(snmpManagerProperties.getPort()));
         final String expected = JsonUtils.readJson("/json/VESMessageDefaultTrap.json");
@@ -80,7 +81,7 @@ public class SnmpManagerTest {
     }
 
     @Test
-    public void testBoxDown() throws Exception {
+    void testBoxDown() throws Exception {
         SnmpTestUtil.sendPortDownTrapV2(snmpManagerProperties.getHost(),
                 Integer.toString(snmpManagerProperties.getPort()));
         final String expected = JsonUtils.readJson("/json/PortDOWN.json");
index f14a251..6864071 100644 (file)
@@ -25,7 +25,6 @@ import org.snmp4j.CommunityTarget;
 import org.snmp4j.PDU;
 import org.snmp4j.Snmp;
 import org.snmp4j.mp.SnmpConstants;
-import org.snmp4j.smi.Address;
 import org.snmp4j.smi.OID;
 import org.snmp4j.smi.OctetString;
 import org.snmp4j.smi.TimeTicks;
@@ -45,8 +44,8 @@ public class SnmpTestUtil {
     public static final OID NOTIFICATION_INTERFACE = new OID(new int[] {1, 3, 6, 1, 4, 1, 1007, 0, 0, 1, 0, 7});
 
     private static void sndTrap(final PDU trap, final String host, final String port) throws IOException {
-        final Address targetaddress = new UdpAddress(host + "/" + port);
-        final CommunityTarget target = new CommunityTarget();
+        final UdpAddress targetaddress = new UdpAddress(host + "/" + port);
+        final CommunityTarget<UdpAddress> target = new CommunityTarget<>();
         target.setCommunity(new OctetString("public"));
         target.setVersion(SnmpConstants.version2c);
         target.setAddress(targetaddress);