From d9765a51d8a86e1b137bf262477fa04da45552e9 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Mon, 28 Apr 2025 13:00:50 +0200 Subject: [PATCH] Sync-base: freeze JKleppmannTreeNodeHolder root nodes --- .../usatiuk/dhfs/jkleppmanntree/JKleppmannTreeManager.java | 6 +++--- .../jkleppmanntree/structs/JKleppmannTreeNodeHolder.java | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/JKleppmannTreeManager.java b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/JKleppmannTreeManager.java index e01d894c..c7a938e4 100644 --- a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/JKleppmannTreeManager.java +++ b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/JKleppmannTreeManager.java @@ -54,11 +54,11 @@ public class JKleppmannTreeManager { ); curTx.put(data); var rootNode = new JKleppmannTreeNode(JObjectKey.of(name.value() + "_jt_root"), null, rootNodeSupplier.get()); - curTx.put(new JKleppmannTreeNodeHolder(rootNode)); + curTx.put(new JKleppmannTreeNodeHolder(rootNode, true)); var trashNode = new JKleppmannTreeNode(JObjectKey.of(name.value() + "_jt_trash"), null, rootNodeSupplier.get()); - curTx.put(new JKleppmannTreeNodeHolder(trashNode)); + curTx.put(new JKleppmannTreeNodeHolder(trashNode, true)); var lf_node = new JKleppmannTreeNode(JObjectKey.of(name.value() + "_jt_lf"), null, rootNodeSupplier.get()); - curTx.put(new JKleppmannTreeNodeHolder(lf_node)); + curTx.put(new JKleppmannTreeNodeHolder(lf_node, true)); } return new JKleppmannTree(data); // opObjectRegistry.registerObject(tree); diff --git a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/structs/JKleppmannTreeNodeHolder.java b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/structs/JKleppmannTreeNodeHolder.java index 9efc2e22..fb3ac05c 100644 --- a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/structs/JKleppmannTreeNodeHolder.java +++ b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/jkleppmanntree/structs/JKleppmannTreeNodeHolder.java @@ -18,6 +18,10 @@ public record JKleppmannTreeNodeHolder(PCollection refsFrom, boolean f this(TreePSet.empty(), false, node); } + public JKleppmannTreeNodeHolder(JKleppmannTreeNode node, boolean frozen) { + this(TreePSet.empty(), frozen, node); + } + public JKleppmannTreeNodeHolder withNode(JKleppmannTreeNode node) { Objects.requireNonNull(node, "node"); return new JKleppmannTreeNodeHolder(refsFrom, frozen, node);