public void apply()

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);
        }
    }