in deployers/manifestreader.go [247:280]
func (reader *ManifestReader) SetTriggers(triggers []*whisk.Trigger) error {
dep := reader.serviceDeployer
dep.mt.Lock()
defer dep.mt.Unlock()
for _, trigger := range triggers {
if _, exists := dep.Deployment.Triggers[trigger.Name]; exists {
var feed string
var existingFeed string
for _, a := range dep.Deployment.Triggers[trigger.Name].Annotations {
if a.Key == parsers.YAML_KEY_FEED {
existingFeed = a.Value.(string)
}
}
for _, a := range trigger.Annotations {
if a.Key == parsers.YAML_KEY_FEED {
feed = a.Value.(string)
}
}
if feed != existingFeed {
feed = fmt.Sprintf("%q", feed)
existingFeed = fmt.Sprintf("%q", existingFeed)
err := wski18n.T(wski18n.ID_ERR_CONFLICTING_TRIGGERS_ACROSS_PACKAGES_X_trigger_X_feed_X,
map[string]interface{}{wski18n.KEY_TRIGGER: trigger.Name,
wski18n.KEY_TRIGGER_FEED: strings.Join([]string{feed, existingFeed}, ", ")})
return wskderrors.NewYAMLParserErr(reader.serviceDeployer.ManifestPath, err)
}
}
dep.Deployment.Triggers[trigger.Name] = trigger
}
return nil
}