@Override protected void setConverterByName(String converterName) throws Exception { converterName = "org.apache.kylin.dict.Number2BytesConverter"; this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance(); }
private SyncErrorHandler getSyncErrorHandler(KylinConfig config) { String clzName = config.getCacheSyncErrorHandler(); if (StringUtils.isEmpty(clzName)) { clzName = DefaultSyncErrorHandler.class.getName(); } return (SyncErrorHandler) ClassUtil.newInstance(clzName); }
public static void setSandboxEnvIfPossible() { File dir1 = new File("../examples/test_case_data/sandbox"); File dir2 = new File("../../kylin/examples/test_case_data/sandbox"); if (dir1.exists()) { logger.info("Setting sandbox env, KYLIN_CONF=" + dir1.getAbsolutePath()); ClassUtil.addClasspath(dir1.getAbsolutePath()); System.setProperty(KylinConfig.KYLIN_CONF, dir1.getAbsolutePath()); } else if (dir2.exists()) { logger.info("Setting sandbox env, KYLIN_CONF=" + dir2.getAbsolutePath()); ClassUtil.addClasspath(dir2.getAbsolutePath()); System.setProperty(KylinConfig.KYLIN_CONF, dir2.getAbsolutePath()); } }
public static String findContainingJar(Class<?> clazz) { return findContainingJar(clazz, null); }
public static String findContainingJar(String className, String perferLibraryName) { try { return findContainingJar(Class.forName(className), perferLibraryName); } catch (ClassNotFoundException e) { logger.warn("failed to locate jar for class " + className + ", ignore it"); } return ""; } }
public static Object newInstance(String clz) { try { return forName(clz, Object.class).getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new RuntimeException(e); } }
public DistributedLockFactory getDistributedLockFactory() { String clsName = getOptional("kylin.metadata.distributed-lock-impl", "org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock$Factory"); return (DistributedLockFactory) ClassUtil.newInstance(clsName); }
@BeforeClass public static void beforeClass() throws Exception { logger.info("Adding to classpath: " + new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); System.setProperty(KylinConfig.KYLIN_CONF, HBaseMetadataTestCase.SANDBOX_TEST_DATA); if (StringUtils.isEmpty(System.getProperty("hdp.version"))) { throw new RuntimeException("No hdp.version set; Please set hdp.version in your jvm option, for example: -Dhdp.version=2.4.0.0-169"); } }
@Test public void testFindContainingJar() throws ClassNotFoundException { Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils")).contains("commons-beanutils")); Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils"), "core").contains("commons-beanutils-core")); }
protected void setConverterByName(String converterName) throws Exception { this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance(); }
@Override public void run() { logger.info("Start to extract HBase usage."); try { // use reflection to isolate NoClassDef errors when HBase is not available String[] hbaseArgs = { "-destDir", new File(exportDir, "hbase").getAbsolutePath(), "-project", projectNames, "-compress", "false", "-submodule", "true" }; logger.info("HBaseUsageExtractor args: " + Arrays.toString(hbaseArgs)); Object extractor = ClassUtil.newInstance("org.apache.kylin.tool.HBaseUsageExtractor"); Method execute = extractor.getClass().getMethod("execute", String[].class); execute.invoke(extractor, (Object) hbaseArgs); } catch (Throwable e) { logger.error("Error in export HBase usage.", e); } } });
@BeforeClass public static void beforeClass() throws Exception { ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); System.setProperty(KylinConfig.KYLIN_CONF, HBaseMetadataTestCase.SANDBOX_TEST_DATA); }
StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar(org.apache.hadoop.hbase.KeyValue.class)); StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar(org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.class)); StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar(org.apache.hadoop.hbase.regionserver.BloomType.class)); StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar(org.apache.hadoop.hbase.protobuf.generated.HFileProtos.class)); //hbase-protocal.jar StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar(org.apache.hadoop.hbase.CompatibilityFactory.class)); //hbase-hadoop-compact.jar StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar("org.htrace.HTraceConfiguration", null)); // htrace-core.jar StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar("org.apache.htrace.Trace", null)); // htrace-core.jar StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar("com.yammer.metrics.core.MetricsRegistry", null)); // metrics-core.jar ClassUtil.findContainingJar("org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory", null));//hbase-hadoop-compat-1.1.1.jar StringUtil.appendWithSeparator(jars, ClassUtil.findContainingJar("org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactoryImpl", null));//hbase-hadoop2-compat-1.1.1.jar
private AbstractExecutable newExecutable(String type) { Class<? extends AbstractExecutable> clazz; try { clazz = ClassUtil.forName(type, AbstractExecutable.class); } catch (ClassNotFoundException ex) { clazz = BrokenExecutable.class; logger.error("Unknown executable type '" + type + "', using BrokenExecutable"); } try { return clazz.getConstructor().newInstance(); } catch (Exception e) { throw new RuntimeException("Failed to instantiate " + clazz, e); } } }
public synchronized I get(int id) { String clzName = impls.get(id); if (clzName == null) { throw new IllegalArgumentException("Implementation class missing, ID " + id + ", interface " + interfaceClz.getName()); } @SuppressWarnings("unchecked") I result = (I) instances[id]; if (result == null) { try { result = (I) ClassUtil.newInstance(clzName); instances[id] = result; } catch (Exception ex) { logger.warn("Implementation missing " + clzName + " - " + ex); } } if (result == null) throw new IllegalArgumentException("Implementations missing, ID " + id + ", interface " + interfaceClz.getName()); return result; } }
public static void main(String[] args) throws Exception { System.setProperty("HADOOP_USER_NAME", "root"); logger.info("Adding to classpath: " + new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); System.setProperty(KylinConfig.KYLIN_CONF, HBaseMetadataTestCase.SANDBOX_TEST_DATA); if (StringUtils.isEmpty(System.getProperty("hdp.version"))) { throw new RuntimeException("No hdp.version set; Please set hdp.version in your jvm option, for example: -Dhdp.version=2.4.0.0-169"); } if (args.length < 1) { printUsage(); return; } if ("reset".equalsIgnoreCase(args[0])) { ResourceTool.main(new String[] { "reset" }); } else if ("download".equalsIgnoreCase(args[0])) { ResourceTool.main(new String[] { "download", args[1] }); } else if ("fetch".equalsIgnoreCase(args[0])) { ResourceTool.main(new String[] { "fetch", args[1], args[2] }); } else if ("upload".equalsIgnoreCase(args[0])) { ResourceTool.main(new String[] { "upload", args[1] }); } else { printUsage(); } }
public static String findContainingJar(Class<?> clazz) { return findContainingJar(clazz, null); }
public static Dictionary<?> deserialize(InputStream inputStream) { try { final DataInputStream dataInputStream = new DataInputStream(inputStream); final String type = dataInputStream.readUTF(); final Dictionary<?> dictionary = ClassUtil.forName(type, Dictionary.class).getDeclaredConstructor().newInstance(); dictionary.readFields(dataInputStream); return dictionary; } catch (Exception e) { throw new RuntimeException(e); } }
private static void initQueryTransformers() { List<IQueryTransformer> transformers = Lists.newArrayList(); String[] classes = KylinConfig.getInstanceFromEnv().getQueryTransformers(); for (String clz : classes) { try { IQueryTransformer t = (IQueryTransformer) ClassUtil.newInstance(clz); transformers.add(t); } catch (Exception e) { throw new IllegalStateException("Failed to init query transformer", e); } } queryTransformers = transformers; }
@BeforeClass public static void beforeClass() throws Exception { logger.info("Adding to classpath: " + new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath()); System.setProperty("hdp.version", "2.2.0.0-2041"); // mapred-site.xml ref this }