REQ-3540: try to repair tree

This commit is contained in:
yanglin 2025-03-21 09:30:02 +08:00
parent 0dbd89a3cf
commit f17e00844f
3 changed files with 3 additions and 3 deletions

View File

@ -41,7 +41,7 @@ public class DocPrivateController {
SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
filter.getExcludes().add("parent");
filter.getExcludes().add("treeRoot");
Node node = TreeBuilder.build(indexNodes).getChildren().get(0);
Node node = TreeBuilder.build(indexNodes, true).getChildren().get(0);
return JSON.parseObject(JSON.toJSONString(node, filter), Feature.DisableCircularReferenceDetect);
}

View File

@ -204,7 +204,7 @@ public class IndexManager {
@BizTransactional
public IndexNode copySubTree(IndexNode src, @Nullable IndexNode destParent, CopyNodeVisitor copyNodeVisitor) {
List<IndexNode> subtreeNodes = indexSupport.collectValidSubtreeAsValueRoot(src);
RootNode<IndexNode> srcRoot = TreeUtils.transform(subtreeNodes, IndexNode.class);
RootNode<IndexNode> srcRoot = TreeUtils.transform(subtreeNodes, IndexNode.class, true);
srcRoot.walkDown(copyNodeVisitor);
indexNodeDao.saveBatch(TreeUtils.collectValues(srcRoot));
return connectNodes(srcRoot, destParent);

View File

@ -30,7 +30,7 @@ public class IndexNodeTreeUtils {
private final DocProps docProps;
public RootNode<IndexNodeInfo> transform(List<IndexNode> subtreeNodes) {
RootNode<IndexNodeInfo> root = TreeUtils.transform(subtreeNodes, IndexNodeInfo.class);
RootNode<IndexNodeInfo> root = TreeUtils.transform(subtreeNodes, IndexNodeInfo.class, true);
TreeUtils.connectValueChildren(root);
for (ValueNode<IndexNodeInfo> valueNode : root.getValueNodes()) {
IndexNodeInfo indexNode = valueNode.getValue();