void addInfrastructureParameters(ExtensionType extensionType, ParameterizedModel model, ExplicitGroup sequence) { model.getAllParameterModels().stream() .filter(p -> p.getModelProperty(InfrastructureParameterModelProperty.class).isPresent()) .sorted(comparing(p -> p.getModelProperty(InfrastructureParameterModelProperty.class).get().getSequence())) .forEach(parameter -> { boolean isParameterRequired = parameter.isRequired() && !parameter.getDslConfiguration().allowsReferences() && !parameter.getDslConfiguration().allowTopLevelDefinition(); parameter.getModelProperty(QNameModelProperty.class) .map(QNameModelProperty::getValue) .ifPresent(qName -> addParameterToSequence(asList(createRefElement(qName, isParameterRequired)), sequence)); if (parameter.getName().equals(TLS_PARAMETER_NAME)) { addTlsSupport(extensionType); } }); }
private void validateParameterIsPlural(final ParameterModel parameterModel, ParameterizedModel owner, ProblemsReporter problemsReporter) { if (!(owner instanceof FunctionModel || parameterModel.getExpressionSupport().equals(REQUIRED))) { ParameterDslConfiguration dslConfiguration = parameterModel.getDslConfiguration(); if (dslConfiguration.allowsInlineDefinition() || dslConfiguration.allowTopLevelDefinition()) parameterModel.getType().accept(new MetadataTypeVisitor() { @Override public void visitArrayType(ArrayType arrayType) { if (parameterModel.getName().equals(singularize(parameterModel.getName()))) { problemsReporter .addError(new Problem(parameterModel, format("Parameter '%s' in the %s '%s' is a collection and its name should be plural", parameterModel.getName(), getComponentModelTypeName(owner), owner.getName()))); } } }); } } }
@Override public void write(JsonWriter out, ParameterDslConfiguration value) throws IOException { out.beginObject(); out.name(ALLOWS_INLINE_DEFINITION).value(value.allowsInlineDefinition()); out.name(ALLOWS_REFERENCES).value(value.allowsReferences()); out.name(ALLOW_TOP_LEVEL_DEFINITION).value(value.allowTopLevelDefinition()); out.endObject(); }
private void validateParameterIsPlural(final ParameterModel parameterModel, ParameterizedModel owner, ProblemsReporter problemsReporter) { if (!(owner instanceof FunctionModel || parameterModel.getExpressionSupport().equals(REQUIRED))) { ParameterDslConfiguration dslConfiguration = parameterModel.getDslConfiguration(); if (dslConfiguration.allowsInlineDefinition() || dslConfiguration.allowTopLevelDefinition()) parameterModel.getType().accept(new MetadataTypeVisitor() { @Override public void visitArrayType(ArrayType arrayType) { if (parameterModel.getName().equals(singularize(parameterModel.getName()))) { problemsReporter .addError(new Problem(parameterModel, format("Parameter '%s' in the %s '%s' is a collection and its name should be plural", parameterModel.getName(), getComponentModelTypeName(owner), owner.getName()))); } } }); } } }