/** * Create instance from no-args constructor * * @param clazz Class to create instance from * @param <T> Instance created from passed class * @return Object of type T */ public static <T> T createInstance(Class<? extends T> clazz) { return createInstance(clazz, null, null); }
public static <T> T createInstance(String className, T defaultClass) { T instance; if (className == null || className.length() == 0 || className.charAt(0) == '$') { return defaultClass; } else { instance = createInstance(className); } return instance; }
/** * Attempts to create instance from specified class name. No-arg constructor assumed. * * @param className fully qualified name of class to instantiate. e.g. foo.bar.Baz * @param <T> Instance created from passed class * @return Object of type T */ public static <T> T createInstance(String className) { T instance; try { Class<? extends T> clazz = (Class<? extends T>) Class.forName(className); instance = createInstance(clazz); } catch (ClassNotFoundException e) { throw new IllegalStateException("Unable to instantiate connector: class not found", e); } return instance; }
/** * Create instance from passed class name with specified parameter types and arguments. If parameter * types is null, defaults to attempting to instantiate the no-arg constructor. * * @param className Class to create instance from * @param parameterTypes parameter types to use for looking up the desired constructor * @param parameters arguments to pass into the constructor when instantiating the object. * @param <T> Instance created from passed class * @return Object of type T */ public static <T> T createInstance(String className, Class<?>[] parameterTypes, Object[] parameters) { T instance; try { Class<? extends T> clazz = (Class<? extends T>) Class.forName(className); instance = createInstance(clazz, parameterTypes, parameters); } catch (ClassNotFoundException e) { throw new IllegalStateException("Unable to instantiate connector: class not found", e); } return instance; }
public static FieldTransformation get(String mapping) { try { return FieldTransformations.valueOf(mapping).mapping; } catch(Exception ex) { return ReflectionUtils.createInstance(mapping); } }
public static FieldValidation get(String validation) { try { return FieldValidations.valueOf(validation).validation; } catch(Exception ex) { return ReflectionUtils.createInstance(validation); } } }
@Override public void init() { final Configuration config = HBaseConfiguration.create(); try { provider = ReflectionUtils.createInstance(connectorImpl, new HTableProvider()); table = provider.getTable(config, tableName); } catch (IOException e) { e.printStackTrace(); } }
public static MessageFilter<JSONObject> get(String filterName, Map<String, Object> config) { if(filterName == null || filterName.trim().isEmpty()) { return null; } Class<? extends MessageFilter> filterClass; try { Filters f = Filters.valueOf(filterName); filterClass = f.clazz; } catch(Exception ex) { try { filterClass = (Class<? extends MessageFilter>) Class.forName(filterName); } catch (ClassNotFoundException e) { throw new IllegalStateException("Unable to find class " + filterName, e); } } if(filterClass != null) { MessageFilter<JSONObject> filter = ReflectionUtils.createInstance(filterClass); filter.configure(config); return filter; } return null; } }
writer = ReflectionUtils.createInstance(parserConfig.getWriterClassName());
.createInstance(parserConfig.getParserClassName());
@Override public void configure(String sensorName, WriterConfiguration configuration) { validateEnrichmentType(sensorName, configuration); validateKeyColumns(sensorName, configuration); String hbaseProviderImpl = Configurations.HBASE_PROVIDER.getAndConvert(configuration.getSensorConfig(sensorName),String.class); if(hbaseProviderImpl != null) { provider = ReflectionUtils.createInstance(hbaseProviderImpl); } if(converter == null) { converter = new EnrichmentConverter(); } LOG.debug("Sensor: '{}': {Provider: '{}', Converter: '{}'}", sensorName, getClassName(provider), getClassName(converter)); }
@Before public void setup() throws IOException { parserConfigurations = new ParserConfigurations(); SensorParserConfig broConfig = SensorParserConfig.fromBytes(broConfigString.getBytes()); SensorParserConfig snortConfig = SensorParserConfig.fromBytes(snortConfigString.getBytes()); parserConfigurations.updateSensorParserConfig("bro", broConfig); parserConfigurations.updateSensorParserConfig("snort", snortConfig); parserConfigurations.updateGlobalConfig(JSONUtils.INSTANCE.load(globalConfigString, JSONUtils.MAP_SUPPLIER)); parserRunner = new ParserRunnerImpl(new HashSet<>(Arrays.asList("bro", "snort"))); broParser = mock(MessageParser.class); snortParser = mock(MessageParser.class); stellarFilter = mock(StellarFilter.class); mockStatic(ReflectionUtils.class); mockStatic(Filters.class); when(ReflectionUtils.createInstance("org.apache.metron.parsers.bro.BasicBroParser")).thenReturn(broParser); when(ReflectionUtils.createInstance("org.apache.metron.parsers.snort.BasicSnortParser")).thenReturn(snortParser); when(Filters.get("org.apache.metron.parsers.filters.StellarFilter", broConfig.getParserConfig())) .thenReturn(stellarFilter); }
writer = ReflectionUtils.createInstance(parserConfig.getWriterClassName());