@SuppressWarnings("unchecked")
private io.syndesis.integration.model.steps.Step createConnector(StepVisitorContext visitorContext, Step step, Connection connection, Connector connector, ConnectorAction action) {
final Map<String, String> properties = aggregate(connection.getConfiguredProperties(), step.getConfiguredProperties());
final String scheme = Optionals.first(action.getDescriptor().getComponentScheme(), connector.getComponentScheme()).get();
if (visitorContext.getGeneratorContext().getGeneratorProperties().isSecretMaskingEnabled()) {
properties.entrySet()
.stream()
.filter(Predicates.or(connector::isSecret, action::isSecret))
.forEach(e -> e.setValue(String.format("{{%s-%d.%s}}", scheme, visitorContext.getIndex(), e.getKey())));
}
connector.getConfiguredProperties().forEach(properties::put);
action.getDescriptor().getConfiguredProperties().forEach(properties::put);
return new io.syndesis.camel.component.proxy.runtime.Connector(
scheme + "-" + visitorContext.getIndex(),
scheme,
Map.class.cast(properties),
Optionals.first(action.getDescriptor().getConnectorFactory(), connector.getConnectorFactory()).orElse(null),
action.getDescriptor().getConnectorCustomizers()
);
}