Skip to content

Commit 179c734

Browse files
dbeaver/pro#3964 Refactor document (de-)serialization (#3275)
Co-authored-by: Matvey16 <82543000+Matvey16@users.noreply.github.com>
1 parent 0b924da commit 179c734

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLDatabaseDocument.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222
import org.jkiss.dbeaver.model.data.DBDDocument;
2323
import org.jkiss.dbeaver.model.exec.DBCException;
2424

25-
import java.io.ByteArrayOutputStream;
26-
import java.nio.charset.StandardCharsets;
25+
import java.io.StringWriter;
2726
import java.util.Collections;
2827
import java.util.Map;
2928

@@ -63,9 +62,9 @@ public String getData() throws DBCException {
6362
return null;
6463
}
6564
try {
66-
ByteArrayOutputStream baos = new ByteArrayOutputStream();
67-
document.serializeDocument(webSession.getProgressMonitor(), baos, StandardCharsets.UTF_8);
68-
return new String(baos.toByteArray(), StandardCharsets.UTF_8);
65+
StringWriter writer = new StringWriter();
66+
document.serializeDocument(webSession.getProgressMonitor(), writer);
67+
return writer.toString();
6968
} catch (Exception e) {
7069
throw new DBCException("Error serializing document", e);
7170
}

server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLUtils.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@
3737
import org.jkiss.utils.Base64;
3838
import org.jkiss.utils.CommonUtils;
3939

40-
import java.io.ByteArrayOutputStream;
40+
import java.io.StringWriter;
4141
import java.math.BigDecimal;
42-
import java.nio.charset.StandardCharsets;
4342
import java.util.*;
4443

4544
/**
@@ -131,9 +130,9 @@ private static Map<String, Object> createMapOfType(String type) {
131130
private static Map<String, Object> serializeDocumentValue(WebSession session, DBDDocument document) throws DBCException {
132131
String documentData;
133132
try {
134-
ByteArrayOutputStream baos = new ByteArrayOutputStream();
135-
document.serializeDocument(session.getProgressMonitor(), baos, StandardCharsets.UTF_8);
136-
documentData = new String(baos.toByteArray(), StandardCharsets.UTF_8);
133+
StringWriter writer = new StringWriter();
134+
document.serializeDocument(session.getProgressMonitor(), writer);
135+
documentData = writer.toString();
137136
} catch (Exception e) {
138137
throw new DBCException("Error serializing document", e);
139138
}

0 commit comments

Comments
 (0)