in src/main/java/org/apache/openwhisk/intellij/explorer/dialog/trigger/ui/TriggerManagerDialogForm.java [152:201]
public void updateTrigger() {
try {
/**
* Update default parameters
*/
Optional<String> params = ParameterUtils.validateParams(defaultParameterJTextArea.getText());
if (!params.isPresent()) {
NOTIFIER.notify(project, "The json format of the parameter is incorrect.", NotificationType.ERROR);
return;
}
// parameters
List<Map<String, Object>> validParams = ParameterUtils.mapToListMap(JsonParserUtils.parseMap(params.get()));
// payload
Map<String, Object> payload = new LinkedHashMap<>();
payload.put("name", cachedTrigger.getName());
payload.put("parameters", validParams);
whiskTriggerService.updateWhiskTrigger(auth, cachedTrigger.getName(), payload);
/**
* Update rules
*/
for (LinkedActionsForm linkedActionsForm : cachedRules.values()) {
String ruleName = linkedActionsForm.getRule();
String actionName = linkedActionsForm.getAction();
// payload
Map<String, Object> rulePayload = new LinkedHashMap<>();
rulePayload.put("name", ruleName);
rulePayload.put("trigger", "/_/" + cachedTrigger.getName());
rulePayload.put("action", "/_/" + actionName);
rulePayload.put("status", "");
whiskRuleService.updateWhiskRule(auth, ruleName, rulePayload).ifPresent(rule ->
LOG.info("Updated rule: " + rule.getName()));
}
/**
* Remove rules
*/
for (LinkedActionsForm linkedActionsForm : removedRules.values()) {
whiskRuleService.deleteWhiskRule(auth, linkedActionsForm.getRule()).ifPresent(rule ->
LOG.info("Deleted rule: " + rule.getName()));
}
NOTIFIER.notify(project, cachedTrigger.getName() + " updated", NotificationType.INFORMATION);
EventUtils.publish(project, RefreshActionOrTriggerListener.TOPIC, RefreshActionOrTriggerListener::fetchActionMetadata);
} catch (IOException e) {
String msg = "Failed to update trigger: " + cachedTrigger.getName();
LOG.error(msg, e);
NOTIFIER.notify(project, msg, NotificationType.ERROR);
}
}