public IncludeCodes(SimpleConfig conf) { lut=parseCodes(128, conf.getString("codes").orElseThrow( () -> new RuntimeException("codes= was not provided in the int predicate config for " + IncludeCodes.this.toString()) )); }
private static Optional<Predicate<ResultReadable>> getFilterPredicate(String paramdata) { String type = new SimpleConfig(paramdata).getString("type").orElse("core"); Optional<ResultValueFilterType> cycleResultFilterType = ResultValueFilterType.FINDER.get(type); Optional<ResultFilterDispenser> crfd = cycleResultFilterType.map(crft -> crft.getDispenser(paramdata)); Optional<Predicate<ResultReadable>> predicate = crfd.map(ResultFilterDispenser::getResultFilter); return predicate; }
public static <A extends Activity> Optional<OutputDispenser> getOutputDispenser(A activity) { OutputDispenser outputDispenser = new SimpleConfig(activity, "output").getString("type") .flatMap(OutputType.FINDER::get) .map(mt -> mt.getOutputDispenser(activity)).orElse(null); if (outputDispenser==null) { return Optional.empty(); } Optional<Predicate<ResultReadable>> outputFilterDispenser = getOutputFilter(activity); if (outputFilterDispenser.isPresent()) { outputDispenser = new FilteringOutputDispenser(outputDispenser, outputFilterDispenser.get()); } return Optional.ofNullable(outputDispenser); }
public static <A extends Activity> InputDispenser getInputDispenser(A activity) { String inputTypeName = new SimpleConfig(activity, "input").getString("type").orElse("targetrate"); InputType inputType = InputType.FINDER.getOrThrow(inputTypeName); InputDispenser dispenser = inputType.getInputDispenser(activity); Optional<Predicate<ResultReadable>> inputFilterDispenser = getInputFilter(activity); if (inputFilterDispenser.isPresent()) { dispenser = new FilteringInputDispenser(dispenser, inputFilterDispenser.get()); } return dispenser; }
public CycleLogOutput(Activity activity) { SimpleConfig conf = new SimpleConfig(activity, "output"); this.extentSizeInSpans = conf.getInteger("extentSize").orElse(1000); this.outputFile = new File(conf.getString("file").orElse(activity.getAlias()) + ".cyclelog"); targetBuffer = new CycleResultsRLEBufferTarget(extentSizeInSpans); removeIfPresent(outputFile); }
public CycleLogInput(Activity activity) { SimpleConfig conf = new SimpleConfig(activity, "input"); mbb = initMappedBuffer(conf.getString("file").orElse(activity.getAlias()) + ".cyclelog"); cycleResultSegmentIterator = iterator(); segmentIter = cycleResultSegmentIterator.next().iterator(); }
private synchronized Input createInput(long slot) { SimpleConfig conf = new SimpleConfig(activity, "input"); String inputType = conf.getString("type").orElse("targetrate"); InputType inputTypeImpl = InputType.FINDER.getOrThrow(inputType); InputDispenser inputDispenser = inputTypeImpl.getInputDispenser(activity); if (inputDispenser instanceof ActivitiesAware) { ((ActivitiesAware)inputDispenser).setActivitiesMap(activities); } Input input = inputDispenser.getInput(slot); return input; }