From 30349030dd2725f2f06338a6f8660405f691b21e Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 6 Jul 2023 14:09:17 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-404=20(bug?= =?UTF-8?q?=20fix=20CLS-313)=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20=D0=BF=D0=BE=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/data/enums/FilenameTemplate.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java index 8e4152a6e..a6a2ae06b 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java @@ -1,5 +1,7 @@ package ru.spcex.clearing.dbf.exporter.logic.data.enums; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.integration.sftp.session.SftpFileInfo; import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer; @@ -74,20 +76,26 @@ public enum FilenameTemplate { } protected Integer countSameFilesInDir(String prefixOfTable, List files) { + final Logger log = LoggerFactory.getLogger(getClass()); + int res = 0; String timestampNow = utilFormatter.format(LocalDateTime.now()); for (SftpFileInfo file : files) { if (file.isDirectory()) continue; String name = file.getFilename(); String[] splitName = name.split("_"); - if (splitName.length < 3) - throw new IllegalArgumentException("Filename did not contains 3 or 4 separator \"_\": " + name); + if (splitName.length < 3) { + log.info("Filename did not contains 3 or 4+ separator \"_\": " + name); + continue; + } String prefix = splitName[0]; String timestamp = splitName[2]; if (prefix.equalsIgnoreCase(prefixOfTable) && timestamp.contains(timestampNow)) { - if (splitName.length < 4) - throw new IllegalArgumentException("Filename did not contains 4 separator \"_\": " + name); + if (splitName.length < 4) { + log.warn("Filename did not contains 4+ separator \"_\": " + name); + continue; + } String counter = splitName[3]; int positionOfDot = counter.indexOf('.'); if (positionOfDot != -1) {