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 Optional<T> get(String implName) { return Optional.ofNullable(getTypes().get(implName)); }
public String forActivityInstance(String s) { ActivityType activityType = ActivityType.FINDER.getOrThrow(s); return forResourceMarkdown(activityType.getName()+".md", "docs/"); }
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; }
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; }
logger.info("introspecting metric names for " + activitySpec); Optional<ActivityType> activityType = ActivityType.FINDER.get(activityDef.getActivityType());
public T getOrThrow(String implName) { Optional<T> at = Optional.ofNullable(getTypes().get(implName)); return at.orElseThrow( () -> new RuntimeException(serviceType.getSimpleName() + " '" + implName + "' not found. Available types:" + this.getTypes().keySet().stream().collect(Collectors.joining(","))) ); }
private ActivityExecutor getActivityExecutor(ActivityDef activityDef, boolean createIfMissing) { synchronized (activityExecutors) { ActivityExecutor executor = activityExecutors.get(activityDef.getAlias()); if (executor == null && createIfMissing) { String activityTypeName = activityDef.getParams().getOptionalString("type").orElse("diag"); ActivityType activityType = ActivityType.FINDER.getOrThrow(activityTypeName); executor = new ActivityExecutor(activityType.getAssembledActivity(activityDef,getActivityMap())); activityExecutors.put(activityDef.getAlias(), executor); } return executor; } }
public List<T> getAll() { List<T> types = new ArrayList<>(getTypes().values()); types.sort(Comparator.comparing(Named::getName)); return Collections.unmodifiableList(types); }