@Override public RuleProviderRegistry loadRuleProviderRegistry(Collection<Path> rulePaths, boolean fileRulesOnly) { RuleLoaderContext ruleLoaderContext = new RuleLoaderContext(rulePaths, null); if (fileRulesOnly) ruleLoaderContext.setFileBasedRulesOnly(); return ruleLoader.loadConfiguration(ruleLoaderContext); } }
/** * Sort the provided list of {@link RuleProvider}s and return the result. */ public static List<RuleProvider> sort(List<RuleProvider> providers) { RuleProviderSorter sorter = new RuleProviderSorter(providers); return sorter.getProviders(); }
@Override public RuleProviderRegistry loadConfiguration(RuleLoaderContext ruleLoaderContext) { return build(ruleLoaderContext); }
@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 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()); } }
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 initCaches(RuleLoaderContext ruleLoaderContext) { this.cachedRegistry = ruleLoader.loadConfiguration(ruleLoaderContext); this.cachedTransformers = TechnologyReferenceTransformer.getTransformers(ruleLoaderContext); this.cacheRefreshTime = System.currentTimeMillis(); }
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 RuleProviderSorter(List<RuleProvider> providers) { this.providers = new ArrayList<>(providers); initializeLookupCaches(); sort(); }
private void addExecuteAfterRelationship(DefaultDirectedWeightedGraph<RuleProvider, DefaultEdge> graph, RuleProvider provider, List<String> errors, Class<? extends RuleProvider> clz) { RuleProvider otherProvider = getByClass(clz); if (otherProvider == null) { errors.add("RuleProvider " + provider.getMetadata().getID() + " is specified to execute after class: " + clz.getName() + " but this class could not be found."); } else graph.addEdge(otherProvider, provider); }
@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 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()); } }
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 initCaches(RuleLoaderContext ruleLoaderContext) { this.cachedRegistry = ruleLoader.loadConfiguration(ruleLoaderContext); this.cachedTransformers = TechnologyReferenceTransformer.getTransformers(ruleLoaderContext); this.cacheRefreshTime = System.currentTimeMillis(); }
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; }
/** * Sort the provided list of {@link RuleProvider}s and return the result. */ public static List<RuleProvider> sort(List<RuleProvider> providers) { RuleProviderSorter sorter = new RuleProviderSorter(providers); return sorter.getProviders(); }
private RuleProviderSorter(List<RuleProvider> providers) { this.providers = new ArrayList<>(providers); initializeLookupCaches(); sort(); }
@Override public RuleProviderRegistry loadConfiguration(RuleLoaderContext ruleLoaderContext) { return build(ruleLoaderContext); }
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 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); }