You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/07/15 14:03:03 UTC
[isis] 08/18: ISIS-2401: ObjectSerializer: mitigate potential
resource leaks (sonar)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 3c960bd2e1f18195d39bd5f1b4159dddf8256a16
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jul 14 10:21:27 2020 +0200
ISIS-2401: ObjectSerializer: mitigate potential resource leaks (sonar)
---
.../ObjectSerializer_builtinHandlers.java | 24 +++++++++++-----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/serialize/ObjectSerializer_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/serialize/ObjectSerializer_builtinHandlers.java
index 6fe573c..5155d6d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/serialize/ObjectSerializer_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/serialize/ObjectSerializer_builtinHandlers.java
@@ -54,12 +54,12 @@ final class ObjectSerializer_builtinHandlers {
@SneakyThrows
@Override
public byte[] serialize(ManagedObject object) {
- val bos = new ByteArrayOutputStream(16*4096); // 16k initial buffer size
- val oos = new ObjectOutputStream(bos);
- oos.writeObject(object.getPojo());
- oos.flush();
- oos.close();
- return _Bytes.compress(bos.toByteArray());
+ val bos = new ByteArrayOutputStream(16*1024); // 16k initial buffer size
+ try(val oos = new ObjectOutputStream(bos)){
+ oos.writeObject(object.getPojo());
+ oos.flush();
+ return _Bytes.compress(bos.toByteArray());
+ }
}
@SneakyThrows
@@ -70,12 +70,12 @@ final class ObjectSerializer_builtinHandlers {
}
private <T> T unmarshall(Class<T> type, byte[] input) throws IOException, ClassNotFoundException {
- val bis = new ByteArrayInputStream(_Bytes.decompress(input));
- val ois = new ObjectInputStream(bis);
- @SuppressWarnings("unchecked")
- val t = (T) ois.readObject();
- bis.close();
- return t;
+ try(val bis = new ByteArrayInputStream(_Bytes.decompress(input))){
+ val ois = new ObjectInputStream(bis);
+ @SuppressWarnings("unchecked")
+ val t = (T) ois.readObject();
+ return t;
+ }
}
}