private void parseParameterDsl(ExtensionParameter extensionParameter, ParameterDeclarer parameter) { extensionParameter.getAnnotation(ParameterDsl.class).ifPresent( parameterDsl -> parameter .withDsl(ParameterDslConfiguration.builder() .allowsInlineDefinition(parameterDsl .allowInlineDefinition()) .allowsReferences(parameterDsl.allowReferences()) .build())); }
public void isValidNameIfDoesntSupportChildElement() { when(invalidParameterModel.getType()).thenReturn(toMetadataType(List.class)); when(invalidParameterModel.getName()).thenReturn("thing"); when(invalidParameterModel.getDslConfiguration()).thenReturn(ParameterDslConfiguration.builder() .allowsInlineDefinition(false) .allowTopLevelDefinition(false) .build()); mockParameters(operationModel, invalidParameterModel); validate(extensionModel, validator); }
@Override protected void onSource(SourceDeclaration source) { extractType(source).ifPresent(type -> { if (type.isAssignableTo(PollingSource.class)) { source.setRunsOnPrimaryNodeOnly(true); ParameterDeclaration parameter = new ParameterDeclaration(SCHEDULING_STRATEGY_PARAMETER_NAME); parameter.setDescription(SCHEDULING_STRATEGY_PARAMETER_DESCRIPTION); parameter.setRequired(true); parameter.setType(loader.load(Scheduler.class), false); parameter.setExpressionSupport(NOT_SUPPORTED); parameter.addModelProperty(new InfrastructureParameterModelProperty(10)); parameter.addModelProperty(new QNameModelProperty(new QName(CORE_NAMESPACE, SCHEDULING_STRATEGY_ELEMENT_IDENTIFIER, CORE_PREFIX))); parameter.setDslConfiguration(ParameterDslConfiguration.builder() .allowsInlineDefinition(true) .allowsReferences(false) .allowTopLevelDefinition(false) .build()); thereArePollingSources.set(true); source.getParameterGroup(DEFAULT_GROUP_NAME).addParameter(parameter); } }); } }.walk(extensionDeclarer.getDeclaration());
@Override protected void onParameter(ParameterGroupDeclaration parameterGroup, ParameterDeclaration declaration) { ParameterDslConfiguration.Builder builder = ParameterDslConfiguration.builder(); boolean isContent = !declaration.getRole().equals(ParameterRole.BEHAVIOUR); ParameterDslConfiguration dslConfiguration = declaration.getDslConfiguration();
@Override public ParameterDslConfiguration read(JsonReader in) throws IOException { JsonObject json = new JsonParser().parse(in).getAsJsonObject(); return ParameterDslConfiguration.builder() .allowsInlineDefinition(read(json, ALLOWS_INLINE_DEFINITION)) .allowsReferences(read(json, ALLOWS_REFERENCES)) .allowTopLevelDefinition(read(json, ALLOW_TOP_LEVEL_DEFINITION)) .build(); }
private void parseParameterDsl(ExtensionParameter extensionParameter, ParameterDeclarer parameter) { extensionParameter.getAnnotation(ParameterDsl.class).ifPresent( parameterDsl -> parameter .withDsl(ParameterDslConfiguration.builder() .allowsInlineDefinition(parameterDsl .allowInlineDefinition()) .allowsReferences(parameterDsl.allowReferences()) .build())); }
@Override protected void onSource(SourceDeclaration source) { extractType(source).ifPresent(type -> { if (type.isAssignableTo(PollingSource.class)) { source.setRunsOnPrimaryNodeOnly(true); ParameterDeclaration parameter = new ParameterDeclaration(SCHEDULING_STRATEGY_PARAMETER_NAME); parameter.setDescription(SCHEDULING_STRATEGY_PARAMETER_DESCRIPTION); parameter.setRequired(true); parameter.setType(loader.load(Scheduler.class), false); parameter.setExpressionSupport(NOT_SUPPORTED); parameter.addModelProperty(new InfrastructureParameterModelProperty(10)); parameter.addModelProperty(new QNameModelProperty(new QName(CORE_NAMESPACE, SCHEDULING_STRATEGY_ELEMENT_IDENTIFIER, CORE_PREFIX))); parameter.setDslConfiguration(ParameterDslConfiguration.builder() .allowsInlineDefinition(true) .allowsReferences(false) .allowTopLevelDefinition(false) .build()); thereArePollingSources.set(true); source.getParameterGroup(DEFAULT_GROUP_NAME).addParameter(parameter); } }); } }.walk(extensionDeclarer.getDeclaration());
.ofType(typeLoader.load(String.class)) .defaultingTo("#[id]") .withDsl(ParameterDslConfiguration.builder().allowsReferences(false).build()) .describedAs("Defines one or more expressions to use when extracting the ID from the message. " + "If this property is not set, '#[id]' will be used by default."); ParameterDslConfiguration.builder() .allowsInlineDefinition(true) .allowsReferences(true).build())
.ofType(new DynamicConfigExpirationTypeBuilder().buildDynamicConfigExpirationType()) .withExpressionSupport(NOT_SUPPORTED) .withDsl(ParameterDslConfiguration.builder() .allowsReferences(false) .allowsInlineDefinition(true)