From 08a4fbb4478aef58d956b05f9c006512257c903d Mon Sep 17 00:00:00 2001 From: HMS17 Date: Wed, 25 Feb 2026 19:03:13 -0500 Subject: [PATCH 1/2] [BI-2791] Exp File Name Improvement --- .../brapi/v2/services/BrAPITrialService.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java index 5d8788beb..116ff7173 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java +++ b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java @@ -292,8 +292,7 @@ public DownloadFile exportObservations( List> rows = entry.getValue(); sortDefaultForExportRows(rows); StreamedFile streamedFile = FileUtil.writeToStreamedFile(columns, rows, fileType, SHEET_NAME); - // TODO: [BI-2183] remove hardcoded datasetName, use observation level. - String name = makeFileName(experiment, program, studyByDbId.get(entry.getKey()).getStudyName(), "Observation Dataset") + fileType.getExtension(); + String name = makeFileName(experiment, program, studyByDbId.get(entry.getKey()).getStudyName(), StringUtils.capitalize(observationLvl.toLowerCase())) + fileType.getExtension(); // Add to file list. files.add(new DownloadFile(name, streamedFile)); } @@ -313,9 +312,8 @@ public DownloadFile exportObservations( // write export data to requested file format StreamedFile streamedFile = FileUtil.writeToStreamedFile(columns, exportRows, fileType, SHEET_NAME); // Set filename. - String envFilenameFragment = params.getEnvironments() == null ? "All Environments" : params.getEnvironments(); - // TODO: [BI-2183] remove hardcoded datasetName, use observation level. - String fileName = makeFileName(experiment, program, envFilenameFragment, "Observation Dataset") + fileType.getExtension(); + String envFilenameFragment = params.getEnvironments() == null ? "All Env" : params.getEnvironments(); + String fileName = makeFileName(experiment, program, envFilenameFragment, StringUtils.capitalize(observationLvl.toLowerCase())) + fileType.getExtension(); downloadFile = new DownloadFile(fileName, streamedFile); } From 6e1c2fc3d0813e62e676c6785d0babcf62d12e3d Mon Sep 17 00:00:00 2001 From: HMS17 Date: Thu, 26 Feb 2026 10:35:33 -0500 Subject: [PATCH 2/2] [BI-2791] Zip file name improvement --- .../brapi/v2/services/BrAPITrialService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java index 116ff7173..df3e3c01d 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java +++ b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java @@ -304,7 +304,7 @@ public DownloadFile exportObservations( log.debug(logHash + ": zipping files for export"); // Zip, as there are multiple files. StreamedFile zipFile = zipFiles(files); - downloadFile = new DownloadFile(makeZipFileName(experiment, program), zipFile); + downloadFile = new DownloadFile(makeZipFileName(experiment, program, StringUtils.capitalize(observationLvl.toLowerCase())), zipFile); } } else { List> exportRows = new ArrayList<>(rowByOUId.values()); @@ -964,12 +964,13 @@ private String makeFileName(BrAPITrial experiment, Program program, String envNa return Utilities.makePortableFilename(unsafeName); } - private String makeZipFileName(BrAPITrial experiment, Program program) { + private String makeZipFileName(BrAPITrial experiment, Program program, String datasetName) { // .zip DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_hh-mm-ssZ"); String timestamp = formatter.format(OffsetDateTime.now()); - String unsafeName = String.format("%s_%s.zip", + String unsafeName = String.format("%s_%s_%s.zip", Utilities.removeProgramKey(experiment.getTrialName(), program.getKey()), + datasetName, timestamp); // Make file name safe for all platforms. return Utilities.makePortableFilename(unsafeName);