From 6a9ac8a923cafa9096f3e70ec989b3f5fcccf9c6 Mon Sep 17 00:00:00 2001 From: cnathe Date: Fri, 11 Jul 2025 08:50:29 -0500 Subject: [PATCH 1/2] Issue 53431: Data Class and Sample Type data doesn't round-trip via folder export/import for field names with special char - use ColumnHeaderType.ImportField instead of FieldKey for writing folder archive tsv data column headers --- .../org/labkey/experiment/samples/AbstractExpFolderWriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderWriter.java b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderWriter.java index 1fbf2724e44..1962f24ffc6 100644 --- a/experiment/src/org/labkey/experiment/samples/AbstractExpFolderWriter.java +++ b/experiment/src/org/labkey/experiment/samples/AbstractExpFolderWriter.java @@ -96,7 +96,7 @@ protected void writeTsv(TableInfo tinfo, Collection columns, SimpleF try (TSVGridWriter tsvWriter = new TSVGridWriter(factory)) { tsvWriter.setApplyFormats(false); - tsvWriter.setColumnHeaderType(ColumnHeaderType.FieldKey); + tsvWriter.setColumnHeaderType(ColumnHeaderType.ImportField); // Issue 53431 PrintWriter out = dir.getPrintWriter(baseName + ".tsv"); tsvWriter.write(out); } From 8abc4ae58a1d8b8b077c6f6657d587d3e491b6a1 Mon Sep 17 00:00:00 2001 From: cnathe Date: Fri, 11 Jul 2025 10:12:41 -0500 Subject: [PATCH 2/2] PlateManager.exportPlateData to use ColumnHeaderType.ImportField --- assay/src/org/labkey/assay/plate/PlateManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assay/src/org/labkey/assay/plate/PlateManager.java b/assay/src/org/labkey/assay/plate/PlateManager.java index 7bf7085075b..b0c58ce4d93 100644 --- a/assay/src/org/labkey/assay/plate/PlateManager.java +++ b/assay/src/org/labkey/assay/plate/PlateManager.java @@ -3764,7 +3764,7 @@ public List exportPlateData(Container c, User user, ContainerFil try (TSVGridWriter writer = new TSVGridWriter(plateQueryView::getResults, displayColumns, Collections.singletonMap(sampleIdNameFieldKey.toString(), "Sample ID"))) { writer.setDelimiterCharacter(delim); - writer.setColumnHeaderType(ColumnHeaderType.FieldKey); + writer.setColumnHeaderType(ColumnHeaderType.ImportField); // Issue 53431 writer.write(plateFileBytes.bytes); }