return defaultFilter.acceptResource(packageName);
@Override protected Package[] getPackages() { List<Package> packages = Lists.newArrayList(); for (Package pkg : super.getPackages()) { if (filter.acceptPackage(pkg.getName())) { packages.add(pkg); } } return packages.toArray(new Package[packages.size()]); }
return true; return defaultFilter.acceptResource(resource);
return defaultFilter.acceptResource(packageName);
return true; return defaultFilter.acceptResource(resource);
return true; return defaultFilter.acceptResource(resource);
return defaultFilter.acceptResource(packageName);
@Override public boolean accept(String className, URL classUrl, URL classPathUrl) { String resourceName = className.replace('.', '/') + ".class"; if (visibleResources.contains(resourceName)) { return false; } // Always includes Scala class. It is for CDAP-5168 if (resourceName.startsWith("scala/")) { return true; } try { // allow developers to exclude spark-core module from their unit tests (it'll work if they don't use spark) getClass().getClassLoader().loadClass("co.cask.cdap.app.runtime.spark.SparkRuntimeUtils"); // If it is loading by spark framework, don't include it in the app JAR return !SparkResourceFilters.SPARK_PROGRAM_CLASS_LOADER_FILTER.acceptResource(resourceName); } catch (ClassNotFoundException e) { if (logWarnOnce.compareAndSet(false, true)) { LOG.warn("Spark will not be available for unit tests."); } return true; } } };
@Override public boolean accept(String className, URL classUrl, URL classPathUrl) { String resourceName = className.replace('.', '/') + ".class"; if (visibleResources.contains(resourceName)) { return false; } // Always includes Scala class. It is for CDAP-5168 if (resourceName.startsWith("scala/")) { return true; } try { // allow developers to exclude spark-core module from their unit tests (it'll work if they don't use spark) getClass().getClassLoader().loadClass("co.cask.cdap.app.runtime.spark.SparkRuntimeUtils"); // If it is loading by spark framework, don't include it in the app JAR return !SparkResourceFilters.SPARK_PROGRAM_CLASS_LOADER_FILTER.acceptResource(resourceName); } catch (ClassNotFoundException e) { if (logWarnOnce.compareAndSet(false, true)) { LOG.warn("Spark will not be available for unit tests."); } return true; } } };
@Override public boolean accept(String className, URL classUrl, URL classPathUrl) { String resourceName = className.replace('.', '/') + ".class"; if (visibleResources.contains(resourceName)) { return false; } // Always includes Scala class. It is for CDAP-5168 if (resourceName.startsWith("scala/")) { return true; } // If it is loading by spark framework, don't include it in the app JAR return !SparkResourceFilters.SPARK_PROGRAM_CLASS_LOADER_FILTER.acceptResource(resourceName); } };
@Override public boolean acceptResource(String resource) { return defaultFilter.acceptResource(resource) || authorizerResources.contains(resource); }
@Override public Enumeration<URL> getResources(String name) throws IOException { Enumeration<URL> resources = extensionClassLoader.getResources(name); if (resources.hasMoreElements()) { return resources; } return filter.acceptResource(name) ? super.getResources(name) : Collections.<URL>emptyEnumeration(); }
@Override public URL getResource(String name) { URL resource = extensionClassLoader.getResource(name); if (resource != null) { return resource; } return filter.acceptResource(name) ? super.getResource(name) : null; }
@Override protected synchronized Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { // Try to load it from bootstrap class loader first try { return extensionClassLoader.loadClass(name); } catch (ClassNotFoundException e) { if (filter.acceptResource(classNameToResourceName(name))) { return super.loadClass(name, resolve); } throw e; } }
@Override protected Package getPackage(String name) { // Replace all '/' with '.' since Java allow both names like "java/lang" or "java.lang" as the name to lookup return (filter.acceptPackage(name.replace('/', '.'))) ? super.getPackage(name) : null; }
@Override public InputStream getResourceAsStream(String name) { InputStream resourceStream = extensionClassLoader.getResourceAsStream(name); if (resourceStream != null) { return resourceStream; } return filter.acceptResource(name) ? super.getResourceAsStream(name) : null; }
@Override public Enumeration<URL> getResources(String name) throws IOException { Enumeration<URL> resources = extensionClassLoader.getResources(name); if (resources.hasMoreElements()) { return resources; } return filter.acceptResource(name) ? super.getResources(name) : Collections.<URL>emptyEnumeration(); }
@Override protected Package getPackage(String name) { // Replace all '/' with '.' since Java allow both names like "java/lang" or "java.lang" as the name to lookup return (filter.acceptPackage(name.replace('/', '.'))) ? super.getPackage(name) : null; }
@Override protected Package[] getPackages() { List<Package> packages = Lists.newArrayList(); for (Package pkg : super.getPackages()) { if (filter.acceptPackage(pkg.getName())) { packages.add(pkg); } } return packages.toArray(new Package[packages.size()]); }
@Override public URL getResource(String name) { URL resource = extensionClassLoader.getResource(name); if (resource != null) { return resource; } return filter.acceptResource(name) ? super.getResource(name) : null; }