From 14078dd5af159696bac55f1dc54283afcd3c019e Mon Sep 17 00:00:00 2001 From: XingY Date: Mon, 11 Aug 2025 11:39:56 -0700 Subject: [PATCH 1/2] Fix folder import with domain containing special characters --- .../experiment/samples/AbstractExpFolderImporter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java index 7003cd272be..d73ea4054c0 100644 --- a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java +++ b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java @@ -272,11 +272,14 @@ protected void importTsvData(FolderImportContext ctx, XarContext xarContext, Str for (ExpObject expObject : expObjects) { String tableName = expObject.getName(); - // tsv file name will have been generated from a sanitized table name + // tsv file name might have been generated from a sanitized table name String fileName = FileUtil.makeLegalName(tableName); - if (dataFileMap.containsKey(fileName)) + if (dataFileMap.containsKey(fileName) || dataFileMap.containsKey(tableName)) { String dataFileName = dataFileMap.get(fileName); + if (dataFileName == null) + dataFileName = dataFileMap.get(tableName); + TableInfo tinfo = userSchema.getTable(tableName); if (tinfo != null) { From 0bd54438dc2e9e9d398fe7bdf5d28be75f468aff Mon Sep 17 00:00:00 2001 From: XingY Date: Mon, 11 Aug 2025 12:38:21 -0700 Subject: [PATCH 2/2] Fix folder import with domain containing special characters --- .../experiment/samples/AbstractExpFolderImporter.java | 9 +++------ .../experiment/samples/DataClassFolderImporter.java | 2 +- .../experiment/samples/SampleStatusFolderImporter.java | 2 +- .../experiment/samples/SampleTypeFolderImporter.java | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java index d73ea4054c0..750b80d1628 100644 --- a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java +++ b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderImporter.java @@ -272,14 +272,11 @@ protected void importTsvData(FolderImportContext ctx, XarContext xarContext, Str for (ExpObject expObject : expObjects) { String tableName = expObject.getName(); - // tsv file name might have been generated from a sanitized table name - String fileName = FileUtil.makeLegalName(tableName); - if (dataFileMap.containsKey(fileName) || dataFileMap.containsKey(tableName)) + // tsv file name will have been generated from a sanitized table name + String fileName = FileUtil.makeLegalName(tableName + ".tsv"); + if (dataFileMap.containsKey(fileName)) { String dataFileName = dataFileMap.get(fileName); - if (dataFileName == null) - dataFileName = dataFileMap.get(tableName); - TableInfo tinfo = userSchema.getTable(tableName); if (tinfo != null) { diff --git a/experiment/src/org/labkey/experiment/samples/DataClassFolderImporter.java b/experiment/src/org/labkey/experiment/samples/DataClassFolderImporter.java index e02633029c0..1dca8a9bc6b 100644 --- a/experiment/src/org/labkey/experiment/samples/DataClassFolderImporter.java +++ b/experiment/src/org/labkey/experiment/samples/DataClassFolderImporter.java @@ -85,7 +85,7 @@ protected void importDataFiles(FolderImportContext ctx, VirtualFile xarDir, XarR { if (file.toLowerCase().endsWith(".tsv") && file.startsWith(DataClassFolderWriter.DATA_CLASS_PREFIX)) { - dataClassDataFiles.put(FileUtil.getBaseName(file.substring(DataClassFolderWriter.DATA_CLASS_PREFIX.length())), file); + dataClassDataFiles.put(FileUtil.getBaseName(file.substring(DataClassFolderWriter.DATA_CLASS_PREFIX.length()) + ".tsv"), file); } } diff --git a/experiment/src/org/labkey/experiment/samples/SampleStatusFolderImporter.java b/experiment/src/org/labkey/experiment/samples/SampleStatusFolderImporter.java index 950f4552ae3..7ade7bb4675 100644 --- a/experiment/src/org/labkey/experiment/samples/SampleStatusFolderImporter.java +++ b/experiment/src/org/labkey/experiment/samples/SampleStatusFolderImporter.java @@ -74,7 +74,7 @@ else if (file.toLowerCase().endsWith(".tsv")) { if (file.startsWith(SampleTypeFolderWriter.SAMPLE_STATUS_PREFIX)) { - sampleStatusDataFiles.put(FileUtil.getBaseName(file.substring(SampleTypeFolderWriter.SAMPLE_STATUS_PREFIX.length())), file); + sampleStatusDataFiles.put(FileUtil.getBaseName(file.substring(SampleTypeFolderWriter.SAMPLE_STATUS_PREFIX.length()) + ".tsv"), file); } } } diff --git a/experiment/src/org/labkey/experiment/samples/SampleTypeFolderImporter.java b/experiment/src/org/labkey/experiment/samples/SampleTypeFolderImporter.java index 0ddd3887695..a3766aa443e 100644 --- a/experiment/src/org/labkey/experiment/samples/SampleTypeFolderImporter.java +++ b/experiment/src/org/labkey/experiment/samples/SampleTypeFolderImporter.java @@ -67,7 +67,7 @@ protected void importDataFiles(FolderImportContext ctx, VirtualFile xarDir, XarR { if (file.toLowerCase().endsWith(".tsv") && file.startsWith(SampleTypeFolderWriter.SAMPLE_TYPE_PREFIX)) { - sampleTypeDataFiles.put(FileUtil.getBaseName(file.substring(SampleTypeFolderWriter.SAMPLE_TYPE_PREFIX.length())), file); + sampleTypeDataFiles.put(FileUtil.getBaseName(file.substring(SampleTypeFolderWriter.SAMPLE_TYPE_PREFIX.length()) + ".tsv"), file); } }