方法名为初始化索引,初始化什么索引呢?
另外 方法过长,一眼看不出来具体要几个step 才能做完初始化索引的动作。
如果让我维护这个method,那么我可能要花一些时间看一下怎样进行index 的初始化的。
结果是看了一段时间还是不知其所以然,准备周一问问写这段代码的同事了。。。
private Map<OrderNode, OrdOutData> initializeIndex(OrderNode root) throws TopologyOutputException {
Map<OrderNode, OrdOutData> dataMap = Maps.newLinkedHashMap();OrderNode complex = getComplex(root);
{
OrdOutData ordOutData = createIndex(complex);
dataMap.put(complex, ordOutData);
}
{
/**
* Just to print log.
*/
List<OrderNode> systemNodes = complex.getOptionOf();
Collections.sort(systemNodes, new OrderNodeComparator());
for (OrderNode systemNode : systemNodes) {
createIndex(systemNode);
}
}
List<OrderNode> machineNodes = complex.getMachineNodes();
dataMap.putAll(processMachineNodes(machineNodes));
List<OrderNode> list = Lists.newArrayList();
for (OrderNode machineNode : machineNodes) {
list.addAll(machineNode.flatten());
}
list.removeAll(machineNodes);
Collections.sort(list, new OrderNodeComparator());
for (OrderNode node : list) {
OrdOutData ordOutData = createIndex(node);
dataMap.put(node, ordOutData);
}
return dataMap;
}