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

ahuber pushed a commit to branch maintenance-branch
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/maintenance-branch by this 
push:
     new 0ecf81e950b CAUSEWAY-3958: [v2] Clob content is required to be UTF-8 
(backport from v4)
0ecf81e950b is described below

commit 0ecf81e950bb4d6f02a37bfcf5fec1eae7a5a856
Author: andi-huber <[email protected]>
AuthorDate: Sun Jan 18 18:03:50 2026 +0100

    CAUSEWAY-3958: [v2] Clob content is required to be UTF-8 (backport from
    v4)
    
    for other use-cases use Blob
---
 .../causeway/viewer/wicket/ui/actionresponse/_DownloadHandler.java | 4 +++-
 .../wicket/ui/components/scalars/blobclob/CausewayClobPanel.java   | 7 +++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_DownloadHandler.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_DownloadHandler.java
index 5e3a1ae1506..b559b8767d9 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_DownloadHandler.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_DownloadHandler.java
@@ -81,7 +81,9 @@ public void close() throws IOException {
     }
 
     private IResourceStream resourceStreamFor(final Clob clob) {
-        return new StringResourceStream(clob.getChars(), 
clob.getMimeType().toString());
+        return resourceStreamFor(clob.toBlobUtf8());
+        // [CAUSEWAY-3958] has issues with CSV files
+               // return new StringResourceStream(clob.chars(), 
clob.mimeType().toString());
     }
 
     private IRequestHandler handlerFor(
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/blobclob/CausewayClobPanel.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/blobclob/CausewayClobPanel.java
index 38fc206684b..4d7debfd6e3 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/blobclob/CausewayClobPanel.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/blobclob/CausewayClobPanel.java
@@ -24,7 +24,7 @@
 
 import org.apache.wicket.markup.html.form.upload.FileUpload;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.request.resource.CharSequenceResource;
+import org.apache.wicket.request.resource.ByteArrayResource;
 import org.apache.wicket.request.resource.IResource;
 
 import org.apache.causeway.applib.value.Clob;
@@ -54,7 +54,10 @@ protected IModel<List<FileUpload>> fileUploadModel() {
 
     @Override
     protected IResource newResource(final Clob clob) {
-        return new CharSequenceResource(clob.getMimeType().getBaseType(), 
clob.getChars(), clob.getName());
+       var blob = clob.toBlobUtf8();
+       return new ByteArrayResource(blob.getMimeType().getBaseType(), 
blob.getBytes(), blob.getName());
+       //[CAUSEWAY-3958] has issues with CSV files
+        //return new CharSequenceResource(clob.mimeType().getBaseType(), 
clob.chars(), clob.name());
     }
 
 }

Reply via email to