/** * Returns the default value of the configuration, cast to the expected type. * * @param clazz The class of the expected type of the configuration value. * @param <T> The expected type of the configuration value. */ public <T> T getDefault(Class<T> clazz) { return defaultValue == null ? null: ConversionUtils.convert(defaultValue, clazz); }
/** * @return The default value of the property. */ public <T> T getDefault(Class<T> clazz) { return ConversionUtils.convert(defaultValue, clazz); }
private static <T> T getParam(Map<String, Object> config, String key, T defaultVal, Class<T> clazz) { Object o = config.get(key); if(o == null) { return defaultVal; } T ret = ConversionUtils.convert(o, clazz); return ret == null?defaultVal:ret; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getPopulationVariance() : Double.NaN; } }
default <T> T get(Map<String, Object> map, Class<T> clazz) { Object obj = map.get(getKey()); if (clazz.isInstance(obj)) { return clazz.cast(obj); } else { return ConversionUtils.convert(obj, clazz); } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getMean() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getSum() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getVariance() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getSumSquares() : Double.NaN; } }
public static List<Number> getSplit(Object o) { if(o instanceof String) { return BinSplits.valueOf((String)o).split; } else if(o instanceof List) { return ConversionUtils.convert(o, List.class); } throw new IllegalStateException("The split you tried to pass is not a valid split: " + o.toString()); } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getMin() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getStandardDeviation() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); return (stats != null) ? stats.getSkewness() : Double.NaN; } }
@Override public Object apply(List<Object> args) { StatisticsProvider stats = convert(args.get(0), StatisticsProvider.class); Double value = convert(args.get(1), Double.class); final List<Number> bins = args.size() > 2?BinSplits.getSplit(args.get(2)):BinSplits.QUARTILE.split; if (stats == null || value == null || bins.size() == 0) { return -1; } return BinFunctions.Bin.getBin(value, bins.size(), bin -> stats.getPercentile(bins.get(bin).doubleValue())); } }
private boolean booleanOp(final Token<?> left, final Token<?> right, final BooleanOp op, final String opName) { Boolean l = Optional.ofNullable(ConversionUtils.convert(left.getValue(), Boolean.class)).orElse(false); Boolean r = Optional.ofNullable(ConversionUtils.convert(right.getValue(), Boolean.class)).orElse(false); return op.op(l, r); }
@Override public Optional<Object> getValue(LoadOptions option, CommandLine cli) { if(option.has(cli)) { Object res = option.get(cli); return Optional.ofNullable(ConversionUtils.convert(res, Long.class)); } return Optional.of(LoadGenerator.SEND_PERIOD_MS); }
@Override public Optional<Object> getValue(LoadOptions option, CommandLine cli) { if(option.has(cli)) { Object res = option.get(cli); return Optional.ofNullable(ConversionUtils.convert(res, Long.class)); } return Optional.of(LoadGenerator.MONITOR_PERIOD_MS); }
@Override public int getBatchTimeout(String sensorName) { if(config != null && config.getSensorParserConfig(sensorName) != null && config.getSensorParserConfig(sensorName).getParserConfig() != null ) { Object batchObj = config.getSensorParserConfig(sensorName).getParserConfig().get(IndexingConfigurations.BATCH_TIMEOUT_CONF); return batchObj == null ? 0 : ConversionUtils.convert(batchObj, Integer.class); } return 0; }
@Test public void test() { // define some globals executor.getGlobalConfig().put("x", 2); // get all globals StellarResult result = executor.execute("%globals"); // validate the result assertTrue(result.isSuccess()); assertTrue(result.getValue().isPresent()); String out = ConversionUtils.convert(result.getValue().get(), String.class); assertEquals("{x=2}", out); }