You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by st...@apache.org on 2021/03/02 18:29:42 UTC
svn commit: r1887105 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java
Author: stefanegli
Date: Tue Mar 2 18:29:41 2021
New Revision: 1887105
URL: http://svn.apache.org/viewvc?rev=1887105&view=rev
Log:
OAK-9359 : Use SystemPropertySupplier to ease backport
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java?rev=1887105&r1=1887104&r2=1887105&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistry.java Tue Mar 2 18:29:41 2021
@@ -33,11 +33,14 @@ import org.apache.jackrabbit.commons.cnd
import org.apache.jackrabbit.commons.cnd.ParseException;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.commons.properties.SystemPropertySupplier;
import org.apache.jackrabbit.oak.namepath.impl.GlobalNameMapper;
import org.apache.jackrabbit.oak.namepath.impl.NamePathMapperImpl;
import org.apache.jackrabbit.oak.plugins.name.ReadWriteNamespaceRegistry;
import org.apache.jackrabbit.oak.plugins.value.jcr.ValueFactoryImpl;
import org.jetbrains.annotations.NotNull;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPES_PATH;
@@ -47,6 +50,10 @@ import static org.apache.jackrabbit.oak.
*/
public final class NodeTypeRegistry {
+ private static final Logger LOG = LoggerFactory.getLogger(NodeTypeRegistry.class);
+
+ private static final boolean DEFAULT_REFERENCEABLE_FROZEN_NODE = false;
+
private final NodeTypeManager ntMgr;
private final NamespaceRegistry nsReg;
@@ -96,7 +103,12 @@ public final class NodeTypeRegistry {
Reader reader = new InputStreamReader(stream, Charsets.UTF_8);
// OAK-9134: nt:frozenNode is not implementing mix:referenceable from JCR 2.0.
// This system property allows to add it back when initializing a repository.
- boolean referenceableFrozenNode = Boolean.getBoolean("oak.referenceableFrozenNode");
+ // PS: To keep supporting tests in fiddling this setting, the SystemPropertySupplier
+ // is evaluated here rather than in static code, where this is typically done.
+ final boolean referenceableFrozenNode = SystemPropertySupplier.create("oak.referenceableFrozenNode", DEFAULT_REFERENCEABLE_FROZEN_NODE)
+ .loggingTo(LOG).formatSetMessage(
+ (name, value) -> String.format("oak.referenceableFrozenNode set to: %s (using system property %s)", name, value))
+ .get();
if (referenceableFrozenNode) {
BufferedReader bufferedReader = new BufferedReader(reader);
StringBuilder result = new StringBuilder();