From 65f9026922687baa56c2c703d00d94ec28b06832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Fri, 6 Mar 2026 16:02:18 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=99=EC=8A=B5=EC=84=9C=EB=B2=84=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=EC=A0=95=EB=B3=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/inference/utils/GeoJsonValidator.java | 14 +++++++------- .../common/service/ExternalJarRunner.java | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/inference/utils/GeoJsonValidator.java b/src/main/java/com/kamco/cd/kamcoback/common/inference/utils/GeoJsonValidator.java index 42f3737b..53c97490 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/inference/utils/GeoJsonValidator.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/inference/utils/GeoJsonValidator.java @@ -147,7 +147,7 @@ public class GeoJsonValidator { Set foundUnique = new HashSet<>(); // 중복된 scene_id 목록 (샘플 로그 출력용이라 순서 유지 가능한 LinkedHashSet 사용) -// Set duplicates = new LinkedHashSet<>(); + // Set duplicates = new LinkedHashSet<>(); // scene_id가 null 또는 blank인 feature의 개수 (데이터 이상) int nullIdCount = 0; @@ -179,9 +179,9 @@ public class GeoJsonValidator { } // foundUnique.add(sceneId)가 false면 "이미 같은 값이 있었다"는 뜻 => 중복 -// if (!foundUnique.add(sceneId)) { -// duplicates.add(sceneId); -// } + // if (!foundUnique.add(sceneId)) { + // duplicates.add(sceneId); + // } } // ========================================================= @@ -230,8 +230,8 @@ public class GeoJsonValidator { extra.size()); // 요청하지 않았는데 들어온 도엽 수 // 중복/누락/추가 항목은 전체를 다 찍으면 로그 폭발하므로 샘플만 -// if (!duplicates.isEmpty()) -// log.warn("duplicates sample: {}", duplicates.stream().limit(20).toList()); + // if (!duplicates.isEmpty()) + // log.warn("duplicates sample: {}", duplicates.stream().limit(20).toList()); if (!missing.isEmpty()) log.warn("missing sample: {}", missing.stream().limit(50).toList()); @@ -250,7 +250,7 @@ public class GeoJsonValidator { // - 요청 문법은 맞지만(파일은 있고 JSON도 읽힘), // 내용(정합성)이 요구사항을 만족하지 못하는 경우에 적합. // ========================================================= - if (!missing.isEmpty() || !extra.isEmpty() || nullIdCount > 0) { + if (!missing.isEmpty() || !extra.isEmpty() || nullIdCount > 0) { throw new ResponseStatusException( HttpStatus.UNPROCESSABLE_ENTITY, String.format( diff --git a/src/main/java/com/kamco/cd/kamcoback/common/service/ExternalJarRunner.java b/src/main/java/com/kamco/cd/kamcoback/common/service/ExternalJarRunner.java index 94bc2cb7..5caaa5ba 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/service/ExternalJarRunner.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/service/ExternalJarRunner.java @@ -28,7 +28,8 @@ public class ExternalJarRunner { * @param mode *

MERGED - batch-ids 에 해당하는 **모든 데이터를 하나의 Shapefile로 병합 생성, *

MAP_IDS - 명시적으로 전달한 map-ids만 대상으로 Shapefile 생성, - *

RESOLVE - batch-ids 기준으로 **JAR 내부에서 map_ids를 조회**한 뒤 Shapefile 생성 + *

RESOLVE - batch-ids 기준으로 **JAR 내부에서 map_ids를 조회**한 뒤 Shapefile 생성 java -jar + * build/libs/shp-exporter.jar --spring.profiles.active=prod */ public void run(String jarPath, String batchIds, String inferenceId, String mapIds, String mode) { List args = new ArrayList<>();