Skip to content

Commit c5daef0

Browse files
Trigger parameter issue (apache#479)
* allow trigger feed and trigger parameters
1 parent 9228b60 commit c5daef0

File tree

5 files changed

+379
-36
lines changed

5 files changed

+379
-36
lines changed

commands/commands.go

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,11 @@ func getValueFromArgs(args []string, argIndex int, parsedArgs []string) ([]strin
131131
return parsedArgs, args, whiskErr
132132
}
133133

134-
func parseArgs(args []string) ([]string, []string, []string, error) {
134+
func parseArgs(args []string) ([]string, []string, []string, []string, []string, error) {
135135
var paramArgs []string
136136
var annotArgs []string
137+
var feedParamArgs []string
138+
var triggerParamArgs []string
137139
var whiskErr error
138140

139141
i := 0
@@ -147,14 +149,14 @@ func parseArgs(args []string) ([]string, []string, []string, error) {
147149
map[string]interface{}{"err": whiskErr})
148150
whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
149151
whisk.DISPLAY_USAGE)
150-
return nil, nil, nil, whiskErr
152+
return nil, nil, nil, nil, nil, whiskErr
151153
}
152154

153155
filename := paramArgs[len(paramArgs)-1]
154156
paramArgs[len(paramArgs)-1], whiskErr = ReadFile(filename)
155157
if whiskErr != nil {
156158
whisk.Debug(whisk.DbgError, "readFile(%s) error: %s\n", filename, whiskErr)
157-
return nil, nil, nil, whiskErr
159+
return nil, nil, nil, nil, nil, whiskErr
158160
}
159161
} else if args[i] == "-A" || args[i] == "--annotation-file" {
160162
annotArgs, args, whiskErr = getValueFromArgs(args, i, annotArgs)
@@ -164,14 +166,14 @@ func parseArgs(args []string) ([]string, []string, []string, error) {
164166
map[string]interface{}{"err": whiskErr})
165167
whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
166168
whisk.DISPLAY_USAGE)
167-
return nil, nil, nil, whiskErr
169+
return nil, nil, nil, nil, nil, whiskErr
168170
}
169171

170172
filename := annotArgs[len(annotArgs)-1]
171173
annotArgs[len(annotArgs)-1], whiskErr = ReadFile(filename)
172174
if whiskErr != nil {
173175
whisk.Debug(whisk.DbgError, "readFile(%s) error: %s\n", filename, whiskErr)
174-
return nil, nil, nil, whiskErr
176+
return nil, nil, nil, nil, nil, whiskErr
175177
}
176178
} else if args[i] == "-p" || args[i] == "--param" {
177179
paramArgs, args, whiskErr = getKeyValueArgs(args, i, paramArgs)
@@ -181,7 +183,7 @@ func parseArgs(args []string) ([]string, []string, []string, error) {
181183
map[string]interface{}{"err": whiskErr})
182184
whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
183185
whisk.DISPLAY_USAGE)
184-
return nil, nil, nil, whiskErr
186+
return nil, nil, nil, nil, nil, whiskErr
185187
}
186188
} else if args[i] == "-a" || args[i] == "--annotation" {
187189
annotArgs, args, whiskErr = getKeyValueArgs(args, i, annotArgs)
@@ -191,7 +193,23 @@ func parseArgs(args []string) ([]string, []string, []string, error) {
191193
map[string]interface{}{"err": whiskErr})
192194
whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
193195
whisk.DISPLAY_USAGE)
194-
return nil, nil, nil, whiskErr
196+
return nil, nil, nil, nil, nil, whiskErr
197+
}
198+
} else if args[i] == "-F" || args[i] == "--feed-param" {
199+
feedParamArgs, args, whiskErr = getKeyValueArgs(args, i, feedParamArgs)
200+
if whiskErr != nil {
201+
whisk.Debug(whisk.DbgError, "getKeyValueArgs(%#v, %d) failed: %s\n", args, i, whiskErr)
202+
whiskErr = whisk.MakeWskError(whiskErr, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
203+
whisk.DISPLAY_USAGE)
204+
return nil, nil, nil, nil, nil, whiskErr
205+
}
206+
} else if args[i] == "-T" || args[i] == "--trigger-param" {
207+
triggerParamArgs, args, whiskErr = getKeyValueArgs(args, i, triggerParamArgs)
208+
if whiskErr != nil {
209+
whisk.Debug(whisk.DbgError, "getKeyValueArgs(%#v, %d) failed: %s\n", args, i, whiskErr)
210+
whiskErr = whisk.MakeWskError(whiskErr, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
211+
whisk.DISPLAY_USAGE)
212+
return nil, nil, nil, nil, nil, whiskErr
195213
}
196214
} else {
197215
i++
@@ -200,16 +218,18 @@ func parseArgs(args []string) ([]string, []string, []string, error) {
200218

201219
whisk.Debug(whisk.DbgInfo, "Found param args '%s'.\n", paramArgs)
202220
whisk.Debug(whisk.DbgInfo, "Found annotations args '%s'.\n", annotArgs)
221+
whisk.Debug(whisk.DbgInfo, "Found feed param args '%s'.\n", feedParamArgs)
222+
whisk.Debug(whisk.DbgInfo, "Found trigger param args '%s'.\n", triggerParamArgs)
203223
whisk.Debug(whisk.DbgInfo, "Arguments with param args removed '%s'.\n", args)
204224

205-
return args, paramArgs, annotArgs, nil
225+
return args, paramArgs, annotArgs, feedParamArgs, triggerParamArgs, nil
206226
}
207227

208228
func Execute() error {
209229
var err error
210230

211231
whisk.Debug(whisk.DbgInfo, "wsk args: %#v\n", os.Args)
212-
os.Args, Flags.common.param, Flags.common.annotation, err = parseArgs(os.Args)
232+
os.Args, Flags.common.param, Flags.common.annotation, Flags.trigger.feedParam, Flags.trigger.triggerParam, err = parseArgs(os.Args)
213233

214234
if err != nil {
215235
whisk.Debug(whisk.DbgError, "parseParams(%s) failed: %s\n", os.Args, err)

commands/flags.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ type FlagsStruct struct {
112112

113113
// trigger
114114
trigger struct {
115-
summary bool
115+
summary bool
116+
feedParam []string
117+
triggerParam []string
116118
}
117119

118120
//sdk

0 commit comments

Comments
 (0)