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());
}
}