This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new 72e91f5cc Result csv  download export support custom separator (#4300)
72e91f5cc is described below

commit 72e91f5cc8efb36c9d59b903377da75872d1bdad
Author: Casion <[email protected]>
AuthorDate: Mon Mar 6 11:40:37 2023 +0800

    Result csv  download export support custom separator (#4300)
    
    * support custom separator
    
    * Result csv download export support custom separator
---
 .../org/apache/linkis/storage/csv/StorageCSVWriter.scala     |  5 ++++-
 .../apache/linkis/filesystem/restful/api/FsRestfulApi.java   | 12 +++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git 
a/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
 
b/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
index 5fa9cde25..f9b811b6a 100644
--- 
a/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
+++ 
b/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
@@ -36,7 +36,7 @@ class StorageCSVWriter(
     with Logging {
 
   private val delimiter = separator match {
-    case "," => ','
+    case separ if StringUtils.isNotEmpty(separ) => separ
     case _ => '\t'
   }
 
@@ -58,6 +58,9 @@ class StorageCSVWriter(
         } else v
       }
     }
+    if (logger.isDebugEnabled()) {
+      logger.debug("delimiter:" + delimiter.toString)
+    }
 
     row.map(x => decorateValue(x)).toList.mkString(delimiter.toString) + "\n"
   }
diff --git 
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
 
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
index 91a8323db..dd6957308 100644
--- 
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
@@ -692,6 +692,7 @@ public class FsRestfulApi {
       @RequestParam(value = "charset", defaultValue = "utf-8") String charset,
       @RequestParam(value = "outputFileType", defaultValue = "csv") String 
outputFileType,
       @RequestParam(value = "csvSeperator", defaultValue = ",") String 
csvSeperator,
+      @RequestParam(value = "csvSeparator", defaultValue = ",") String 
csvSeparator,
       @RequestParam(value = "quoteRetouchEnable", required = false) boolean 
quoteRetouchEnable,
       @RequestParam(value = "outputFileName", defaultValue = 
"downloadResultset")
           String outputFileName,
@@ -704,6 +705,15 @@ public class FsRestfulApi {
     FsWriter fsWriter = null;
     PrintWriter writer = null;
     FileSource fileSource = null;
+    if (csvSeparator.equals(",") && !csvSeperator.equals(",")) {
+      csvSeparator = csvSeperator;
+    }
+    LOGGER.info(
+        "resultsetToExcel with outputFileType:{}, csvSeparator:{}, 
quoteRetouchEnable:{}, charset:{}",
+        outputFileType,
+        csvSeparator,
+        quoteRetouchEnable,
+        charset);
     try {
       String userName = ModuleUserUtils.getOperationUser(req, 
"resultsetToExcel " + path);
       FsPath fsPath = new FsPath(path);
@@ -737,7 +747,7 @@ public class FsRestfulApi {
         case "csv":
           if (FileSource$.MODULE$.isTableResultSet(fileSource)) {
             fsWriter =
-                CSVFsWriter.getCSVFSWriter(charset, csvSeperator, 
quoteRetouchEnable, outputStream);
+                CSVFsWriter.getCSVFSWriter(charset, csvSeparator, 
quoteRetouchEnable, outputStream);
           } else {
             fsWriter =
                 ScriptFsWriter.getScriptFsWriter(new FsPath(outputFileType), 
charset, outputStream);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to