(Client *whisk.Client, args []string)
| 595 | } |
| 596 | |
| 597 | func (t *Trigger) Update(Client *whisk.Client, args []string) error { |
| 598 | var err error |
| 599 | var fullFeedName string |
| 600 | var qualifiedName = new(QualifiedName) |
| 601 | |
| 602 | if whiskErr := CheckArgs(args, 1, 1, "Trigger update", |
| 603 | wski18n.T("A trigger name is required.")); whiskErr != nil { |
| 604 | return whiskErr |
| 605 | } |
| 606 | |
| 607 | if qualifiedName, err = NewQualifiedName(args[0]); err != nil { |
| 608 | return NewQualifiedNameError(args[0], err) |
| 609 | } |
| 610 | |
| 611 | Client.Namespace = qualifiedName.GetNamespace() |
| 612 | |
| 613 | // Convert the trigger's list of default parameters from a string into []KeyValue |
| 614 | // The 1 or more --param arguments have all been combined into a single []string |
| 615 | // e.g. --p arg1,arg2 --p arg3,arg4 -> [arg1, arg2, arg3, arg4] |
| 616 | |
| 617 | whisk.Debug(whisk.DbgInfo, "Parsing parameters: %#v\n", Flags.common.param) |
| 618 | parameters, err := getJSONFromStrings(Flags.common.param, true) |
| 619 | |
| 620 | if err != nil { |
| 621 | whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.param, err) |
| 622 | errStr := wski18n.T("Invalid parameter argument '{{.param}}': {{.err}}", |
| 623 | map[string]interface{}{"param": fmt.Sprintf("%#v", Flags.common.param), "err": err}) |
| 624 | werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE) |
| 625 | return werr |
| 626 | } |
| 627 | |
| 628 | whisk.Debug(whisk.DbgInfo, "Parsing annotations: %#v\n", Flags.common.annotation) |
| 629 | annotations, err := getJSONFromStrings(Flags.common.annotation, true) |
| 630 | |
| 631 | if err != nil { |
| 632 | whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.annotation, err) |
| 633 | errStr := wski18n.T("Invalid annotation argument '{{.annotation}}': {{.err}}", |
| 634 | map[string]interface{}{"annotation": fmt.Sprintf("%#v", Flags.common.annotation), "err": err}) |
| 635 | werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE) |
| 636 | return werr |
| 637 | } |
| 638 | |
| 639 | retTrigger, httpResp, err := Client.Triggers.Get(qualifiedName.GetEntityName()) |
| 640 | |
| 641 | if err != nil && httpResp.StatusCode == 404 { |
| 642 | if createErr := t.Create(Client, args); createErr != nil { |
| 643 | return createErr |
| 644 | } |
| 645 | return nil |
| 646 | } else if err != nil { |
| 647 | whisk.Debug(whisk.DbgError, "Client.Triggers.Get(%s) failed: %s\n", qualifiedName.GetEntityName(), err) |
| 648 | errStr := wski18n.T("Unable to get trigger '{{.name}}': {{.err}}", |
| 649 | map[string]interface{}{"name": qualifiedName.GetEntityName(), "err": err}) |
| 650 | werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE) |
| 651 | return werr |
| 652 | } else { |
| 653 | if !userIndicatesToUseOldTriggerCommand() { |
| 654 | return UpdateExtendedVersion(Client, args, retTrigger) |
no test coverage detected