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 2021/10/26 09:55:03 UTC

[jackrabbit-filevault] branch bugfix/JCRVLT-557-conf-implicit-nt-calc created (now ae57884)

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

reschke pushed a change to branch bugfix/JCRVLT-557-conf-implicit-nt-calc
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git.


      at ae57884  JCRVLT-577: add sysprop based config for implicite nodetype calculation

This branch includes the following new commits:

     new ae57884  JCRVLT-577: add sysprop based config for implicite nodetype calculation

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-577: add sysprop based config for implicite nodetype calculation

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch bugfix/JCRVLT-557-conf-implicit-nt-calc
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit ae57884324eba22d11c3ecaf67e482d2b6a1abda
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Tue Oct 26 10:54:45 2021 +0100

    JCRVLT-577: add sysprop based config for implicite nodetype calculation
---
 .../vault/fs/impl/io/FolderArtifactHandler.java       | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/FolderArtifactHandler.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/FolderArtifactHandler.java
index f64cc0c..e1ffe16 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/FolderArtifactHandler.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/FolderArtifactHandler.java
@@ -40,6 +40,8 @@ import org.apache.jackrabbit.vault.fs.io.ImportOptions;
 import org.apache.jackrabbit.vault.util.EffectiveNodeType;
 import org.apache.jackrabbit.vault.util.JcrConstants;
 import org.jetbrains.annotations.NotNull;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Handles artifact sets with just a directory.
@@ -47,6 +49,20 @@ import org.jetbrains.annotations.NotNull;
  */
 public class FolderArtifactHandler extends AbstractArtifactHandler {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FolderArtifactHandler.class);
+
+    private static boolean IMPLICIT_NODETYPE_CALCULATION;
+    static {
+        boolean t = true;
+        String key = "org.apache.jackrabbit.filevault.fs.impl.io.FolderArtifactHandler.IMPLICIT_NODETYPE_CALCULATION";
+        String sp = System.getProperty(key);
+        if (sp != null) {
+            LOG.info(key + " set to: '" + sp + "' (default is '" + t + "')");
+            t = Boolean.parseBoolean(sp);
+        }
+        IMPLICIT_NODETYPE_CALCULATION = t;
+    }
+
     /**
      * qualified names of those default node types which should not be used for intermediate nodes (as they come with too many restrictions)
      */
@@ -123,7 +139,8 @@ public class FolderArtifactHandler extends AbstractArtifactHandler {
             }
 
             Node node = parent.getNode(dir.getRelativePath());
-            if (wspFilter.contains(node.getPath()) && wspFilter.getImportMode(node.getPath())==ImportMode.REPLACE && !nodeType.equals(node.getPrimaryNodeType().getName())) {
+            if (IMPLICIT_NODETYPE_CALCULATION
+                    && wspFilter.contains(node.getPath()) && wspFilter.getImportMode(node.getPath()) == ImportMode.REPLACE && !nodeType.equals(node.getPrimaryNodeType().getName())) {
                 modifyPrimaryType(node, info);
             }
             NodeIterator iter = node.getNodes();