You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2022/01/11 10:41:47 UTC
[jackrabbit-filevault] 01/01: JCRVLT-590 remove finalizer and properly close ZipVaultPackage
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch bugfix/JCRVLT-590-remove-finalizer
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git
commit 88d7762e0748ec10f87eaa0f18fc2deb7989b51b
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Tue Jan 11 11:41:36 2022 +0100
JCRVLT-590 remove finalizer and properly close ZipVaultPackage
---
.../packaging/impl/JcrPackageManagerImpl.java | 35 +++++++++-------------
.../vault/packaging/impl/ZipVaultPackage.java | 9 ------
2 files changed, 14 insertions(+), 30 deletions(-)
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java
index 30e137a..01d6e24 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java
@@ -205,30 +205,24 @@ public class JcrPackageManagerImpl extends PackageManagerImpl implements JcrPack
} else {
archive = new ArchiveWrapper(archive);
}
- ZipVaultPackage pkg = new ZipVaultPackage(archive, true);
-
- PackageId pid = pkg.getId();
- JcrPackage jcrPack = registry.upload(pkg, replace);
- jcrPack = new JcrPackageImpl(registry, jcrPack.getNode(), pkg);
- jcrPack.extract(options);
-
Set<PackageId> ids = new HashSet<>();
- ids.add(pid);
-
- if (spfArchive != null) {
- for (Archive.Entry e: spfArchive.getSubPackageEntries()) {
- InputStream in = spfArchive.openInputStream(e);
- if (in != null) {
- try (Archive subArchive = new ZipStreamArchive(in)) {
- PackageId[] subIds = extract(subArchive, options, replace);
- ids.addAll(Arrays.asList(subIds));
+ try (ZipVaultPackage pkg = new ZipVaultPackage(archive, true)) {
+ PackageId pid = pkg.getId();
+ try (JcrPackage jcrPack = registry.upload(pkg, replace)) {
+ jcrPack.extract(options);
+ ids.add(pid);
+
+ if (spfArchive != null) {
+ for (Archive.Entry e: spfArchive.getSubPackageEntries()) {
+ try (InputStream in = spfArchive.openInputStream(e);
+ Archive subArchive = new ZipStreamArchive(in)) {
+ PackageId[] subIds = extract(subArchive, options, replace);
+ ids.addAll(Arrays.asList(subIds));
+ }
}
}
}
}
-
- pkg.close();
- jcrPack.close();
return ids.toArray(new PackageId[ids.size()]);
}
@@ -248,8 +242,7 @@ public class JcrPackageManagerImpl extends PackageManagerImpl implements JcrPack
@Override
public JcrPackage upload(File file, boolean isTmpFile, boolean replace, String nameHint, boolean strict)
throws RepositoryException, IOException {
- ZipVaultPackage pack = new ZipVaultPackage(file, isTmpFile, strict);
- try {
+ try (ZipVaultPackage pack = new ZipVaultPackage(file, isTmpFile, strict)) {
return registry.upload(pack, replace);
} catch (PackageExistsException e) {
throw new ItemExistsException(e.getMessage(), e);
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java
index 67fd9c7..a608625 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java
@@ -318,13 +318,4 @@ public class ZipVaultPackage extends PackagePropertiesImpl implements VaultPacka
return getMetaInf().getProperties();
}
- @Override
- protected void finalize() throws Throwable {
- try {
- close();
- } catch (Throwable e) {
- // ignore
- }
- super.finalize();
- }
}
\ No newline at end of file