コード例 #1
0
  private static Map<String, ClassLoader> createClassLoaders(ContainerConfig config)
      throws MalformedURLException {

    Map<String, ClassLoader> classLoaders = new HashMap<String, ClassLoader>();
    classLoaders.put(Strings.BOOTSTRAP_CLASS_LOADER, Bootstrap.class.getClassLoader());
    /*
    Setup the classloaders according to the config file.
    */
    List<String> seen = new LinkedList<String>();
    Map<String, Classpath> classpaths = new HashMap<String, Classpath>();
    for (Classpath classpath : config.getClasspath()) {
      if (classpaths.containsKey(classpath.getId())) {
        throw new ConfigurationException(MessageNames.DUPLICATE_CLASSPATH, classpath.getId());
      }
      classpaths.put(classpath.getId(), classpath);
    }

    for (String id : classpaths.keySet()) {
      resolveClassLoader(classLoaders, seen, classpaths, id);
    }
    return classLoaders;
  }