@JsonIgnore default Map<String, ActionDescriptorStep> getPropertyDefinitionStepsAsMap() { return getPropertyDefinitionSteps().stream().collect(Collectors.toMap(p -> p.getName(), p -> p)); } }
@JsonIgnore @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Override default Map<String, ConfigurationProperty> getProperties() { ActionDescriptor descriptor = getDescriptor(); return descriptor != null ? descriptor.getPropertyDefinitionSteps().stream() .flatMap(step -> step.getProperties().entrySet().stream()) .collect(Collectors.toMap(Entry::getKey, Entry::getValue)) : Collections.emptyMap(); } }
public Builder replaceConfigurationProperty( final String propertyName, final Consumer<ConfigurationProperty.Builder> configurationPropertyConfigurator) { final ConnectorDescriptor definition = build(); final List<ActionDescriptorStep> steps = definition.getPropertyDefinitionSteps(); int stepIdx; ActionDescriptorStep step = null; for (stepIdx = 0; stepIdx < steps.size(); stepIdx++) { final ActionDescriptorStep potentialStep = steps.get(stepIdx); final Map<String, ConfigurationProperty> properties = potentialStep.getProperties(); if (properties.containsKey(propertyName)) { step = potentialStep; break; } } if (step == null) { // found no property to replace, lets just ignore it return this; } final ConfigurationProperty configurationProperty = step.getProperties().get(propertyName); final ConfigurationProperty.Builder configurationPropertyModifier = new ConfigurationProperty.Builder().createFrom(configurationProperty); configurationPropertyConfigurator.accept(configurationPropertyModifier); final ActionDescriptorStep.Builder stepModifier = new ActionDescriptorStep.Builder() .createFrom(step) .putProperty(propertyName, configurationPropertyModifier.build()); final List<ActionDescriptorStep> modifiedSteps = new ArrayList<>(steps); modifiedSteps.set(stepIdx, stepModifier.build()); return propertyDefinitionSteps(modifiedSteps); } }
public StepDescriptor.Builder replaceConfigurationProperty(final String propertyName, final Consumer<ConfigurationProperty.Builder> configurationPropertyConfigurator) { final StepDescriptor definition = build(); final List<ActionDescriptorStep> steps = definition.getPropertyDefinitionSteps(); int stepIdx; ActionDescriptorStep step = null; for (stepIdx = 0; stepIdx < steps.size(); stepIdx++) { final ActionDescriptorStep potentialStep = steps.get(stepIdx); final Map<String, ConfigurationProperty> properties = potentialStep.getProperties(); if (properties.containsKey(propertyName)) { step = potentialStep; break; } } if (step == null) { // found no property to replace, lets just ignore it return this; } final ConfigurationProperty configurationProperty = step.getProperties().get(propertyName); final ConfigurationProperty.Builder configurationPropertyModifier = new ConfigurationProperty.Builder().createFrom(configurationProperty); configurationPropertyConfigurator.accept(configurationPropertyModifier); final ActionDescriptorStep.Builder stepModifier = new ActionDescriptorStep.Builder() .createFrom(step) .putProperty(propertyName, configurationPropertyModifier.build()); final List<ActionDescriptorStep> modifiedSteps = new ArrayList<>(steps); modifiedSteps.set(stepIdx, stepModifier.build()); return propertyDefinitionSteps(modifiedSteps); } }
private void from(Object object) { if (object instanceof WithName) { WithName instance = (WithName) object; String nameValue = instance.getName(); if (nameValue != null) { name(nameValue); } } if (object instanceof WithConfiguredProperties) { WithConfiguredProperties instance = (WithConfiguredProperties) object; putAllConfiguredProperties(instance.getConfiguredProperties()); } if (object instanceof ActionDescriptor.ActionDescriptorStep) { ActionDescriptor.ActionDescriptorStep instance = (ActionDescriptor.ActionDescriptorStep) object; String descriptionValue = instance.getDescription(); if (descriptionValue != null) { description(descriptionValue); } } if (object instanceof WithConfigurationProperties) { WithConfigurationProperties instance = (WithConfigurationProperties) object; putAllProperties(instance.getProperties()); } }
private ImmutableActionDescriptorStep(ImmutableActionDescriptorStep.Builder builder) { this.description = builder.description; this.name = builder.name; this.properties = createUnmodifiableMap(false, false, builder.properties); this.configuredProperties = builder.configuredPropertiesIsSet() ? createUnmodifiableMap(false, false, builder.configuredProperties) : createUnmodifiableMap(true, false, ActionDescriptor.ActionDescriptorStep.super.getConfiguredProperties()); }