@@ -115,6 +115,11 @@ func (o *CliOptions) transformation(name, target, file string, eventSourcesFilte
115115 targetComponent = t
116116 }
117117
118+ var expectedEventTypes []string
119+ if consumer , ok := targetComponent .(triggermesh.Consumer ); ok {
120+ expectedEventTypes , _ = consumer .ConsumedEventTypes ()
121+ }
122+
118123 et , err := o .translateEventSource (eventSourcesFilter )
119124 if err != nil {
120125 return err
@@ -151,15 +156,37 @@ func (o *CliOptions) transformation(name, target, file string, eventSourcesFilte
151156 t := transformation .New (name , "transformation" , o .Config .Context , o .Config .Triggermesh .ComponentsVersion , crd , spec )
152157
153158 transformationEventType := fmt .Sprintf ("%s.output" , t .GetName ())
154- if et , _ := t .(triggermesh.Producer ).GetEventTypes (); len (et ) == 0 {
159+ if len (expectedEventTypes ) > 0 {
160+ transformationEventType = expectedEventTypes [0 ]
161+ }
162+
163+ producedEventTypes , _ := t .(triggermesh.Producer ).GetEventTypes ()
164+ if len (producedEventTypes ) == 0 {
155165 if err := t .(triggermesh.Producer ).SetEventAttributes (map [string ]string {
156166 "type" : transformationEventType ,
157167 }); err != nil {
158168 return fmt .Errorf ("setting event type: %w" , err )
159169 }
160170 } else {
161- transformationEventType = et [0 ]
171+ transformationEventType = producedEventTypes [0 ]
172+ }
173+
174+ eventTypesMatch := false
175+ if len (expectedEventTypes ) == 0 {
176+ eventTypesMatch = true
162177 }
178+ for _ , eet := range expectedEventTypes {
179+ if eet == transformationEventType {
180+ eventTypesMatch = true
181+ break
182+ }
183+ }
184+
185+ if targetComponent != nil && ! eventTypesMatch {
186+ log .Printf (`WARNING! The transformation produces events of %q type, while target %q expectes %s. The target adapter may not work in this configuration.` ,
187+ transformationEventType , targetComponent .GetName (), strings .Join (expectedEventTypes , "," ))
188+ }
189+
163190 log .Println ("Updating manifest" )
164191 restart , err := o .Manifest .Add (t )
165192 if err != nil {
0 commit comments