@SuppressWarnings("unchecked")
private io.syndesis.integration.model.steps.Step createEndpoint(StepVisitorContext visitorContext, Step step, Connection connection, Connector connector, ConnectorAction action) {
final Map<String, String> configuredProperties = aggregate(connection.getConfiguredProperties(), step.getConfiguredProperties());
final Map<String, String> properties = aggregate(connector.filterEndpointProperties(configuredProperties), action.filterEndpointProperties(configuredProperties));
final String componentScheme = action.getDescriptor().getCamelConnectorPrefix();
if (visitorContext.getGeneratorContext().getGeneratorProperties().isSecretMaskingEnabled()) {
properties.entrySet()
.stream()
.filter(Predicates.or(connector::isEndpointProperty, action::isEndpointProperty))
.filter(Predicates.or(connector::isSecret, action::isSecret))
.forEach(e -> e.setValue(String.format("{{%s-%d.%s}}", componentScheme, visitorContext.getIndex(), e.getKey())));
}
final ConnectorDescriptor descriptor = action.getDescriptor();
properties.putAll(descriptor.getConfiguredProperties());
if (hasComponentProperties(configuredProperties, connector, action)) {
return new io.syndesis.integration.model.steps.Endpoint(String.format("%s-%d", componentScheme, visitorContext.getIndex()), Map.class.cast(properties));
} else {
return new io.syndesis.integration.model.steps.Endpoint(componentScheme, Map.class.cast(properties));
}
}