bootstrap/src/main/java/com/streamsets/pipeline/BootstrapMain.java
public static List<URL> getClasspathUrls(String classPath)
      throws Exception {
    List<URL> urls = new ArrayList<URL>();
    for (String path : classPath.split(CLASSPATH_SEPARATOR)) {
      if (!path.isEmpty()) {
        if (path.toLowerCase().endsWith(JARS_WILDCARD)) {
          path = path.substring(0, path.length() - JARS_WILDCARD.length());
          File f = new File(path).getAbsoluteFile();
          if (f.exists()) {
            File[] jars = f.listFiles(new FileFilter() {
              @Override
              public boolean accept(File pathname) {
                return pathname.getName().toLowerCase().endsWith(JARS_WILDCARD.substring(1));
              }
            });
            for (File jar : jars) {
              urls.add(jar.toURI().toURL());
            }
          } else {
            throw new IllegalArgumentException(String.format(CLASSPATH_DIR_DOES_NOT_EXIST_MSG, f));
          }
        } else {
          if (!path.endsWith(FILE_SEPARATOR)) {
            path = path + FILE_SEPARATOR;
          }
          File f = new File(path).getAbsoluteFile();
          if (f.exists()) {
            if (f.isDirectory()) {
              urls.add(f.toURI().toURL());
            } else {
              throw new IllegalArgumentException(String.format(CLASSPATH_PATH_S_IS_NOT_A_DIR_MSG, f));
            }
          } else {
            throw new IllegalArgumentException(String.format(CLASSPATH_DIR_DOES_NOT_EXIST_MSG, f));
          }
        }
      }
    }
    return urls;
  }
public static List<URL> getClasspathUrls(String classPath)
      throws Exception {
    List<URL> urls = new ArrayList<URL>();
    for (String path : classPath.split(CLASSPATH_SEPARATOR)) {
      if (!path.isEmpty()) {
        if (path.toLowerCase().endsWith(JARS_WILDCARD)) {
          path = path.substring(0, path.length() - JARS_WILDCARD.length());
          File f = new File(path).getAbsoluteFile();
          if (f.exists()) {
            File[] jars = f.listFiles(new FileFilter() {
              @Override
              public boolean accept(File pathname) {
                return pathname.getName().toLowerCase().endsWith(JARS_WILDCARD.substring(1));
              }
            });
            for (File jar : jars) {
              urls.add(jar.toURI().toURL());
            }
          } else {
            throw new IllegalArgumentException(String.format(CLASSPATH_DIR_DOES_NOT_EXIST_MSG, f));
          }
        } else {
          if (!path.endsWith(FILE_SEPARATOR)) {
            path = path + FILE_SEPARATOR;
          }
          File f = new File(path).getAbsoluteFile();
          if (f.exists()) {
            if (f.isDirectory()) {
              urls.add(f.toURI().toURL());
            } else {
              throw new IllegalArgumentException(String.format(CLASSPATH_PATH_S_IS_NOT_A_DIR_MSG, f));
            }
          } else {
            throw new IllegalArgumentException(String.format(CLASSPATH_DIR_DOES_NOT_EXIST_MSG, f));
          }
        }
      }
    }
    return urls;
  }
public static List < URL > getClasspathUrls ( String classPath ) throws Exception { List < URL > urls = new ArrayList < URL > ( ) ; for ( String path : classPath . split ( CLASSPATH_SEPARATOR ) ) { if ( ! path . isEmpty ( ) ) { if ( path . toLowerCase ( ) . endsWith ( JARS_WILDCARD ) ) { path = path . substring ( 0 , path . length ( ) - JARS_WILDCARD . length ( ) ) ; File f = new File ( path ) . getAbsoluteFile ( ) ; if ( f . exists ( ) ) { File [ ] jars = f . listFiles ( new FileFilter ( ) { @ Override public boolean accept ( File pathname ) { return pathname . getName ( ) . toLowerCase ( ) . endsWith ( JARS_WILDCARD . substring ( 1 ) ) ; } } ) ; for ( File jar : jars ) { urls . add ( jar . toURI ( ) . toURL ( ) ) ; } } else { throw new IllegalArgumentException ( String . format ( CLASSPATH_DIR_DOES_NOT_EXIST_MSG , f ) ) ; } } else { if ( ! path . endsWith ( FILE_SEPARATOR ) ) { path = path + FILE_SEPARATOR ; } File f = new File ( path ) . getAbsoluteFile ( ) ; if ( f . exists ( ) ) { if ( f . isDirectory ( ) ) { urls . add ( f . toURI ( ) . toURL ( ) ) ; } else { throw new IllegalArgumentException ( String . format ( CLASSPATH_PATH_S_IS_NOT_A_DIR_MSG , f ) ) ; } } else { throw new IllegalArgumentException ( String . format ( CLASSPATH_DIR_DOES_NOT_EXIST_MSG , f ) ) ; } } } } return urls ; }
Visible for testing
Visible for testing