private void initRootIncludePaths()

in agent/src/jetbrains/buildServer/swabra/snapshots/SwabraRules.java [104:134]


    private void initRootIncludePaths() {
      final ArrayList<FileRule> resultRules = new ArrayList<FileRule>();
      resultRules.addAll(getIncludeRules());

      final Set<FileRule> processedRules = new HashSet<FileRule>();

      for (Iterator<FileRule> iterator = resultRules.iterator(); iterator.hasNext();) {
        FileRule rule = iterator.next();
        boolean add = true;

        if (!shouldInclude(rule.getFrom())) {
          add = false;
        }

        for (FileRule processed : processedRules) {
          if (processed.getMatchedHead(rule.getFrom()) != null) {
            add = false;
            break;
          }
        }

        if (add) processedRules.add(rule);
        else iterator.remove();
      }

      final Set<File> rootPaths = new HashSet<File>();
      for (FileRule rule : resultRules) {
        rootPaths.add(getPathWithoutWildcards(new File(rule.getFrom())));
      }
      myRootPaths = new ArrayList<File>(rootPaths);
    }