public static boolean skip(final URL url) { return skip(url, null, null); }
public static UrlSet applyBuiltinExcludes(final UrlSet urlSet) throws MalformedURLException { return applyBuiltinExcludes(urlSet, null); }
public static UrlSet applyBuiltinExcludes(final UrlSet urlSet, final Filter includeFilter, final Filter excludeFilter) throws MalformedURLException { getExclusions(); // force init final List<URL> urls = urlSet.getUrls(); final Iterator<URL> iterator = urls.iterator(); while (iterator.hasNext()) { final URL url = iterator.next(); if (skip(url, includeFilter, excludeFilter)) { iterator.remove(); } } return new UrlSet(urls); }
public static void setExclusions(final String[] exclusionArray) { exclusions = exclusionArray; // reinit the filter filter = null; getFilter(); logExclusions(exclusionArray); }
getExclusions(); final Filter builtIn = new OptimizedExclusionFilter(getExclusions()); NewLoaderLogic.filter = new Filter() { @Override final Filter builtIn = new OptimizedExclusionFilter(getExclusions()); NewLoaderLogic.filter = new Filter() { @Override final Filter builtIn = new OptimizedExclusionFilter(getExclusions()); NewLoaderLogic.filter = new Filter() { @Override logExclusions(exclusions);
if (exclusionsFile != null && exclusionsFile.exists()) { fis = new FileInputStream(exclusionsFile); exclusions = readInputStreamList(fis); exclusions = readDefaultExclusions(); getFilter(); // ensure filter is initialized logExclusions(exclusions);
final Set<String> callers = callers(); urlSet = applyBuiltinExcludes(urlSet); urlSet = filterArchives(packageFilter, classLoader, urlSet);
public static List<URL> filterWebappUrls(final URL[] webUrls, final Filter filter, final URL exclusions) { Filter excludeFilter = null; if (exclusions != null) { try { final String[] prefixes = NewLoaderLogic.readInputStreamList(exclusions.openStream()); excludeFilter = Filters.prefixes(prefixes); } catch (final IOException e) { logger.warning("can't read " + exclusions.toExternalForm()); } } UrlSet urls = new UrlSet(webUrls); try { urls = NewLoaderLogic.applyBuiltinExcludes(urls, filter, excludeFilter); } catch (final MalformedURLException e) { return Arrays.asList(webUrls); } return urls.getUrls(); }
public static boolean skip(final String name) { getExclusions(); if (filter != null && filter.accept(name)) { return true; } return false; }
public static String[] readInputStreamList(final InputStream is) { final List<String> list = new ArrayList<String>(); BufferedReader reader = null; String line; try { reader = new BufferedReader(new InputStreamReader(is)); while ((line = reader.readLine()) != null) { final String value = line.trim(); if (line.startsWith("#") || value.isEmpty()) { continue; } if (DEFAULT_EXCLUSIONS_ALIAS.equals(value)) { Collections.addAll(list, readDefaultExclusions()); } else { list.add(sanitize(value)); } } } catch (final Throwable e) { logger.warning("readInputStreamList: Failed to read provided stream"); } finally { if (null != reader) { try { reader.close(); } catch (final Throwable e) { //Ignore } } } return list.toArray(new String[list.size()]); }
final Set<String> exclusions = new HashSet<String>(Arrays.asList(NewLoaderLogic.getExclusions())); final File catalinaProperties = new File(conf, "catalina.properties"); if (catalinaProperties.exists()) { NewLoaderLogic.setExclusions(exclusions.toArray(new String[exclusions.size()])); System.setProperty(Constants.SKIP_JARS_PROPERTY, Join.join(",", exclusions));
public static Set<String> callers() { return callers(Filters.classes("javax.ejb.embeddable.EJBContainer", "javax.naming.InitialContext")); }
private static String[] readDefaultExclusions() { InputStream is = null; String[] read = null; try { is = NewLoaderLogic.class.getResourceAsStream("/default.exclusions"); read = readInputStreamList(is); logger.debug("Loaded default.exclusions"); } catch (final Throwable e) { // ignored } finally { IO.close(is); } return read; }
if (exclusionsFile != null && exclusionsFile.exists()) { fis = new FileInputStream(exclusionsFile); exclusions = readInputStreamList(fis); exclusions = readDefaultExclusions(); getFilter(); // ensure filter is initialized logExclusions(exclusions);
final Set<String> callers = callers(); urlSet = applyBuiltinExcludes(urlSet); urlSet = filterArchives(packageFilter, classLoader, urlSet);
public static List<URL> filterWebappUrls(final URL[] webUrls, final URL exclusions) { Filter excludeFilter = null; if (exclusions != null) { try { final String[] prefixes = NewLoaderLogic.readInputStreamList(exclusions.openStream()); excludeFilter = Filters.prefixes(prefixes); } catch (final IOException e) { logger.warning("can't read " + exclusions.toExternalForm()); } } UrlSet urls = new UrlSet(webUrls); try { urls = NewLoaderLogic.applyBuiltinExcludes(urls, null, excludeFilter); } catch (final MalformedURLException e) { return Arrays.asList(webUrls); } return urls.getUrls(); }
@SuppressWarnings("unchecked") public static Filter getFilter() { if (filter == null) { synchronized (NewLoaderLogic.class) { if (filter == null) { filter = new OptimizedExclusionFilter(getExclusions()); } } } return filter; }
@Deprecated public static void setExclusions(final String[] exclusionArray) { exclusions = exclusionArray; // reinit the filter filter = null; getFilter(); logExclusions(exclusionArray); }
public static String[] readInputStreamList(final InputStream is) { final List<String> list = new ArrayList<String>(); BufferedReader reader = null; String line; try { reader = new BufferedReader(new InputStreamReader(is)); while ((line = reader.readLine()) != null) { final String value = line.trim(); if (line.startsWith("#") || value.isEmpty()) { continue; } if (DEFAULT_EXCLUSIONS_ALIAS.equals(value)) { Collections.addAll(list, readDefaultExclusions()); } else { list.add(sanitize(value)); } } } catch (final Throwable e) { logger.warning("readInputStreamList: Failed to read provided stream"); } finally { if (null != reader) { try { reader.close(); } catch (final Throwable e) { //Ignore } } } return list.toArray(new String[list.size()]); }
callers.addAll(Arrays.asList(((String) map.get(OPENEJB_ADDITIONNAL_CALLERS_KEY)).split(","))); } else { callers = NewLoaderLogic.callers();