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:46 UTC

[jackrabbit-filevault] branch bugfix/JCRVLT-590-remove-finalizer created (now 88d7762)

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

kwin pushed a change to branch bugfix/JCRVLT-590-remove-finalizer
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git.


      at 88d7762  JCRVLT-590 remove finalizer and properly close ZipVaultPackage

This branch includes the following new commits:

     new 88d7762  JCRVLT-590 remove finalizer and properly close ZipVaultPackage

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[jackrabbit-filevault] 01/01: JCRVLT-590 remove finalizer and properly close ZipVaultPackage

Posted by kw...@apache.org.
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