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) {