You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2014/02/15 02:31:17 UTC
svn commit: r1568583 - in
/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging:
PackageProperties.java VaultPackage.java impl/PackagePropertiesImpl.java
impl/ZipVaultPackage.java
Author: tripod
Date: Sat Feb 15 01:31:16 2014
New Revision: 1568583
URL: http://svn.apache.org/r1568583
Log:
JCRVLT-32 Store package properties in the MANIFEST.MF for faster access (wip)
- first step to factor out the properties from the package interface
Added:
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageProperties.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackagePropertiesImpl.java
Modified:
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/VaultPackage.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java
Added: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageProperties.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageProperties.java?rev=1568583&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageProperties.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/PackageProperties.java Sat Feb 15 01:31:16 2014
@@ -0,0 +1,216 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.vault.packaging;
+
+import java.util.Calendar;
+
+import org.apache.jackrabbit.vault.fs.io.AccessControlHandling;
+
+/**
+ * The package properties provide extra/meta information about the package to install. The properties are usually
+ * store in the {@code META-INF/vault/properties.xml} or in the jar's manifest.
+ *
+ * @since 3.1
+ */
+public interface PackageProperties {
+
+ /**
+ * Name of the last modified meta-inf property
+ */
+ String NAME_LAST_MODIFIED = "lastModified";
+
+ /**
+ * Name of the last modified by meta-inf property
+ */
+ String NAME_LAST_MODIFIED_BY = "lastModifiedBy";
+
+ /**
+ * Name of the group property
+ * @since 2.2
+ */
+ String NAME_GROUP = "group";
+
+ /**
+ * Name of the 'name' property
+ * @since 2.2
+ */
+ String NAME_NAME = "name";
+
+ /**
+ * Name of the build count meta-inf property
+ */
+ String NAME_BUILD_COUNT = "buildCount";
+
+ /**
+ * Name of the version meta-inf property
+ */
+ String NAME_VERSION = "version";
+
+ /**
+ * Name of the dependencies meta-inf property
+ */
+ String NAME_DEPENDENCIES = "dependencies";
+
+ /**
+ * Name of the created meta-inf property
+ */
+ String NAME_CREATED = "created";
+
+ /**
+ * Name of the created by meta-inf property
+ */
+ String NAME_CREATED_BY = "createdBy";
+
+ /**
+ * Name of the last wrapped meta-inf property
+ * @since 2.2.22
+ */
+ String NAME_LAST_WRAPPED = "lastWrapped";
+
+ /**
+ * Name of the last wrapped by meta-inf property
+ * @since 2.2.22
+ */
+ String NAME_LAST_WRAPPED_BY = "lastWrappedBy";
+
+ /**
+ * Name of the 'acHandling' by meta-inf property.
+ * @see org.apache.jackrabbit.vault.fs.io.AccessControlHandling
+ */
+ String NAME_AC_HANDLING = "acHandling";
+
+ /**
+ * Name of the 'cndPattern' by meta-inf property.
+ * @since 2.3.12
+ */
+ String NAME_CND_PATTERN = "cndPattern";
+
+ /**
+ * Name of the description meta-inf property
+ */
+ String NAME_DESCRIPTION = "description";
+
+ /**
+ * Name of the flag that indicates in only admin sessions
+ * can extract this package.
+ */
+ String NAME_REQUIRES_ROOT = "requiresRoot";
+
+ /**
+ * Name of the flag that indicates that the system needs a restart after
+ * package extraction.
+ */
+ String NAME_REQUIRES_RESTART = "requiresRestart";
+
+ /**
+ * Name of the flag that indicates to disable intermediate saves.
+ */
+ String NAME_DISABLE_INTERMEDIATE_SAVE = "noIntermediateSaves";
+
+ /**
+ * the prefix for an install hook property. eg:
+ * 'installhook.test1.class = ....'
+ */
+ String PREFIX_INSTALL_HOOK = "installhook.";
+
+ /**
+ * Returns the id of this package or <code>null</code> if the id can't
+ * be determined.
+ * @return the id of this package.
+ */
+ PackageId getId();
+
+ /**
+ * Returns the last modification date or <code>null</code> if n/a.
+ * @return last modification date or <code>null</code>
+ */
+ Calendar getLastModified();
+
+ /**
+ * Returns the user that last modified the package or <code>null</code> if n/a.
+ * @return the user or <code>null</code>
+ */
+ String getLastModifiedBy();
+
+ /**
+ * Returns the date when this package was built or <code>null</code> if n/a.
+ * @return the creation date
+ */
+ Calendar getCreated();
+
+ /**
+ * Returns the user that built this package or null if n/a.
+ * @return the creator
+ */
+ String getCreatedBy();
+
+ /**
+ * Returns the date when this package was wrapped or <code>null</code> if n/a.
+ * @return the wrapped date
+ * @since 2.2.22
+ */
+ Calendar getLastWrapped();
+
+ /**
+ * Returns the user that wrapped this package or null if n/a.
+ * @return the wrapper
+ * @since 2.2.22
+ */
+ String getLastWrappedBy();
+
+ /**
+ * Returns a description of this package or <code>null</code> if n/a
+ * @return a description
+ */
+ String getDescription();
+
+ /**
+ * Returns <code>true</code> if this package can only be extracted by a
+ * admin session.
+ * @return <code>true</code> if this package requires an admin session for extraction.
+ */
+ boolean requiresRoot();
+
+ /**
+ * Returns an unmodifiable list of dependencies
+ * @return list of dependencies
+ */
+ Dependency[] getDependencies();
+
+ /**
+ * Returns the access control handling defined in this package.
+ * @return the access control handling.
+ */
+ AccessControlHandling getACHandling();
+
+ /**
+ * Returns the date property with the given name or {@code null} if it does not exist or if the value cannot be
+ * converted to a date.
+ * @param name the property name
+ * @return the property value or {@code null}
+ */
+ Calendar getDateProperty(String name);
+
+ /**
+ * Returns the property with the given name or {@code null} if it does not exist.
+ * @param name the property name
+ * @return the property value or {@code null}
+ */
+ public String getProperty(String name);
+
+}
\ No newline at end of file
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/VaultPackage.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/VaultPackage.java?rev=1568583&r1=1568582&r2=1568583&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/VaultPackage.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/VaultPackage.java Sat Feb 15 01:31:16 2014
@@ -31,108 +31,10 @@ import org.apache.jackrabbit.vault.fs.io
/**
* Defines a vault package. A vault package is a binary assembled representation
* of a vault export.
+ * <p/>
+ * Note that VaultPackage currently extends from PackageProperties to keep the interface backwards compatible.
*/
-public interface VaultPackage {
-
- /**
- * Name of the last modified meta-inf property
- */
- String NAME_LAST_MODIFIED = "lastModified";
-
- /**
- * Name of the last modified by meta-inf property
- */
- String NAME_LAST_MODIFIED_BY = "lastModifiedBy";
-
- /**
- * Name of the group property
- * @since 2.2
- */
- String NAME_GROUP = "group";
-
- /**
- * Name of the 'name' property
- * @since 2.2
- */
- String NAME_NAME = "name";
-
- /**
- * Name of the build count meta-inf property
- */
- String NAME_BUILD_COUNT = "buildCount";
-
- /**
- * Name of the version meta-inf property
- */
- String NAME_VERSION = "version";
-
- /**
- * Name of the dependencies meta-inf property
- */
- String NAME_DEPENDENCIES = "dependencies";
-
- /**
- * Name of the created meta-inf property
- */
- String NAME_CREATED = "created";
-
- /**
- * Name of the created by meta-inf property
- */
- String NAME_CREATED_BY = "createdBy";
-
- /**
- * Name of the last wrapped meta-inf property
- * @since 2.2.22
- */
- String NAME_LAST_WRAPPED = "lastWrapped";
-
- /**
- * Name of the last wrapped by meta-inf property
- * @since 2.2.22
- */
- String NAME_LAST_WRAPPED_BY = "lastWrappedBy";
-
- /**
- * Name of the 'acHandling' by meta-inf property.
- * @see AccessControlHandling
- */
- String NAME_AC_HANDLING = "acHandling";
-
- /**
- * Name of the 'cndPattern' by meta-inf property.
- * @since 2.3.12
- */
- String NAME_CND_PATTERN = "cndPattern";
-
- /**
- * Name of the description meta-inf property
- */
- String NAME_DESCRIPTION = "description";
-
- /**
- * Name of the flag that indicates in only admin sessions
- * can extract this package.
- */
- String NAME_REQUIRES_ROOT = "requiresRoot";
-
- /**
- * Name of the flag that indicates that the system needs a restart after
- * package extraction.
- */
- String NAME_REQUIRES_RESTART = "requiresRestart";
-
- /**
- * Name of the flag that indicates to disable intermediate saves.
- */
- String NAME_DISABLE_INTERMEDIATE_SAVE = "noIntermediateSaves";
-
- /**
- * the prefix for an install hook property. eg:
- * 'installhook.test1.class = ....'
- */
- String PREFIX_INSTALL_HOOK = "installhook.";
-
+public interface VaultPackage extends PackageProperties {
/**
* Returns the id of this package or <code>null</code> if the id can't
@@ -142,6 +44,13 @@ public interface VaultPackage {
PackageId getId();
/**
+ * Returns the properties of this package.
+ * @return the properties.
+ * @since 3.1
+ */
+ PackageProperties getProperties();
+
+ /**
* Checks if this package is valid.
* @return <code>true</code> if this package is valid.
*/
@@ -166,69 +75,6 @@ public interface VaultPackage {
long getSize();
/**
- * Returns the last modification date or <code>null</code> if n/a.
- * @return last modification date or <code>null</code>
- */
- Calendar getLastModified();
-
- /**
- * Returns the user that last modified the package or <code>null</code> if n/a.
- * @return the user or <code>null</code>
- */
- String getLastModifiedBy();
-
- /**
- * Returns the date when this package was built or <code>null</code> if n/a.
- * @return the creation date
- */
- Calendar getCreated();
-
- /**
- * Returns the user that built this package or null if n/a.
- * @return the creator
- */
- String getCreatedBy();
-
- /**
- * Returns the date when this package was wrapped or <code>null</code> if n/a.
- * @return the wrapped date
- * @since 2.2.22
- */
- Calendar getLastWrapped();
-
- /**
- * Returns the user that wrapped this package or null if n/a.
- * @return the wrapper
- * @since 2.2.22
- */
- String getLastWrappedBy();
-
- /**
- * Returns a description of this package or <code>null</code> if n/a
- * @return a description
- */
- String getDescription();
-
- /**
- * Returns <code>true</code> if this package can only be extracted by a
- * admin session.
- * @return <code>true</code> if this package requires an admin session for extraction.
- */
- boolean requiresRoot();
-
- /**
- * Returns an unmodifiable list of dependencies
- * @return list of dependencies
- */
- Dependency[] getDependencies();
-
- /**
- * Returns the access control handling defined in this package.
- * @return the access control handling.
- */
- AccessControlHandling getACHandling();
-
- /**
* Extracts the package contents to the repository
*
* @param session repository session
Added: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackagePropertiesImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackagePropertiesImpl.java?rev=1568583&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackagePropertiesImpl.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/PackagePropertiesImpl.java Sat Feb 15 01:31:16 2014
@@ -0,0 +1,181 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.vault.packaging.impl;
+
+import java.util.Calendar;
+import java.util.Properties;
+
+import org.apache.jackrabbit.util.ISO8601;
+import org.apache.jackrabbit.vault.fs.io.AccessControlHandling;
+import org.apache.jackrabbit.vault.packaging.Dependency;
+import org.apache.jackrabbit.vault.packaging.PackageId;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * package properties abstraction
+ */
+public abstract class PackagePropertiesImpl implements PackageProperties {
+
+ private static final Logger log = LoggerFactory.getLogger(PackagePropertiesImpl.class);
+
+ public static final String UNKNOWN_PATH = "/etc/packages/unknown";
+
+ private PackageId id;
+
+ public PackageId getId() {
+ if (id == null) {
+ String version = getProperty(NAME_VERSION);
+ if (version == null) {
+ log.warn("Package does not specify a version. setting to ''");
+ version = "";
+ }
+ String group = getProperty(NAME_GROUP);
+ String name = getProperty(NAME_NAME);
+ if (group != null && name != null) {
+ id = new PackageId(group, name, version);
+ } else {
+ // check for legacy packages that only contains a 'path' property
+ String path = getProperty("path");
+ if (path == null || path.length() == 0) {
+ log.warn("Package does not specify a path. setting to 'unknown'");
+ path = UNKNOWN_PATH;
+ }
+ id = new PackageId(path, version);
+ }
+ }
+ return id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Calendar getLastModified() {
+ return getDateProperty(NAME_LAST_MODIFIED);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getLastModifiedBy() {
+ return getProperty(NAME_LAST_MODIFIED_BY);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Calendar getCreated() {
+ return getDateProperty(NAME_CREATED);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getCreatedBy() {
+ return getProperty(NAME_CREATED_BY);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Calendar getLastWrapped() {
+ return getDateProperty(NAME_LAST_WRAPPED);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getLastWrappedBy() {
+ return getProperty(NAME_LAST_WRAPPED_BY);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getDescription() {
+ return getProperty(NAME_DESCRIPTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public AccessControlHandling getACHandling() {
+ String ac = getProperty(NAME_AC_HANDLING);
+ if (ac == null) {
+ return AccessControlHandling.IGNORE;
+ } else {
+ try {
+ return AccessControlHandling.valueOf(ac.toUpperCase());
+ } catch (IllegalArgumentException e) {
+ log.warn("invalid access control handling configured: {}", ac);
+ return AccessControlHandling.IGNORE;
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean requiresRoot() {
+ return "true".equals(getProperty(NAME_REQUIRES_ROOT));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Dependency[] getDependencies() {
+ String deps = getProperty(NAME_DEPENDENCIES);
+ if (deps == null) {
+ return Dependency.EMPTY;
+ } else {
+ return Dependency.parse(deps);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Calendar getDateProperty(String name) {
+ try {
+ String p = getProperty(name);
+ return p == null
+ ? null
+ : ISO8601.parse(p);
+ } catch (Exception e) {
+ log.error("Error while converting date property", e);
+ return null;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getProperty(String name) {
+ try {
+ Properties props = getPropertiesMap();
+ return props == null ? null : props.getProperty(name);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ protected abstract Properties getPropertiesMap();
+
+
+}
\ No newline at end of file
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java?rev=1568583&r1=1568582&r2=1568583&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/ZipVaultPackage.java Sat Feb 15 01:31:16 2014
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.vault.pack
import java.io.File;
import java.io.IOException;
-import java.util.Calendar;
import java.util.List;
import java.util.Properties;
import java.util.regex.PatternSyntaxException;
@@ -28,19 +27,17 @@ import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.apache.commons.io.FileUtils;
-import org.apache.jackrabbit.util.ISO8601;
import org.apache.jackrabbit.vault.fs.config.MetaInf;
import org.apache.jackrabbit.vault.fs.io.AccessControlHandling;
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.ImportOptions;
import org.apache.jackrabbit.vault.fs.io.Importer;
import org.apache.jackrabbit.vault.fs.io.ZipArchive;
-import org.apache.jackrabbit.vault.packaging.Dependency;
import org.apache.jackrabbit.vault.packaging.InstallContext;
import org.apache.jackrabbit.vault.packaging.InstallHookProcessor;
import org.apache.jackrabbit.vault.packaging.InstallHookProcessorFactory;
import org.apache.jackrabbit.vault.packaging.PackageException;
-import org.apache.jackrabbit.vault.packaging.PackageId;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
import org.apache.jackrabbit.vault.packaging.VaultPackage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,7 +46,7 @@ import org.slf4j.LoggerFactory;
* Implements a vault package that is a zipped representation of a file vault
* export.
*/
-public class ZipVaultPackage implements VaultPackage {
+public class ZipVaultPackage extends PackagePropertiesImpl implements VaultPackage {
private static final Logger log = LoggerFactory.getLogger(ZipVaultPackage.class);
@@ -61,8 +58,6 @@ public class ZipVaultPackage implements
private boolean isTmpFile;
- private PackageId id;
-
protected ZipVaultPackage(File file, boolean isTmpFile) throws IOException {
this(file, isTmpFile, false);
}
@@ -102,8 +97,8 @@ public class ZipVaultPackage implements
public Archive getArchive() {
if (archive == null) {
if (file == null) {
- log.error("Package already closed: " + id);
- throw new IllegalStateException("Package already closed: " + id);
+ log.error("Package already closed: {}", getId());
+ throw new IllegalStateException("Package already closed: " + getId());
}
archive = new ZipArchive(file);
try {
@@ -116,30 +111,6 @@ public class ZipVaultPackage implements
return archive;
}
- public PackageId getId() {
- if (id == null) {
- String version = getProperty(NAME_VERSION);
- if (version == null) {
- log.warn("Package does not specify a version. setting to ''");
- version = "";
- }
- String group = getProperty(NAME_GROUP);
- String name = getProperty(NAME_NAME);
- if (group != null && name != null) {
- id = new PackageId(group, name, version);
- } else {
- // check for legacy packages that only contains a 'path' property
- String path = getProperty("path");
- if (path == null || path.length() == 0) {
- log.warn("Package does not specify a path. setting to 'unknown'");
- path = UNKNOWN_PATH;
- }
- id = new PackageId(path, version);
- }
- }
- return id;
- }
-
/**
* {@inheritDoc}
*/
@@ -189,93 +160,15 @@ public class ZipVaultPackage implements
/**
* {@inheritDoc}
*/
- public Calendar getLastModified() {
- return getDateProperty(NAME_LAST_MODIFIED);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getLastModifiedBy() {
- return getProperty(NAME_LAST_MODIFIED_BY);
- }
-
- /**
- * {@inheritDoc}
- */
- public Calendar getCreated() {
- return getDateProperty(NAME_CREATED);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getCreatedBy() {
- return getProperty(NAME_CREATED_BY);
- }
-
- /**
- * {@inheritDoc}
- */
- public Calendar getLastWrapped() {
- return getDateProperty(NAME_LAST_WRAPPED);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getLastWrappedBy() {
- return getProperty(NAME_LAST_WRAPPED_BY);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getDescription() {
- return getProperty(NAME_DESCRIPTION);
- }
-
- /**
- * {@inheritDoc}
- */
- public AccessControlHandling getACHandling() {
- String ac = getProperty(NAME_AC_HANDLING);
- if (ac == null) {
- return AccessControlHandling.IGNORE;
- } else {
- try {
- return AccessControlHandling.valueOf(ac.toUpperCase());
- } catch (IllegalArgumentException e) {
- log.warn("invalid access control handling configured: {}", ac);
- return AccessControlHandling.IGNORE;
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean requiresRoot() {
- return "true".equals(getProperty(NAME_REQUIRES_ROOT));
- }
-
- /**
- * {@inheritDoc}
- */
- public Dependency[] getDependencies() {
- String deps = getProperty(NAME_DEPENDENCIES);
- if (deps == null) {
- return Dependency.EMPTY;
- } else {
- return Dependency.parse(deps);
- }
+ public void extract(Session session, ImportOptions opts) throws RepositoryException, PackageException {
+ extract(prepareExtract(session, opts), null);
}
/**
* {@inheritDoc}
*/
- public void extract(Session session, ImportOptions opts) throws RepositoryException, PackageException {
- extract(prepareExtract(session, opts), null);
+ public PackageProperties getProperties() {
+ return this;
}
/**
@@ -371,25 +264,9 @@ public class ZipVaultPackage implements
log.info("Extracting {} completed.", getId());
}
- private Calendar getDateProperty(String name) {
- try {
- String p = getProperty(name);
- return p == null
- ? null
- : ISO8601.parse(p);
- } catch (Exception e) {
- log.error("Error while converting date property", e);
- return null;
- }
- }
-
- private String getProperty(String name) {
- try {
- Properties props = getMetaInf().getProperties();
- return props == null ? null : props.getProperty(name);
- } catch (Exception e) {
- return null;
- }
+ @Override
+ protected Properties getPropertiesMap() {
+ return getMetaInf().getProperties();
}
@Override