From e31913ff9a6a389ef0278450e66a46a85bfda24c Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 29 Jan 2026 12:31:52 +0900 Subject: [PATCH 1/3] =?UTF-8?q?cls=20model=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/service/ModelMngService.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java b/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java index eb4e9df9..aadcce9b 100644 --- a/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java +++ b/src/main/java/com/kamco/cd/kamcoback/model/service/ModelMngService.java @@ -243,8 +243,6 @@ public class ModelMngService { List files = FIleChecker.getFilesFromAllDepth(dirPath, "*", "pth,py,json", 10, "name", startPos, endPos); - boolean hasPt = false; // pt 파일 존재 여부 - for (Basic dto : files) { // 예: 파일명 출력 및 추가 작업 String foldNm = dto.getFullPath().replace(dto.getFileNm(), ""); @@ -265,17 +263,15 @@ public class ModelMngService { } } - if (!hasPt) { + // cls model 적용 + String defaultPath = ptPath; + String defaultFileName = ptFileName; - String defaultPath = ptPath; - String defaultFileName = ptFileName; + Path ptPath = Paths.get(defaultPath, defaultFileName); - Path ptPath = Paths.get(defaultPath, defaultFileName); - - if (Files.exists(ptPath)) { - modelUploadResDto.setClsModelPath(defaultPath); - modelUploadResDto.setClsModelFileName(defaultFileName); - } + if (Files.exists(ptPath)) { + modelUploadResDto.setClsModelPath(defaultPath); + modelUploadResDto.setClsModelFileName(defaultFileName); } // int fileListPos = 0; From 8563204e59f9475b84178258d9ad8dfa2daf71d7 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Thu, 29 Jan 2026 12:49:16 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=98=81=EC=83=81=EA=B4=80=EB=A6=AC=20fold?= =?UTF-8?q?er-list=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/common/utils/FIleChecker.java | 18 ++++++++++++++---- .../mapsheet/service/MapSheetMngService.java | 8 +++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java index 89656629..ddee1fe9 100644 --- a/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/FIleChecker.java @@ -30,12 +30,14 @@ import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import lombok.Getter; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.gce.geotiff.GeoTiffReader; import org.springframework.util.FileSystemUtils; import org.springframework.web.multipart.MultipartFile; +@Slf4j public class FIleChecker { static SimpleDateFormat dttmFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -138,7 +140,9 @@ public class FIleChecker { // null을 넣으면 전체 영역을 읽지 않고 메타데이터 위주로 체크하여 빠름 GridCoverage2D coverage = reader.read(null); - if (coverage == null) return false; + if (coverage == null) { + return false; + } // 3. GIS 필수 정보(좌표계)가 있는지 확인 // if (coverage.getCoordinateReferenceSystem() == null) { @@ -152,7 +156,9 @@ public class FIleChecker { return false; } finally { // 리소스 해제 (필수) - if (reader != null) reader.dispose(); + if (reader != null) { + reader.dispose(); + } } } @@ -296,7 +302,8 @@ public class FIleChecker { boolean isValid = !NameValidator.containsKorean(folderNm) - && !NameValidator.containsWhitespaceRegex(folderNm); + && !NameValidator.containsWhitespaceRegex(folderNm) + && !parentFolderNm.equals("kamco-nfs"); File file = new File(fullPath); int childCnt = getChildFolderCount(file); @@ -586,7 +593,9 @@ public class FIleChecker { } public static boolean checkExtensions(String fileName, String ext) { - if (fileName == null) return false; + if (fileName == null) { + return false; + } if (!fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase().equals(ext)) { return false; @@ -690,6 +699,7 @@ public class FIleChecker { @Schema(name = "Folder", description = "폴더 정보") @Getter public static class Folder { + private final String folderNm; private final String parentFolderNm; private final String parentPath; diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java index a9ee891f..d41f6615 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java @@ -341,12 +341,14 @@ public class MapSheetMngService { String dirPath = syncRootDir + srchDto.getDirPath(); String sortType = "name desc"; - List folderList = FIleChecker.getFolderAll(dirPath); + List folderList = + FIleChecker.getFolderAll(dirPath).stream() + .filter(dir -> dir.getIsValid().equals(true)) + .toList(); int folderTotCnt = folderList.size(); int folderErrTotCnt = - (int) - folderList.stream().filter(dto -> dto.getIsValid().toString().equals("false")).count(); + (int) folderList.stream().filter(dto -> dto.getIsValid().equals(false)).count(); return new FoldersDto(dirPath, folderTotCnt, folderErrTotCnt, folderList); } From 480b016f332a546e127aa2085dc49b596a84a8a8 Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 29 Jan 2026 14:42:21 +0900 Subject: [PATCH 3/3] =?UTF-8?q?geoserver=20url=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.yml | 2 +- src/main/resources/application-prod.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index e99d8520..7085a0b1 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -123,5 +123,5 @@ training-data: geojson-dir: /kamco-nfs/model_output/labeling/ layer: - geoserver-url: https://kamco.geo-dev.gs.dabeeo.com + geoserver-url: https://label-tile.gs.dabeeo.com workspace: cd diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 9b8819bf..8cee0e13 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -78,5 +78,5 @@ training-data: geojson-dir: /kamco-nfs/model_output/labeling/ layer: - geoserver-url: https://kamco.geo-dev.gs.dabeeo.com + geoserver-url: https://label-tile.gs.dabeeo.com workspace: cd