protected void updateAction(ActionRequest actionRequest) throws Exception { long actionId = ParamUtil.getLong(actionRequest, "actionId"); long ruleGroupInstanceId = ParamUtil.getLong(actionRequest, "ruleGroupInstanceId"); Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(actionRequest, "name"); Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(actionRequest, "description"); String type = ParamUtil.getString(actionRequest, "type"); ActionHandler actionHandler = ActionHandlerManagerUtil.getActionHandler(type); if (actionHandler == null) { throw new ActionTypeException(); } UnicodeProperties typeSettingsProperties = getTypeSettingsProperties(actionRequest, actionHandler.getPropertyNames()); ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); if (actionId <= 0) { MDRActionServiceUtil.addAction( ruleGroupInstanceId, nameMap, descriptionMap, type, typeSettingsProperties, serviceContext); } else { MDRActionServiceUtil.updateAction( actionId, nameMap, descriptionMap, type, typeSettingsProperties, serviceContext); } }