X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ves-nf-oam-adopter%2Fves-nf-oam-adopter-pm-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fo%2Fran%2Foam%2Fnf%2Foam%2Fadopter%2Fpm%2Frest%2Fmanager%2Fmapper%2FPerformanceManagementFile2VesMapper.java;h=97197cf90305a5131a152b9e098c91ea62605f11;hb=2b8bb7bfd6f3586ecdf914ce4ed95f21dd0ee46b;hp=3cc99cd60d58d5e34f9f3613e2c6a74e55180970;hpb=3b1e9c1e2ea636b0c90da826ecf37147a9b5f23d;p=oam%2Fnf-oam-adopter.git diff --git a/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 b/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 index 3cc99cd..97197cf 100644 --- a/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 +++ b/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 @@ -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) { @@ -65,12 +66,15 @@ public class PerformanceManagementFile2VesMapper { LOG.info("Converting ZIP files to VES Message started"); final List listOfNotifications = new ArrayList<>(); final CsvSchema schema = CsvSchema.emptySchema().withHeader(); - final CsvMapper mapper = new CsvMapper(); + final var mapper = new CsvMapper(); mapper.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false); try { ZipEntry entry; - final VesMappingConfiguration mappingConfiguration = pmConfigProvider.getVesMappingConfiguration(); + final var 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)); @@ -81,7 +85,7 @@ public class PerformanceManagementFile2VesMapper { final List> mappedEvents = toEvent(mappingConfiguration, hostIp, iterator); mappedEvents.forEach(mapped -> { - final CommonEventFormat302ONAP eventFormat = new CommonEventFormat302ONAP(); + final var eventFormat = new CommonEventFormat302ONAP(); eventFormat.setEventList(mapped); listOfNotifications.add(eventFormat); }); @@ -103,11 +107,11 @@ public class PerformanceManagementFile2VesMapper { final Iterator> iterator) { final List> globalList = new ArrayList<>(); final int batchSize = mappingConfiguration.getBatchSize(); - int sequence = 0; + var sequence = 0; List events = new ArrayList<>(); final CsvConfiguration csv = mappingConfiguration.getCsv(); while (iterator.hasNext()) { - final Event event = new Event(); + final var event = new Event(); final Map recordMap = iterator.next(); event.setCommonEventHeader(CommonEventHeaderHandler.toCommonEventHeader(mappingConfiguration, hostIp, csv, recordMap, sequence));