@Override public RuleProviderRegistry getRuleProviderRegistry(List<String> pathStrings) throws RemoteException { RuleProviderRegistryImpl ruleProviderRegistry = new RuleProviderRegistryImpl(); List<Path> paths = pathStrings.stream().map(pathString -> Paths.get(pathString)).collect(Collectors.toList()); RuleLoaderContext ruleLoaderContext = new RuleLoaderContext(paths, null); org.jboss.windup.config.metadata.RuleProviderRegistry registry = this.ruleLoader.loadConfiguration(ruleLoaderContext); ruleProviderRegistry.buildRuleProviders(registry); return ruleProviderRegistry; }
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 List<RuleProvider> getProviders(RuleLoaderContext ruleLoaderContext) { LOG.info("Starting provider load..."); List<RuleProvider> unsortedProviders = new ArrayList<>(); for (RuleProviderLoader loader : loaders) { if (ruleLoaderContext.isFileBasedRulesOnly() && !loader.isFileBased()) continue; unsortedProviders.addAll(loader.getProviders(ruleLoaderContext)); } LOG.info("Loaded, now sorting, etc"); checkForDuplicateProviders(unsortedProviders); printRulePhases(unsortedProviders); List<RuleProvider> sortedProviders = RuleProviderSorter.sort(unsortedProviders); ServiceLogger.logLoadedServices(LOG, RuleProvider.class, sortedProviders); LOG.info("Finished provider load"); return Collections.unmodifiableList(sortedProviders); }
@Override public RuleProviderRegistry loadRuleProviderRegistry(Collection<Path> rulePaths, boolean fileRulesOnly) { RuleLoaderContext ruleLoaderContext = new RuleLoaderContext(rulePaths, null); if (fileRulesOnly) ruleLoaderContext.setFileBasedRulesOnly(); return ruleLoader.loadConfiguration(ruleLoaderContext); } }
return new RuleLoaderContext(ruleLoaderContext.getContext(), ruleLoaderContext.getRulePaths(), config.getRuleProviderFilter());
IssueCategoryRegistry.instance(ruleLoaderContext.getContext()).addCategory(issueCategory);
if (ruleLoaderContext.getRuleProviderFilter() != null) boolean accepted = ruleLoaderContext.getRuleProviderFilter().accept(provider); LOG.info((accepted ? "Accepted" : "Skipped") + ": [" + provider + "] by filter [" + ruleLoaderContext.getRuleProviderFilter() + "]"); if (!accepted) continue;
IssueCategoryRegistry.instance(ruleLoaderContext.getContext()).addCategory(issueCategory);
if (ruleLoaderContext.getRuleProviderFilter() != null) boolean accepted = ruleLoaderContext.getRuleProviderFilter().accept(provider); LOG.info((accepted ? "Accepted" : "Skipped") + ": [" + provider + "] by filter [" + ruleLoaderContext.getRuleProviderFilter() + "]"); if (!accepted) continue;
@Override public RuleProviderRegistry getRuleProviderRegistry(List<String> pathStrings) throws RemoteException { RuleProviderRegistryImpl ruleProviderRegistry = new RuleProviderRegistryImpl(); List<Path> paths = pathStrings.stream().map(pathString -> Paths.get(pathString)).collect(Collectors.toList()); RuleLoaderContext ruleLoaderContext = new RuleLoaderContext(paths, null); org.jboss.windup.config.metadata.RuleProviderRegistry registry = this.ruleLoader.loadConfiguration(ruleLoaderContext); ruleProviderRegistry.buildRuleProviders(registry); return ruleProviderRegistry; }
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)); }
IssueCategoryRegistry issueCategoryRegistry = IssueCategoryRegistry.instance(handlerManager.getRuleLoaderContext().getContext()); IssueCategory issueCategory = issueCategoryRegistry.getByID(categoryID); hint.withIssueCategory(issueCategory);
private List<RuleProvider> getProviders(RuleLoaderContext ruleLoaderContext) { LOG.info("Starting provider load..."); List<RuleProvider> unsortedProviders = new ArrayList<>(); for (RuleProviderLoader loader : loaders) { if (ruleLoaderContext.isFileBasedRulesOnly() && !loader.isFileBased()) continue; unsortedProviders.addAll(loader.getProviders(ruleLoaderContext)); } LOG.info("Loaded, now sorting, etc"); checkForDuplicateProviders(unsortedProviders); printRulePhases(unsortedProviders); List<RuleProvider> sortedProviders = RuleProviderSorter.sort(unsortedProviders); ServiceLogger.logLoadedServices(LOG, RuleProvider.class, sortedProviders); LOG.info("Finished provider load"); return Collections.unmodifiableList(sortedProviders); }
private void loadMetadata(File file) { RuleLoaderContext loaderContext = new RuleLoaderContext(Collections.singleton(file.toPath()), null); ParserContext parser = new ParserContext(furnace, loaderContext); parser.setXmlInputPath(file.toPath()); parser.setXmlInputRootPath(file.getParentFile().toPath()); TechnologyMetadata metadata = parser.processDocument(file.toURI()); metadataList.add(metadata); }
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; }
IssueCategoryRegistry issueCategoryRegistry = IssueCategoryRegistry.instance(handlerManager.getRuleLoaderContext().getContext()); IssueCategory issueCategory = issueCategoryRegistry.getByID(categoryID); hint.withIssueCategory(issueCategory);
private void loadMetadata(File file) { RuleLoaderContext loaderContext = new RuleLoaderContext(Collections.singleton(file.toPath()), null); ParserContext parser = new ParserContext(furnace, loaderContext); parser.setXmlInputPath(file.toPath()); parser.setXmlInputRootPath(file.getParentFile().toPath()); TechnologyMetadata metadata = parser.processDocument(file.toURI()); metadataList.add(metadata); }
@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; }
IssueCategoryRegistry issueCategoryRegistry = IssueCategoryRegistry.instance(handlerManager.getRuleLoaderContext().getContext()); IssueCategory issueCategory = issueCategoryRegistry.getByID(issueCategoryID); classification.withIssueCategory(issueCategory);
private List<TechnologyReferenceTransformer> loadTransformers(File file) { RuleLoaderContext loaderContext = new RuleLoaderContext(Collections.singleton(file.toPath()), null); ParserContext parser = new ParserContext(furnace, loaderContext); parser.setXmlInputPath(file.toPath()); parser.setXmlInputRootPath(file.getParentFile().toPath()); return parser.processDocument(file.toURI()); } }