private Stream<ParameterMeta> flatten(final ParameterMeta meta) { if (meta.getNestedParameters() == null || meta.getNestedParameters().isEmpty()) { return Stream.of(meta); } return Stream.concat(meta.getNestedParameters().stream().flatMap(this::flatten), Stream.of(meta)); }
private Stream<ParameterMeta> flatten(final Collection<ParameterMeta> options) { return options.stream().flatMap(it -> Stream.concat(Stream.of(it), it.getNestedParameters().stream())); }
private List<ParameterMeta> translate(final List<ParameterMeta> metas, final String name) { if (metas == null) { return null; } return metas .stream() .filter(it -> it.getName().equals(name)) .flatMap(it -> it.getNestedParameters().stream()) .collect(toList()); }
private Stream<ParameterMeta> toParamStream(final Collection<ParameterMeta> params) { if (params.isEmpty()) { return Stream.empty(); } return Stream.concat(params.stream(), params.stream().flatMap(p -> toParamStream(p.getNestedParameters()))); }
public Map<String, String> toMap() { if (byExample.instance == null) { return emptyMap(); } final String usedPrefix = ofNullable(byExample.prefix).orElse("configuration."); final ParameterMeta params = new SimpleParameterModelService() .build(usedPrefix, usedPrefix, byExample.instance.getClass(), new Annotation[0], new ArrayList<>(singletonList(byExample.instance.getClass().getPackage().getName()))); return CONFIGURATION_MAPPER.map(params.getNestedParameters(), byExample.instance); }
private Stream<ParameterMeta> getNestedConfigType(final ParameterMeta parameterMeta) { return concat( (parameterMeta.getJavaType() instanceof Class && parameterMeta .getMetadata() .keySet() .stream() .anyMatch(k -> k.startsWith("tcomp::configurationtype::"))) ? Stream.of(parameterMeta) : Stream.empty(), ofNullable(parameterMeta.getNestedParameters()) .map(Collection::stream) .orElseGet(Stream::empty) .flatMap(this::getNestedConfigType)); }
private JsonObject unflatten(final String contextualPrefix, final Collection<ParameterMeta> definitions, final Map<String, String> config) { final JsonObjectBuilder json = factory.createObjectBuilder(); ofNullable(definitions) .map(Collection::stream) .orElseGet(Stream::empty) .sorted(comparing(ParameterMeta::getName)) .forEach(meta -> onProperty(contextualPrefix, meta.getNestedParameters(), config, json, meta)); return json.build(); }
private Stream<AbstractMap.SimpleEntry<String, ParameterMeta>> toFlatNonPrimitivConfig(final List<ParameterMeta> config) { if (config == null || config.isEmpty()) { return empty(); } return config .stream() .filter(Objects::nonNull) .filter(p -> OBJECT.equals(p.getType()) || isArrayOfObject(p)) .filter(p -> p.getNestedParameters() != null) .flatMap(p -> concat(of(new AbstractMap.SimpleEntry<>(toJavaType(p).getName(), p)), toFlatNonPrimitivConfig(p.getNestedParameters()))); }
private Stream<String> toAsciidocRows(final Collection<ParameterMeta> parameterMetas, final DefaultValueInspector.Instance parentInstance, final ParameterBundle parentBundle) { return parameterMetas.stream().flatMap(p -> { final DefaultValueInspector.Instance instance = defaultValueInspector .createDemoInstance( ofNullable(parentInstance).map(DefaultValueInspector.Instance::getValue).orElse(null), p); return Stream .concat(Stream.of(toAsciidoctor(p, instance, parentBundle)), toAsciidocRows(p.getNestedParameters(), instance, findBundle(p))); }); }
public String findDefault(final Object instance, final ParameterMeta param) { if (instance == null) { return null; } final ParameterMeta.Type type = param.getType(); switch (type) { case OBJECT: return null; case ENUM: return Enum.class.cast(instance).name(); case STRING: case NUMBER: case BOOLEAN: return String.valueOf(instance); case ARRAY: // can be enhanced if (!param.getNestedParameters().isEmpty()) { return null; } else if (Collection.class.isInstance(instance)) { return ((Collection<Object>) instance).stream().map(String::valueOf).collect(joining(",")); } else { // primitives return String.valueOf(instance); } default: throw new IllegalArgumentException("Unsupported type: " + param.getType()); } }
return map(param.getNestedParameters(), value, indexes); case ARRAY: final Collection<Object> values = Collection.class.isInstance(value) ? Collection.class.cast(value) indexes.put(arrayIndex, valuesIndex.getAndIncrement()); final Map<String, String> res = param .getNestedParameters() .stream() .filter(ConfigurationMapper::isPrimitive) param.getNestedParameters().stream().filter(p -> !isPrimitive(p)).collect(toList()), item, indexes)); return res;
.collect(toList()), true, new BaseParameterEnricher.Context(config)); final BiFunction<String, Map<String, Object>, Object> objectFactory = createObjectFactory(loader, contextualSupplier, configClass, objectMeta.getNestedParameters()); final Function<Map<String, Object>, Object> factory = c -> objectFactory.apply(prefix, c); return ignoredDependentConfig -> { .stream() .filter(it -> objectMeta .getNestedParameters() .stream() .anyMatch(p -> it.startsWith(prefix + '.' + p.getName())))
private boolean isArrayOfObject(final ParameterMeta param) { return ARRAY.equals(param.getType()) && param.getNestedParameters() != null && param .getNestedParameters() .stream() .anyMatch(p -> OBJECT.equals(p.getType()) || ENUM.equals(p.getType()) || isArrayOfObject(p)); }
.filter(fieldInLayout -> config .getValue() .getNestedParameters() .stream() .map(ParameterMeta::getName) .getNestedParameters() .stream() .filter(field -> !fieldsInGridLayout.contains(field.getName())) .filter(fieldInLayout -> config .getValue() .getNestedParameters() .stream() .map(ParameterMeta::getName) .getNestedParameters() .stream() .filter(field -> !fieldsInOptionOrder.contains(field.getName()))
.put("tcomp::ui::gridlayout::Main::value", root .getNestedParameters() .stream() .map(ParameterMeta::getName) root.getMetadata().put(layoutType, maxBatchSize.getName() + "|" + oldLayout); root.getNestedParameters().add(maxBatchSize);
private ParameterMeta translate(final ParameterMeta config, final int replacedPrefixLen, final String newPrefix) { return new ParameterMeta(config.getSource(), config.getJavaType(), config.getType(), newPrefix + config.getPath().substring(replacedPrefixLen), config.getPath().length() == replacedPrefixLen ? newPrefix : config.getName(), config.getI18nPackages(), config .getNestedParameters() .stream() .map(it -> translate(it, replacedPrefixLen, newPrefix)) .collect(toList()), config.getProposals(), config.getMetadata(), config.isLogMissingResourceBundle()); } }
onArray(definition.getNestedParameters(), definition, config, newPath, json, name); break;
.getConfigs() .stream() .filter(c -> toParamStream(item.getMeta().getNestedParameters()) .anyMatch(p -> p.getJavaType() == c.getMeta().getJavaType())) .findFirst()
.enumDisplayName(parentBundle, key) .orElse(key))))), buildProperties(p.getNestedParameters(), loader, locale, instance, p));