Пример #1
0
 private void assignLevels(List<Node> topologicalOrder, LevelAssignmentDirection direction) {
   for (Node currentNode : topologicalOrder) {
     int nextLevel = direction.getNextLevel(currentNode);
     List<Node> relatedNodes = direction.getRelatedNodes(currentNode);
     if (!relatedNodes.isEmpty()) {
       for (Node relatedNode : relatedNodes) {
         if (direction.canResetLevel(relatedNode, nextLevel)) {
           relatedNode.setLevel(nextLevel);
         }
       }
     }
   }
 }