Beispiel #1
0
  private int resolveOrder(String path) throws CyclicDependenciesException {
    seen = true;
    try {
      int highOrder = -1;
      for (Node dep : dependencies) {
        if (dep.seen) {
          throw new CyclicDependenciesException(path + " -> " + dep.toString());
        }
        highOrder = Math.max(highOrder, dep.resolveOrder(path + " -> " + dep.toString()));
      }

      order = highOrder + 1;
      return order;

    } finally {
      seen = false;
    }
  }
  private void verify() {
    for (Node node : nodes) {
      node.reset();
    }

    for (Node node : nodes) {
      for (Node dep : node.getDependencies()) {
        if (!nodes.contains(dep)) {
          throw new SonarException(
              "A dependent node ("
                  + dep
                  + ") of "
                  + " ("
                  + node
                  + ") was not included in the nodes list.");
        }
      }

      node.resolveOrder();
    }
  }
Beispiel #3
0
 public void resolveOrder() throws CyclicDependenciesException {
   resolveOrder(toString());
 }