protected DDLRecordSet updateRecordSet(ActionRequest actionRequest) throws Exception { String cmd = ParamUtil.getString(actionRequest, Constants.CMD); long recordSetId = ParamUtil.getLong(actionRequest, "recordSetId"); long groupId = ParamUtil.getLong(actionRequest, "groupId"); long ddmStructureId = ParamUtil.getLong(actionRequest, "ddmStructureId"); Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(actionRequest, "name"); Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(actionRequest, "description"); int scope = ParamUtil.getInteger(actionRequest, "scope"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DDLRecordSet.class.getName(), actionRequest); DDLRecordSet recordSet = null; if (cmd.equals(Constants.ADD)) { recordSet = DDLRecordSetServiceUtil.addRecordSet( groupId, ddmStructureId, null, nameMap, descriptionMap, DDLRecordSetConstants.MIN_DISPLAY_ROWS_DEFAULT, scope, serviceContext); } else { recordSet = DDLRecordSetServiceUtil.updateRecordSet( recordSetId, ddmStructureId, nameMap, descriptionMap, DDLRecordSetConstants.MIN_DISPLAY_ROWS_DEFAULT, serviceContext); } String workflowDefinition = ParamUtil.getString(actionRequest, "workflowDefinition"); WorkflowDefinitionLinkLocalServiceUtil.updateWorkflowDefinitionLink( serviceContext.getUserId(), serviceContext.getCompanyId(), groupId, DDLRecordSet.class.getName(), recordSet.getRecordSetId(), 0, workflowDefinition); String portletResource = ParamUtil.getString(actionRequest, "portletResource"); if (Validator.isNotNull(portletResource)) { PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest, portletResource); preferences.reset("detailDDMTemplateId"); preferences.reset("editable"); preferences.reset("listDDMTemplateId"); preferences.reset("spreadsheet"); preferences.setValue("recordSetId", String.valueOf(recordSet.getRecordSetId())); preferences.store(); } return recordSet; }