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 2020/01/08 08:09:49 UTC

svn commit: r1872487 - in /jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault: fs/config/ packaging/ packaging/impl/ packaging/registry/impl/

Author: kwin
Date: Wed Jan  8 08:09:49 2020
New Revision: 1872487

URL: http://svn.apache.org/viewvc?rev=1872487&view=rev
Log:
JCRVLT-187 expose package properties from MetaInf

Get JcrPackage from Archive

This closes #71

Modified:
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/DefaultMetaInf.java
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/MetaInf.java
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageManager.java
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackageManagerImpl.java
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/FSPackageRegistry.java
    jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/JcrPackageRegistry.java

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/DefaultMetaInf.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/DefaultMetaInf.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/DefaultMetaInf.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/DefaultMetaInf.java Wed Jan  8 08:09:49 2020
@@ -43,6 +43,8 @@ import org.apache.jackrabbit.vault.fs.sp
 import org.apache.jackrabbit.vault.fs.spi.NodeTypeSet;
 import org.apache.jackrabbit.vault.fs.spi.PrivilegeDefinitions;
 import org.apache.jackrabbit.vault.fs.spi.ServiceProviderFactory;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
+import org.apache.jackrabbit.vault.packaging.impl.PackagePropertiesImpl;
 import org.apache.jackrabbit.vault.util.Constants;
 import org.apache.jackrabbit.vault.util.Text;
 import org.jetbrains.annotations.NotNull;
@@ -424,4 +426,16 @@ public class DefaultMetaInf implements M
             }
         }
     }
+
+    @Override
+    public PackageProperties getPackageProperties() {
+        return new PackagePropertiesImpl() {
+            
+            @Override
+            protected Properties getPropertiesMap() {
+                return getProperties();
+            }
+        };
+    }
+
 }

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/MetaInf.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/MetaInf.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/MetaInf.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/config/MetaInf.java Wed Jan  8 08:09:49 2020
@@ -24,7 +24,7 @@ import org.apache.jackrabbit.vault.fs.ap
 import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
 import org.apache.jackrabbit.vault.fs.spi.NodeTypeSet;
 import org.apache.jackrabbit.vault.fs.spi.PrivilegeDefinitions;
