From 953f95aed69a6b8011dd2d3a98a6ccc66055916d Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 12 Feb 2026 17:14:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=84=EC=8B=9C=ED=8F=B4=EB=8D=94=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20api=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../training/model/service/TmpDatasetService.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kamco/cd/training/model/service/TmpDatasetService.java b/src/main/java/com/kamco/cd/training/model/service/TmpDatasetService.java index e707f69..189f96c 100644 --- a/src/main/java/com/kamco/cd/training/model/service/TmpDatasetService.java +++ b/src/main/java/com/kamco/cd/training/model/service/TmpDatasetService.java @@ -21,9 +21,13 @@ public class TmpDatasetService { public Path buildTmpDatasetSymlink(String uid, List datasetUids) throws IOException { // 환경에 맞게 yml로 빼는 걸 추천 - Path BASE = Paths.get(requestDir); + Path BASE = toPath(requestDir); Path tmp = BASE.resolve("tmp").resolve(uid); + log.info("requestDir(raw)={}", requestDir); + log.info("BASE(abs)={}", BASE.toAbsolutePath().normalize()); + log.info("BASE exists? {}", Files.isDirectory(BASE)); + // mkdir -p "$TMP"/train/{input1,input2,label} ... for (String type : List.of("train", "val")) { for (String part : List.of("input1", "input2", "label")) { @@ -38,6 +42,7 @@ public class TmpDatasetService { for (String part : List.of("input1", "input2", "label")) { Path srcDir = srcRoot.resolve(type).resolve(part); + log.info("srcRoot={} exists={}", srcRoot, Files.isDirectory(srcRoot)); // zsh NULL_GLOB: 폴더가 없으면 그냥 continue if (!Files.isDirectory(srcDir)) continue; @@ -63,4 +68,11 @@ public class TmpDatasetService { log.info("tmp dataset created: {}", tmp); return tmp; } + + private static Path toPath(String p) { + if (p.startsWith("~/")) { + return Paths.get(System.getProperty("user.home")).resolve(p.substring(2)).normalize(); + } + return Paths.get(p).toAbsolutePath().normalize(); + } }