public IRealization getRealization(RealizationType type, String name) { IRealizationProvider p = providers.get(type); if (p == null) { logger.warn("No provider for realization type " + type); return null; } try { return p.getRealization(name); } catch (Exception ex) { // exception is possible if e.g. cube metadata is wrong logger.warn("Failed to load realization " + type + ":" + name, ex); return null; } }
private void init() { providers = Maps.newConcurrentMap(); // use reflection to load providers String[] providerNames = config.getRealizationProviders(); for (String clsName : providerNames) { try { Class<? extends IRealizationProvider> cls = ClassUtil.forName(clsName, IRealizationProvider.class); IRealizationProvider p = (IRealizationProvider) cls.getMethod("getInstance", KylinConfig.class).invoke(null, config); providers.put(p.getRealizationType(), p); } catch (Exception | NoClassDefFoundError e) { if (e instanceof ClassNotFoundException || e instanceof NoClassDefFoundError) logger.warn("Failed to create realization provider " + e); else logger.error("Failed to create realization provider", e); } } if (providers.isEmpty()) throw new IllegalArgumentException("Failed to find realization provider by url: " + config.getMetadataUrl()); logger.info("RealizationRegistry is " + providers); }
public IRealization getRealization(RealizationType type, String name) { IRealizationProvider p = providers.get(type); if (p == null) { logger.warn("No provider for realization type " + type); } try { return p.getRealization(name); } catch (Exception ex) { // exception is possible if e.g. cube metadata is wrong logger.warn("Failed to load realization " + type + ":" + name, ex); return null; } }
private void init() { providers = Maps.newConcurrentMap(); // use reflection to load providers final Set<Class<? extends IRealizationProvider>> realizationProviders = new Reflections("org.apache.kylin", new SubTypesScanner()).getSubTypesOf(IRealizationProvider.class); List<Throwable> es = Lists.newArrayList(); for (Class<? extends IRealizationProvider> cls : realizationProviders) { try { IRealizationProvider p = (IRealizationProvider) cls.getMethod("getInstance", KylinConfig.class).invoke(null, config); providers.put(p.getRealizationType(), p); } catch (Exception | NoClassDefFoundError e) { es.add(e); } if (es.size() > 0) { for (Throwable exceptionOrError : es) { logger.error("Create new store instance failed ", exceptionOrError); } throw new IllegalArgumentException("Failed to find metadata store by url: " + config.getMetadataUrl()); } } logger.info("RealizationRegistry is " + providers); }
public IRealization getRealization(RealizationType type, String name) { IRealizationProvider p = providers.get(type); if (p == null) { logger.warn("No provider for realization type " + type); return null; } try { return p.getRealization(name); } catch (Exception ex) { // exception is possible if e.g. cube metadata is wrong logger.warn("Failed to load realization " + type + ":" + name, ex); return null; } }
private void init() { providers = Maps.newConcurrentMap(); // use reflection to load providers final Set<Class<? extends IRealizationProvider>> realizationProviders = new Reflections("org.apache.kylin", new SubTypesScanner()).getSubTypesOf(IRealizationProvider.class); List<Throwable> es = Lists.newArrayList(); for (Class<? extends IRealizationProvider> cls : realizationProviders) { try { IRealizationProvider p = (IRealizationProvider) cls.getMethod("getInstance", KylinConfig.class).invoke(null, config); providers.put(p.getRealizationType(), p); } catch (Exception | NoClassDefFoundError e) { es.add(e); } if (es.size() > 0) { for (Throwable exceptionOrError : es) { logger.error("Create new store instance failed ", exceptionOrError); } throw new IllegalArgumentException("Failed to find metadata store by url: " + config.getMetadataUrl()); } } logger.info("RealizationRegistry is " + providers); }
public IRealization getRealization(RealizationType type, String name) { IRealizationProvider p = providers.get(type); if (p == null) { logger.warn("No provider for realization type " + type); return null; } try { return p.getRealization(name); } catch (Exception ex) { // exception is possible if e.g. cube metadata is wrong logger.warn("Failed to load realization " + type + ":" + name, ex); return null; } }
private void init() { providers = Maps.newConcurrentMap(); // use reflection to load providers String[] providerNames = config.getRealizationProviders(); for (String clsName : providerNames) { try { Class<? extends IRealizationProvider> cls = ClassUtil.forName(clsName, IRealizationProvider.class); IRealizationProvider p = (IRealizationProvider) cls.getMethod("getInstance", KylinConfig.class).invoke(null, config); providers.put(p.getRealizationType(), p); } catch (Exception | NoClassDefFoundError e) { if (e instanceof ClassNotFoundException || e instanceof NoClassDefFoundError) logger.warn("Failed to create realization provider " + e); else logger.error("Failed to create realization provider", e); } } if (providers.isEmpty()) throw new IllegalArgumentException("Failed to find realization provider by url: " + config.getMetadataUrl()); logger.info("RealizationRegistry is " + providers); }