-import org.apache.jackrabbit.vault.packaging.PackageType;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -74,34 +74,41 @@ public interface MetaInf {
 
     /**
      * Returns the vault settings.
-     * @return the vault settings.
+     * @return the vault settings
      */
     @Nullable
     VaultSettings getSettings();
 
     /**
      * Returns the workspace filter.
-     * @return the workspace filter.
+     * @return the workspace filter
      */
     @Nullable
     WorkspaceFilter getFilter();
 
     /**
-     * Returns the vault config
+     * Returns the vault config.
      * @return the vault config
      */
     @Nullable
     VaultFsConfig getConfig();
 
     /**
-     * Returns the properties
+     * Returns the properties.
      * @return the properties
      */
     @Nullable
     Properties getProperties();
 
     /**
-     * Returns the node types
+     * Returns the package properties.
+     * @return the package properties
+     */
+    @NotNull
+    PackageProperties getPackageProperties();
+
+    /**
+     * Returns the node types.
      * @return the node types
      */
     @NotNull
@@ -109,7 +116,7 @@ public interface MetaInf {
 
     /**
      * Returns custom privileges defined in the meta inf.
-     * @return a collection of custom privileges.
+     * @return a collection of custom privileges
      * @since 3.0
      */
     @Nullable
@@ -117,7 +124,7 @@ public interface MetaInf {
     
     /**
      * Checks if the meta-inf contains a serialized definition.
-     * @return {@code true} if it contains a serialized definition.
+     * @return {@code true} if it contains a serialized definition
      */
     boolean hasDefinition();
 

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageManager.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageManager.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageManager.java Wed Jan  8 08:09:49 2020
@@ -24,6 +24,9 @@ import java.io.OutputStream;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+import org.apache.jackrabbit.vault.fs.io.Archive;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 import org.osgi.annotation.versioning.ProviderType;
 
 /**
@@ -73,21 +76,38 @@ import org.osgi.annotation.versioning.Pr
 public interface PackageManager {
 
     /**
+     * Opens the given archive and creates a package
+     * @param archive the archive
+     * @return the package
+     * @throws IOException if an error occurs
+     */
+    @NotNull VaultPackage open(@NotNull Archive archive) throws IOException;
+    
+    /**
+     * Opens the given archive and creates a package
+     * @param archive the archive
+     * @param strict if {@code true} the import is more strict with regards to errors.
+     * @return the package
+     * @throws IOException if an error occurs
+     */
+    @NotNull VaultPackage open(@NotNull Archive archive, boolean strict) throws IOException;
+
+    /**
      * Opens the given file and creates a package
      * @param file the file
      * @return the package
-     * @throws IOException if an error occurrs
+     * @throws IOException if an error occurs
      */
-    VaultPackage open(File file) throws IOException;
+    @NotNull VaultPackage open(@NotNull File file) throws IOException;
 
     /**
      * Opens the given file and creates a package
      * @param file the file
-     * @param strict if {@code true} the import is more strict in respect to errors.
+     * @param strict if {@code true} the import is more strict with regards to errors.
      * @return the package
-     * @throws IOException if an error occurrs
+     * @throws IOException if an error occurs
      */
-    VaultPackage open(File file, boolean strict) throws IOException;
+    @NotNull VaultPackage open(@NotNull File file, boolean strict) throws IOException;
 
     /**
      * Assembles a package using the given meta information and file to
@@ -102,7 +122,7 @@ public interface PackageManager {
      * @throws RepositoryException if a repository error during building occurs.
      * @throws IllegalStateException if the package is not new.
      */
-    VaultPackage assemble(Session s, ExportOptions opts, File file)
+    @NotNull VaultPackage assemble(@NotNull Session s, @NotNull ExportOptions opts, @Nullable File file)
             throws IOException, RepositoryException;
 
     /**
@@ -116,7 +136,7 @@ public interface PackageManager {
      * @throws RepositoryException if a repository error during building occurs.
      * @throws IllegalStateException if the package is not new.
      */
-    void assemble(Session s, ExportOptions opts, OutputStream out)
+    void assemble(@NotNull Session s, @NotNull ExportOptions opts, @NotNull OutputStream out)
             throws IOException, RepositoryException;
 
     /**
@@ -132,7 +152,7 @@ public interface PackageManager {
      * @throws RepositoryException if a repository error during building occurs.
      * @throws IllegalStateException if the package is not new.
      */
-    VaultPackage rewrap(ExportOptions opts, VaultPackage src, File file)
+    @NotNull VaultPackage rewrap(@NotNull ExportOptions opts, @NotNull VaultPackage src, @Nullable File file)
             throws IOException, RepositoryException;
 
     /**
@@ -144,6 +164,6 @@ public interface PackageManager {
      * @param out destination output stream
      * @throws IOException if an I/O error occurs
      */
-    void rewrap(ExportOptions opts, VaultPackage src, OutputStream out)
+    void rewrap(@NotNull ExportOptions opts, @NotNull VaultPackage src, @NotNull OutputStream out)
             throws IOException;
 }
\ No newline at end of file

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackageManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackageManagerImpl.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackageManagerImpl.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackageManagerImpl.java Wed Jan  8 08:09:49 2020
@@ -41,6 +41,7 @@ import org.apache.jackrabbit.vault.fs.ap
 import org.apache.jackrabbit.vault.fs.config.DefaultMetaInf;
 import org.apache.jackrabbit.vault.fs.config.MetaInf;
 import org.apache.jackrabbit.vault.fs.impl.AggregateManagerImpl;
+import org.apache.jackrabbit.vault.fs.io.Archive;
 import org.apache.jackrabbit.vault.fs.io.JarExporter;
 import org.apache.jackrabbit.vault.fs.spi.ProgressTracker;
 import org.apache.jackrabbit.vault.packaging.ExportOptions;
@@ -68,6 +69,23 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
+    public @NotNull VaultPackage open(@NotNull Archive archive) throws IOException {
+        return new ZipVaultPackage(archive, false);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public @NotNull VaultPackage open(@NotNull Archive archive, boolean strict) throws IOException {
+        return new ZipVaultPackage(archive, strict);
+    }
+    
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public VaultPackage open(File file) throws IOException {
         return open(file, false);
     }
@@ -75,6 +93,7 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
     public VaultPackage open(File file, boolean strict) throws IOException {
         return new ZipVaultPackage(file, false, strict);
     }
@@ -82,6 +101,7 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
     public VaultPackage assemble(Session s, ExportOptions opts, File file)
             throws IOException, RepositoryException {
         OutputStream out = null;
@@ -108,6 +128,7 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
     public void assemble(Session s, ExportOptions opts, OutputStream out)
             throws IOException, RepositoryException {
         RepositoryAddress addr;
@@ -151,6 +172,7 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
     public VaultPackage rewrap(ExportOptions opts, VaultPackage src, File file)
             throws IOException, RepositoryException {
         OutputStream out = null;
@@ -179,6 +201,7 @@ public class PackageManagerImpl implemen
     /**
      * {@inheritDoc}
      */
+    @Override
     public void rewrap(ExportOptions opts, VaultPackage src, OutputStream out)
             throws IOException {
         MetaInf metaInf = opts.getMetaInf();
@@ -254,5 +277,4 @@ public class PackageManagerImpl implemen
         dispatcher.dispatch(type, id, related);
     }
 
-
 }

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/FSPackageRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/FSPackageRegistry.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/FSPackageRegistry.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/FSPackageRegistry.java Wed Jan  8 08:09:49 2020
@@ -20,7 +20,6 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
@@ -29,7 +28,6 @@ import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -56,7 +54,6 @@ import org.apache.jackrabbit.vault.packa
 import org.apache.jackrabbit.vault.packaging.events.PackageEvent.Type;
 import org.apache.jackrabbit.vault.packaging.events.impl.PackageEventDispatcher;
 import org.apache.jackrabbit.vault.packaging.impl.HollowVaultPackage;
-import org.apache.jackrabbit.vault.packaging.impl.PackagePropertiesImpl;
 import org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage;
 import org.apache.jackrabbit.vault.packaging.registry.DependencyReport;
 import org.apache.jackrabbit.vault.packaging.registry.PackageRegistry;
@@ -487,13 +484,7 @@ public class FSPackageRegistry extends A
             }
 
             final MetaInf inf = archive.getMetaInf();
-            PackagePropertiesImpl props = new PackagePropertiesImpl() {
-                @Override
-                protected Properties getPropertiesMap() {
-                    return inf.getProperties();
-                }
-            };
-            PackageId pid = props.getId();
+            PackageId pid = inf.getPackageProperties().getId();
 
             // invalidate pid if path is unknown
             if (pid == null) {

Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/JcrPackageRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/JcrPackageRegistry.java?rev=1872487&r1=1872486&r2=1872487&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/JcrPackageRegistry.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/JcrPackageRegistry.java Wed Jan  8 08:09:49 2020
@@ -24,9 +24,9 @@ import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
-import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
+
 import javax.jcr.Binary;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
@@ -57,7 +57,6 @@ import org.apache.jackrabbit.vault.packa
 import org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl;
 import org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl;
 import org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl;
-import org.apache.jackrabbit.vault.packaging.impl.PackagePropertiesImpl;
 import org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage;
 import org.apache.jackrabbit.vault.packaging.registry.PackageRegistry;
 import org.apache.jackrabbit.vault.packaging.registry.RegisteredPackage;
@@ -378,13 +377,7 @@ public class JcrPackageRegistry extends
         }
 
         final MetaInf inf = archive.getMetaInf();
-        PackagePropertiesImpl props = new PackagePropertiesImpl() {
-            @Override
-            protected Properties getPropertiesMap() {
-                return inf.getProperties();
-            }
-        };
-        PackageId pid = props.getId();
+        PackageId pid = inf.getPackageProperties().getId();
 
         // invalidate pid if path is unknown
         if (pid == null) {