private static Configuration getConfigurationBuilder() { ConfigurationBuilder configurationBuilder= ConfigurationBuilder.build("org.apache.gobblin.metastore.database", effectiveClassPathUrls(DatabaseJobHistoryStore.class.getClassLoader())); List<URL> filteredUrls = Lists.newArrayList(Iterables.filter(configurationBuilder.getUrls(), new Predicate<URL>() { @Override public boolean apply(@Nullable URL input) { return input != null && (!input.getProtocol().equals("file") || new File(input.getFile()).exists()); } })); configurationBuilder.setUrls(filteredUrls); return configurationBuilder; }
if (builder.getUrls().isEmpty()) { if (classLoaders != null) {
if (builder.getUrls().isEmpty()) { if (classLoaders != null) {
/** * Remove ClasspathUrls like *.so or *.dll * * @param builder Reflection ConfigurationBuilder */ private static void removeSysLibUrls(final ConfigurationBuilder builder) { final Pattern sysLibPattern = Pattern.compile(".*[.](so|dll)", Pattern.CASE_INSENSITIVE); final Set<URL> urls = builder.getUrls().stream().filter(url -> !sysLibPattern.matcher(url.getFile()).matches()).collect(Collectors.toCollection(LinkedHashSet::new)); builder.setUrls(urls); }
private static Configuration getConfigurationBuilder() { ConfigurationBuilder configurationBuilder= ConfigurationBuilder.build("org.apache.gobblin.metastore.database", effectiveClassPathUrls(DatabaseJobHistoryStore.class.getClassLoader())); List<URL> filteredUrls = Lists.newArrayList(Iterables.filter(configurationBuilder.getUrls(), new Predicate<URL>() { @Override public boolean apply(@Nullable URL input) { return input != null && (!input.getProtocol().equals("file") || new File(input.getFile()).exists()); } })); configurationBuilder.setUrls(filteredUrls); return configurationBuilder; }
public DefaultClasspathScanner(final String rootPackage) { ConfigurationBuilder configuration = ConfigurationBuilder.build(DefaultClasspathScanner.class.getClassLoader()); if(rootPackage != null && !rootPackage.trim().isEmpty()) { configuration = configuration.forPackages(rootPackage); configuration = configuration.setUrls(ClasspathHelper.forPackage(rootPackage)); configuration = configuration.filterInputsBy(new FilterBuilder().includePackage(rootPackage)); } //Special case for JBOSS Application server to get all classes try { Enumeration<URL> res = DefaultClasspathScanner.class.getClassLoader().getResources(""); configuration.getUrls().addAll(Collections.list(res)); } catch (IOException e) { throw new RuntimeException("Error in Dolphin Platform controller class scan", e); } //Remove native libs (will be added on Mac in a Spring Boot app) Set<URL> urls = configuration.getUrls(); List<URL> toRemove = new ArrayList<>(); for (URL url : urls) { if (url.toString().endsWith(".jnilib")) { toRemove.add(url); } } for (URL url : toRemove) { configuration.getUrls().remove(url); } reflections = new Reflections(configuration); }
configuration.getUrls().addAll(Collections.list(res)); } catch (final IOException e) { throw new RuntimeException("Error in controller class scan", e); final Set<URL> urls = configuration.getUrls(); final List<URL> toRemove = new ArrayList<>(); for (final URL url : urls) { LOG.trace("Configuration Urls {}", Arrays.toString(configuration.getUrls().toArray())); for (final URL url : toRemove) { LOG.trace("Url removed {}", url.toString()); configuration.getUrls().remove(url);
if (builder.getUrls().isEmpty()) { if (classLoaders != null) {
if (builder.getUrls().isEmpty()) { if (classLoaders != null) {
if (builder.getUrls().isEmpty()) { if (classLoaders != null) {