From 70bfd94b64539f53447917b862e691e75646c2e0 Mon Sep 17 00:00:00 2001 From: ialbert Date: Mon, 12 Dec 2022 11:04:48 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-35 --- .../dbf/importer/logic/Processor.java | 1 + .../importer/services/DBFImporterService.java | 50 ++++++++++++++++--- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/Processor.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/Processor.java index dcdb92c9d..86340fc6f 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/Processor.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/Processor.java @@ -27,6 +27,7 @@ public class Processor { for (Stage currStage : pipeline) { log.info("uuid {}. Stage: {}", task.getUuid(), currStage.getClass().getSimpleName()); result = currStage.process(task); + log.info("uuid {}. Stage {} finished", task.getUuid(), currStage.getClass().getSimpleName()); if (Arrays.asList(StageResult.ERROR, StageResult.COMPLETE).contains(result)) break; } long endMills = System.currentTimeMillis(); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/DBFImporterService.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/DBFImporterService.java index a4413c8a9..51eed3b59 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/DBFImporterService.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/DBFImporterService.java @@ -12,8 +12,12 @@ import ru.spcex.clearing.dbf.importer.logic.data.ResultContainer; import ru.spcex.clearing.dbf.importer.logic.data.enums.ETable; import java.io.File; +import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; @Service("dbfImporterService") @EnableScheduling @@ -37,15 +41,45 @@ public class DBFImporterService { } public void run(ETable specificTable) { - log.info("performing import {}", specificTable != null ? specificTable.name() : ""); - Map> newFiles = fileChecker.checkNewFiles(specificTable); - for (Map.Entry> newFilesEntry : newFiles.entrySet()) { - ETable currTable = newFilesEntry.getKey(); - List fileList = newFilesEntry.getValue(); - for (File dbfFile : fileList) { - executorService.execute(() -> processor.process(ResultContainer.createNewTask(currTable, dbfFile))); + log.info("adding import task {}", specificTable != null ? specificTable.name() : ""); + executorService.execute(() -> { + log.info("checking new files... {}", specificTable != null ? specificTable.name() : ""); + Map> newFiles = fileChecker.checkNewFiles(specificTable); + if (log.isDebugEnabled()) { + log.debug("following files will be processed {}", forLogging(newFiles)); + } else { + log.info("following files will be processed {}", forLoggingSizeOnly(newFiles)); } - } + for (Map.Entry> newFilesEntry : newFiles.entrySet()) { + ETable currTable = newFilesEntry.getKey(); + List fileList = newFilesEntry.getValue(); + for (File dbfFile : fileList) { + processor.process(ResultContainer.createNewTask(currTable, dbfFile)); + } + } + }); + } + + private static String forLogging(Map> files) { + return files + .entrySet() + .stream() + .flatMap((Function>, Stream>) entry -> { + List r = new LinkedList<>(); + for (File file : entry.getValue()) { + r.add(entry.getKey().name() + " " + file.toPath()); + } + return r.stream(); + }) + .collect(Collectors.joining(";", "[", "]")); + } + + private static String forLoggingSizeOnly(Map> files) { + return files + .entrySet() + .stream() + .map(entry -> entry.getKey().name() + " " + entry.getValue().size()) + .collect(Collectors.joining(";", "[", "]")); } }