ludc
2024-10-17 d02571d59633367ac76b7f58ab38584698b1aa1b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.vci.ubcs.starter.util.node;
 
 
 
import java.util.List;
 
public class ForestNodeMergerOid {
    public ForestNodeMergerOid() {
    }
 
    public static <T extends INodeOid<T>> List<T> merge(List<T> items) {
        ForestNodeManagerOid forestNodeManager = new ForestNodeManagerOid(items);
        items.forEach((forestNode) -> {
            if (forestNode.getParentOid() != null) {
                INodeOid<T> node = forestNodeManager.getTreeNodeAt(forestNode.getParentOid());
                if (node != null) {
                    node.getChildren().add(forestNode);
                } else {
                    forestNodeManager.addParentId(forestNode.getOid());
                }
            }
 
        });
        return forestNodeManager.getRoot();
    }
}