@Override public Collection<TechnologyReferenceTransformer> loadTransformers(RuleLoaderContext ruleLoaderContext) { List<TechnologyReferenceTransformer> transformers = new ArrayList<>(); for (Path userRulesPath : ruleLoaderContext.getRulePaths()) { Visitor<File> visitor = new Visitor<File>() { @Override public void visit(File file) { transformers.addAll(loadTransformers(file)); } }; FileVisit.visit(userRulesPath.toFile(), new FileSuffixPredicate(XML_EXTENSION), visitor); } return transformers; }
private void loadIssueCategories(RuleLoaderContext ruleLoaderContext) { if (ruleLoaderContext.getRulePaths() == null) return; final List<Path> filePaths = new ArrayList<>(); ruleLoaderContext.getRulePaths().forEach((path) -> { try { if (!Files.exists(path) || !Files.isReadable(path)) return; Files.walkFileTree(path, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { if (Files.isReadable(file) && Files.isRegularFile(file) && file.getFileName().toString().toLowerCase().endsWith(WINDUP_CATEGORIES_XML_SUFFIX)) filePaths.add(file); return FileVisitResult.CONTINUE; } }); } catch (IOException e) { throw new WindupException("I/O Error during search for issue category files, due to: " + e.getMessage(), e); } }); filePaths.forEach((path) -> loadIssueCategory(ruleLoaderContext, path)); }
private Iterable<URL> getScripts(RuleLoaderContext ruleLoaderContext) { List<URL> results = new ArrayList<>(); List<URL> windupScripts = scanner.scan(GROOVY_RULES_WINDUP_EXTENSION); results.addAll(windupScripts); List<URL> rhamtScripts = scanner.scan(GROOVY_RULES_RHAMT_EXTENSION); results.addAll(rhamtScripts); for (Path userRulesPath : ruleLoaderContext.getRulePaths()) { results.addAll(getScripts(userRulesPath)); } return results; }
private void loadIssueCategories(RuleLoaderContext ruleLoaderContext) { if (ruleLoaderContext.getRulePaths() == null) return; final List<Path> filePaths = new ArrayList<>(); ruleLoaderContext.getRulePaths().forEach((path) -> { try { if (!Files.exists(path) || !Files.isReadable(path)) return; Files.walkFileTree(path, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { if (Files.isReadable(file) && Files.isRegularFile(file) && file.getFileName().toString().toLowerCase().endsWith(WINDUP_CATEGORIES_XML_SUFFIX)) filePaths.add(file); return FileVisitResult.CONTINUE; } }); } catch (IOException e) { throw new WindupException("I/O Error during search for issue category files, due to: " + e.getMessage(), e); } }); filePaths.forEach((path) -> loadIssueCategory(ruleLoaderContext, path)); }
private Iterable<URL> getScripts(RuleLoaderContext ruleLoaderContext) { List<URL> results = new ArrayList<>(); List<URL> windupScripts = scanner.scan(GROOVY_RULES_WINDUP_EXTENSION); results.addAll(windupScripts); List<URL> rhamtScripts = scanner.scan(GROOVY_RULES_RHAMT_EXTENSION); results.addAll(rhamtScripts); for (Path userRulesPath : ruleLoaderContext.getRulePaths()) { results.addAll(getScripts(userRulesPath)); } return results; }
@Override public Collection<TechnologyReferenceTransformer> loadTransformers(RuleLoaderContext ruleLoaderContext) { List<TechnologyReferenceTransformer> transformers = new ArrayList<>(); for (Path userRulesPath : ruleLoaderContext.getRulePaths()) { Visitor<File> visitor = new Visitor<File>() { @Override public void visit(File file) { transformers.addAll(loadTransformers(file)); } }; FileVisit.visit(userRulesPath.toFile(), new FileSuffixPredicate(XML_EXTENSION), visitor); } return transformers; }
for (Path userRulesPath : ruleLoaderContext.getRulePaths())
for (Path userRulesPath : ruleLoaderContext.getRulePaths())
return new RuleLoaderContext(ruleLoaderContext.getContext(), ruleLoaderContext.getRulePaths(), config.getRuleProviderFilter());