in pkg/trait/knative.go [157:197]
func (t *knativeTrait) Apply(e *Environment) error {
if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, v1.CapabilityKnative)
}
if len(t.ChannelSources) > 0 || len(t.EndpointSources) > 0 || len(t.EventSources) > 0 {
util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, v1.CapabilityPlatformHTTP)
}
if len(t.ChannelSinks) > 0 || len(t.EndpointSinks) > 0 || len(t.EventSinks) > 0 {
util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, v1.CapabilityPlatformHTTP)
}
if !e.IntegrationInRunningPhases() {
return nil
}
env := knativeapi.NewCamelEnvironment()
if t.Configuration != "" {
if err := env.Deserialize(t.Configuration); err != nil {
return err
}
}
if err := t.configureChannels(e, &env); err != nil {
return err
}
if err := t.configureEndpoints(e, &env); err != nil {
return err
}
if err := t.configureEvents(e, &env); err != nil {
return err
}
if err := t.configureSinkBinding(e, &env); err != nil {
return err
}
if e.ApplicationProperties == nil {
e.ApplicationProperties = make(map[string]string)
}
for k, v := range env.ToCamelProperties() {
e.ApplicationProperties[k] = v
}
return nil
}