Пример #1
0
  private void init(Configuration conf) throws ClassNotFoundException {
    cache = new HashMap<String, URIHandler>();

    String[] classes = ConfigurationService.getStrings(conf, URI_HANDLERS);
    for (String classname : classes) {
      Class<?> clazz = Class.forName(classname.trim());
      URIHandler uriHandler = (URIHandler) ReflectionUtils.newInstance(clazz, null);
      uriHandler.init(conf);
      for (String scheme : uriHandler.getSupportedSchemes()) {
        cache.put(scheme, uriHandler);
      }
    }

    Class<?> defaultClass = conf.getClass(URI_HANDLER_DEFAULT, null);
    defaultHandler =
        (defaultClass == null)
            ? new FSURIHandler()
            : (URIHandler) ReflectionUtils.newInstance(defaultClass, null);
    defaultHandler.init(conf);
    for (String scheme : defaultHandler.getSupportedSchemes()) {
      cache.put(scheme, defaultHandler);
    }

    initLauncherClassesToShip();
    initLauncherURIHandlerConf();

    LOG.info("Loaded urihandlers {0}", Arrays.toString(classes));
    LOG.info("Loaded default urihandler {0}", defaultHandler.getClass().getName());
  }