You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2022/01/19 12:08:07 UTC
[jackrabbit-filevault] branch feature/JCRVLT-596 updated: JCRVLT-596: try to detect whether a policy was set
This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch feature/JCRVLT-596
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git
The following commit(s) were added to refs/heads/feature/JCRVLT-596 by this push:
new 7738308 JCRVLT-596: try to detect whether a policy was set
7738308 is described below
commit 7738308066418d735dbbe1c06c8b99a2026da31b
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Wed Jan 19 13:07:45 2022 +0100
JCRVLT-596: try to detect whether a policy was set
---
.../apache/jackrabbit/vault/fs/impl/io/DocViewSAXImporter.java | 3 ++-
.../java/org/apache/jackrabbit/vault/fs/io/ImportOptions.java | 10 ++++++----
.../java/org/apache/jackrabbit/vault/fs/io/package-info.java | 2 +-
.../apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java | 5 ++++-
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewSAXImporter.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewSAXImporter.java
index 4854642..ff5d889 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewSAXImporter.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewSAXImporter.java
@@ -254,6 +254,7 @@ public class DocViewSAXImporter extends RejectingEntityDefaultHandler implements
* @param rootNodeName name of the root node
* @param artifacts the artifact set that could contain attachments
* @param wspFilter workspace filter
+ * @param idConflictPolicy conflict policy
* @throws RepositoryException if an error occurs.
*/
public DocViewSAXImporter(Node parentNode, String rootNodeName,
@@ -270,7 +271,7 @@ public class DocViewSAXImporter extends RejectingEntityDefaultHandler implements
this.snsSupported = session.getRepository().
getDescriptorValue(Repository.NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED).getBoolean();
this.nsHelper = new JcrNamespaceHelper(session, null);
- this.idConflictPolicy = idConflictPolicy;
+ this.idConflictPolicy = idConflictPolicy != null ? idConflictPolicy : IdConflictPolicy.FAIL;
log.debug("idConflictPolicy: {}", idConflictPolicy);
String rootPath = parentNode.getPath();
if (!rootPath.equals("/")) {
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/ImportOptions.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/ImportOptions.java
index 2fa7f53..f6fcce8 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/ImportOptions.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/ImportOptions.java
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.vault.fs.io;
import java.io.File;
import java.io.IOException;
+import java.util.Objects;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -29,6 +30,7 @@ import org.apache.jackrabbit.vault.fs.api.ProgressTrackerListener;
import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
import org.apache.jackrabbit.vault.packaging.DependencyHandling;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* Option that control the package import.
@@ -67,7 +69,7 @@ public class ImportOptions {
private DependencyHandling dependencyHandling = null;
- private @NotNull IdConflictPolicy idConflictPolicy = IdConflictPolicy.FAIL;
+ private IdConflictPolicy idConflictPolicy = null;
private Boolean overwritePrimaryTypesOfFolders = null;
@@ -452,10 +454,10 @@ public class ImportOptions {
/**
*
- * @return the id conflict policy
+ * @return the id conflict policy ({@code null} if not set before)
* @since 3.5.1
*/
- public @NotNull IdConflictPolicy getIdConflictPolicy() {
+ public @Nullable IdConflictPolicy getIdConflictPolicy() {
return idConflictPolicy;
}
@@ -558,7 +560,7 @@ public class ImportOptions {
return false;
if (overwritePrimaryTypesOfFolders != other.overwritePrimaryTypesOfFolders)
return false;
- if (!idConflictPolicy.equals(other.idConflictPolicy))
+ if (!Objects.equals(idConflictPolicy, other.idConflictPolicy))
return false;
return true;
}
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
index 2be7b2f..bd8a9c5 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-@Version("2.12.0")
+@Version("2.12.1")
package org.apache.jackrabbit.vault.fs.io;
import org.osgi.annotation.versioning.Version;
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java
index ee5320c..5333c29 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java
@@ -386,7 +386,10 @@ public class JcrPackageImpl implements JcrPackage {
// MAX_VALUE disables saving completely, therefore we have to use a lower value!
opts.setAutoSaveThreshold(Integer.MAX_VALUE - 1);
}
- opts.setIdConflictPolicy(mgr.getDefaultIdConflictPolicy());
+ if (opts.getIdConflictPolicy() == null) {
+ log.debug("setting IdConflictPolicy to {}", mgr.getDefaultIdConflictPolicy());
+ opts.setIdConflictPolicy(mgr.getDefaultIdConflictPolicy());
+ }
InstallContextImpl ctx = pack.prepareExtract(node.getSession(), opts, mgr.getSecurityConfig(), mgr.isStrictByDefault(),
mgr.overwritePrimaryTypesOfFoldersByDefault());
JcrPackage snap = null;