in camel-k-knative/impl/src/main/java/org/apache/camel/k/knative/customizer/KnativeSinkBindingContextCustomizer.java [75:107]
public void apply(CamelContext camelContext) {
final String kSinkUrl = camelContext.resolvePropertyPlaceholders("{{k.sink:}}");
final String kCeOverride = camelContext.resolvePropertyPlaceholders("{{k.ce.overrides:}}");
if (ObjectHelper.isNotEmpty(kSinkUrl)) {
// create a synthetic service definition to target the K_SINK url
KnativeResource resource = new KnativeResource();
resource.setEndpointKind(Knative.EndpointKind.sink);
resource.setType(type);
resource.setName(name);
resource.setUrl(kSinkUrl);
resource.setObjectApiVersion(apiVersion);
resource.setObjectKind(kind);
if (type == Knative.Type.event) {
resource.setObjectName(name);
}
if (ObjectHelper.isNotEmpty(kCeOverride)) {
try (Reader reader = new StringReader(kCeOverride)) {
// assume K_CE_OVERRIDES is defined as simple key/val json
Knative.MAPPER.readValue(
reader,
new TypeReference<HashMap<String, String>>() {
}
).forEach(resource::addCeOverride);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
camelContext.getRegistry().bind(name, resource);
}
}