From 8698bf61d1a078a2d189b0cb6134b12141c51a00 Mon Sep 17 00:00:00 2001 From: teddy Date: Fri, 27 Mar 2026 10:56:38 +0900 Subject: [PATCH] =?UTF-8?q?=EB=82=A9=ED=92=88=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EC=85=8B=20=EC=97=85=EB=A1=9C=EB=93=9C=20geojson=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/service/DatasetBatchService.java | 13 ++++++++++++- .../cd/training/dataset/service/DatasetService.java | 1 - 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/training/dataset/service/DatasetBatchService.java b/src/main/java/com/kamco/cd/training/dataset/service/DatasetBatchService.java index a564e12..52e1042 100644 --- a/src/main/java/com/kamco/cd/training/dataset/service/DatasetBatchService.java +++ b/src/main/java/com/kamco/cd/training/dataset/service/DatasetBatchService.java @@ -34,6 +34,7 @@ public class DatasetBatchService { insertTrainTestData(map, datasetUid, type); } catch (Exception e) { log.error("파일 단위 실패. skip. file={}", batch, e); + continue; } } } @@ -56,6 +57,10 @@ public class DatasetBatchService { JsonNode json; try { json = parseJson(labelJson); + if (json == null) { + log.warn("json null. skip. file={}", labelJson); + return; + } } catch (Exception e) { // 실패하면 skip, 다음 진행 log.error("GeoJSON 파싱 실패. skip. file={}", geojsonPath, e); @@ -87,6 +92,12 @@ public class DatasetBatchService { // JSON 유효성 체크 JsonNode featuresNode = json.path("features"); + // 2. 비어있는지 확인 + if (featuresNode.isEmpty()) { + log.warn("features empty. skip. file={}", geojsonPath); + return; + } + if (!featuresNode.isArray()) { log.warn("features array 아님. skip. file={}", geojsonPath); return; // skip @@ -168,7 +179,7 @@ public class DatasetBatchService { return mapper.readTree(labelJson.toString()); } catch (Exception e) { log.error("label_json parse error: {}", labelJson, e); - throw new RuntimeException("label_json parse error", e); + return null; } } diff --git a/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java b/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java index 2ec3702..1a25a1b 100644 --- a/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java +++ b/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java @@ -665,7 +665,6 @@ public class DatasetService { i + batch.size(), datasetUid, e); - throw e; } }