.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint("io.syndesis.integration.runtime.handlers.ExtensionStepHandlerTest$MyExtension::action") .build()) .build()) .putConfiguredProperty("param1", "Val-1")
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; }
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); } }
.putConfiguredProperty("key-1", "val-1") .putConfiguredProperty("key-2", "val-2") .action(new StepAction.Builder() .id("my-extension-1-action-1") .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.ENDPOINT) .entrypoint("direct:extension") .build() ).build()) .build(), .putConfiguredProperty("key-1", "val-1") .putConfiguredProperty("key-2", "val-2") .action(new StepAction.Builder() .id("my-extension-1-action-1") .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint("com.example.MyExtension::action") .build() ).build()) .build(), .putConfiguredProperty("key-1", "val-1") .putConfiguredProperty("key-2", "val-2") .action(new StepAction.Builder() .id("my-extension-2-action-1") .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.STEP) .entrypoint("com.example.MyStep")
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.STEP) .entrypoint("io.syndesis.integration.runtime.handlers.ExtensionStepHandlerTest$MyStepExtension") .build()) .build()) .putConfiguredProperty("param1", "Val-1")
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint(Bean1.class.getName()) .build()) .build()) .build(), .stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint(Bean2.class.getName()) .build()) .build()) .build(),
new Step.Builder() .stepKind(StepKind.template) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(Kind.STEP) .inputDataShape(new DataShape.Builder() .kind(DataShapeKinds.JSON_SCHEMA) .build()) .build()) .build()) .build()))
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.ENDPOINT) .entrypoint("log:myLog") .build()) .build()) .putConfiguredProperty("Property-1", "Val-1")
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint(Bean1.class.getName()) .build()) .build()) .build(),
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint(Bean1.class.getName()) .build()) .build()) .build(), .stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.BEAN) .entrypoint(Bean2.class.getName()) .build()) .build()) .build(),
.stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.STEP) .entrypoint(LogExtension.class.getName()) .build()) .build()) .build(), .stepKind(StepKind.extension) .action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(StepAction.Kind.STEP) .entrypoint(ErrorExtension.class.getName()) .build()) .build()) .build(),
.action(new StepAction.Builder() .descriptor(new StepDescriptor.Builder() .kind(Kind.STEP) .inputDataShape(new DataShape.Builder() .kind(DataShapeKinds.JSON_SCHEMA) .specification(inSpec) .build()) .outputDataShape(new DataShape.Builder() .kind(DataShapeKinds.JSON_SCHEMA) .specification(outSpec) .build()) .build()) .build()) .putConfiguredProperty("template", template)
/** * Creates an immutable copy of a {@link StepDescriptor} 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 StepDescriptor instance */ public static StepDescriptor copyOf(StepDescriptor instance) { if (instance instanceof ImmutableStepDescriptor) { return (ImmutableStepDescriptor) instance; } return new StepDescriptor.Builder() .createFrom(instance) .build(); }