/** * Get the configured {@link DatasetResolver} from {@link State} */ public static DatasetResolver getResolver(Config config) { // ConfigException.Missing will throw if DATASET_RESOLVER_FACTORY is absent String resolverFactory = config.getString(DATASET_RESOLVER_FACTORY); if (resolverFactory.toUpperCase().equals(NoopDatasetResolver.FACTORY)) { return NoopDatasetResolver.INSTANCE; } DatasetResolver resolver = NoopDatasetResolver.INSTANCE; try { DatasetResolverFactory factory = (DatasetResolverFactory) Class.forName(resolverFactory).newInstance(); resolver = factory.createResolver(ConfigUtils.getConfigOrEmpty(config, DATASET_RESOLVER_CONFIG_NAMESPACE)); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { log.error(String.format("Fail to create a DatasetResolver with factory class %s", resolverFactory)); } return resolver; }
/** * Get the configured {@link DatasetResolver} from {@link State} */ public static DatasetResolver getResolver(Config config) { // ConfigException.Missing will throw if DATASET_RESOLVER_FACTORY is absent String resolverFactory = config.getString(DATASET_RESOLVER_FACTORY); if (resolverFactory.toUpperCase().equals(NoopDatasetResolver.FACTORY)) { return NoopDatasetResolver.INSTANCE; } DatasetResolver resolver = NoopDatasetResolver.INSTANCE; try { DatasetResolverFactory factory = (DatasetResolverFactory) Class.forName(resolverFactory).newInstance(); resolver = factory.createResolver(ConfigUtils.getConfigOrEmpty(config, DATASET_RESOLVER_CONFIG_NAMESPACE)); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { log.error(String.format("Fail to create a DatasetResolver with factory class %s", resolverFactory)); } return resolver; }