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 ConnectorDescriptor.Builder withActionDefinitionStep( final String name, final String description, final Consumer<ActionDescriptorStep.Builder> stepConfigurator) { stepConfigurator.andThen( builder -> addPropertyDefinitionStep(builder.build()) ).accept( new ActionDescriptorStep.Builder() .name(name) .description(description) ); return this; }
b -> b.putProperty("sObjectName", new ConfigurationProperty.Builder()// .kind("parameter")// .withActionDefinitionStep("Select Identifier property", "Select Salesforce property that will hold the uniquely identifying value of this object", b -> b.putProperty("sObjectIdName", new ConfigurationProperty.Builder()// .kind("parameter")//
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); } }
/** * Creates an immutable copy of a {@link ActionDescriptor.ActionDescriptorStep} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable ActionDescriptorStep instance */ public static ActionDescriptor.ActionDescriptorStep copyOf(ActionDescriptor.ActionDescriptorStep instance) { if (instance instanceof ImmutableActionDescriptorStep) { return (ImmutableActionDescriptorStep) instance; } return new ActionDescriptor.ActionDescriptorStep.Builder() .createFrom(instance) .build(); }
public StepDescriptor.Builder withActionDefinitionStep( final String name, final String description, final Consumer<ActionDescriptorStep.Builder> stepConfigurator) { stepConfigurator.andThen( builder -> addPropertyDefinitionStep(builder.build()) ).accept( new ActionDescriptorStep.Builder() .name(name) .description(description) ); return this; }