@Override protected void doImportStagedModel(PortletDataContext portletDataContext, MDRAction action) throws Exception { Map<Long, Long> ruleGroupInstanceIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MDRRuleGroupInstance.class); long ruleGroupInstanceId = MapUtil.getLong( ruleGroupInstanceIds, action.getRuleGroupInstanceId(), action.getRuleGroupInstanceId()); ServiceContext serviceContext = portletDataContext.createServiceContext(action); serviceContext.setUserId(portletDataContext.getUserId(action.getUserUuid())); Element element = portletDataContext.getImportDataStagedModelElement(action); validateLayout(element, action); MDRAction importedAction = null; if (portletDataContext.isDataStrategyMirror()) { MDRAction existingAction = fetchStagedModelByUuidAndGroupId(action.getUuid(), portletDataContext.getScopeGroupId()); if (existingAction == null) { serviceContext.setUuid(action.getUuid()); importedAction = _mdrActionLocalService.addAction( ruleGroupInstanceId, action.getNameMap(), action.getDescriptionMap(), action.getType(), action.getTypeSettingsProperties(), serviceContext); } else { importedAction = _mdrActionLocalService.updateAction( existingAction.getActionId(), action.getNameMap(), action.getDescriptionMap(), action.getType(), action.getTypeSettingsProperties(), serviceContext); } } else { importedAction = _mdrActionLocalService.addAction( ruleGroupInstanceId, action.getNameMap(), action.getDescriptionMap(), action.getType(), action.getTypeSettingsProperties(), serviceContext); } portletDataContext.importClassedModel(action, importedAction); }
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, Gadget gadget) throws Exception { ServiceContext serviceContext = portletDataContext.createServiceContext(gadget); Gadget importedGadget = null; if (portletDataContext.isDataStrategyMirror()) { Gadget existingGadget = GadgetLocalServiceUtil.fetchGadgetByUuidAndCompanyId( gadget.getUuid(), portletDataContext.getCompanyId()); if (existingGadget == null) { serviceContext.setUuid(gadget.getUuid()); importedGadget = GadgetLocalServiceUtil.addGadget( portletDataContext.getCompanyId(), gadget.getUrl(), gadget.getPortletCategoryNames(), serviceContext); } else { existingGadget.setName(gadget.getName()); existingGadget.setUrl(gadget.getUrl()); existingGadget.setPortletCategoryNames(gadget.getPortletCategoryNames()); importedGadget = GadgetLocalServiceUtil.updateGadget(existingGadget); } } else { importedGadget = GadgetLocalServiceUtil.addGadget( portletDataContext.getCompanyId(), gadget.getUrl(), gadget.getPortletCategoryNames(), serviceContext); } portletDataContext.importClassedModel(gadget, importedGadget); }
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, KBTemplate kbTemplate) throws Exception { long userId = portletDataContext.getUserId(kbTemplate.getUserUuid()); ServiceContext serviceContext = portletDataContext.createServiceContext(kbTemplate); KBTemplate importedKBTemplate = null; if (portletDataContext.isDataStrategyMirror()) { KBTemplate existingKBTemplate = fetchStagedModelByUuidAndGroupId( kbTemplate.getUuid(), portletDataContext.getScopeGroupId()); if (existingKBTemplate == null) { serviceContext.setUuid(kbTemplate.getUuid()); importedKBTemplate = KBTemplateLocalServiceUtil.addKBTemplate( userId, kbTemplate.getTitle(), kbTemplate.getContent(), serviceContext); } else { importedKBTemplate = KBTemplateLocalServiceUtil.updateKBTemplate( existingKBTemplate.getKbTemplateId(), kbTemplate.getTitle(), kbTemplate.getContent(), serviceContext); } } else { importedKBTemplate = KBTemplateLocalServiceUtil.addKBTemplate( userId, kbTemplate.getTitle(), kbTemplate.getContent(), serviceContext); } portletDataContext.importClassedModel(kbTemplate, importedKBTemplate); }
@Override protected void doImportStagedModel( PortletDataContext portletDataContext, LayoutSetPrototype layoutSetPrototype) throws Exception { long userId = portletDataContext.getUserId(layoutSetPrototype.getUserUuid()); UnicodeProperties settingsProperties = layoutSetPrototype.getSettingsProperties(); boolean layoutsUpdateable = GetterUtil.getBoolean(settingsProperties.getProperty("layoutsUpdateable"), true); ServiceContext serviceContext = portletDataContext.createServiceContext(layoutSetPrototype); serviceContext.setAttribute("addDefaultLayout", Boolean.FALSE); LayoutSetPrototype importedLayoutSetPrototype = null; if (portletDataContext.isDataStrategyMirror()) { LayoutSetPrototype existingLayoutSetPrototype = _layoutSetPrototypeLocalService.fetchLayoutSetPrototypeByUuidAndCompanyId( layoutSetPrototype.getUuid(), portletDataContext.getCompanyId()); if (existingLayoutSetPrototype == null) { serviceContext.setUuid(layoutSetPrototype.getUuid()); importedLayoutSetPrototype = _layoutSetPrototypeLocalService.addLayoutSetPrototype( userId, portletDataContext.getCompanyId(), layoutSetPrototype.getNameMap(), layoutSetPrototype.getDescriptionMap(), layoutSetPrototype.isActive(), layoutsUpdateable, serviceContext); } else { importedLayoutSetPrototype = _layoutSetPrototypeLocalService.updateLayoutSetPrototype( existingLayoutSetPrototype.getLayoutSetPrototypeId(), layoutSetPrototype.getNameMap(), layoutSetPrototype.getDescriptionMap(), layoutSetPrototype.isActive(), layoutsUpdateable, serviceContext); } } else { importedLayoutSetPrototype = _layoutSetPrototypeLocalService.addLayoutSetPrototype( userId, portletDataContext.getCompanyId(), layoutSetPrototype.getNameMap(), layoutSetPrototype.getDescriptionMap(), layoutSetPrototype.isActive(), layoutsUpdateable, serviceContext); } importLayoutPrototypes(portletDataContext, layoutSetPrototype); importLayouts( portletDataContext, layoutSetPrototype, importedLayoutSetPrototype, serviceContext); portletDataContext.importClassedModel(layoutSetPrototype, importedLayoutSetPrototype); }
@Override protected void doImportStagedModel( PortletDataContext portletDataContext, MDRRuleGroupInstance ruleGroupInstance) throws Exception { long userId = portletDataContext.getUserId(ruleGroupInstance.getUserUuid()); Map<Long, Long> ruleGroupIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(MDRRuleGroup.class); Long ruleGroupId = MapUtil.getLong( ruleGroupIds, ruleGroupInstance.getRuleGroupId(), ruleGroupInstance.getRuleGroupId()); long classPK = 0; Element ruleGroupInstanceElement = portletDataContext.getImportDataStagedModelElement(ruleGroupInstance); String layoutUuid = ruleGroupInstanceElement.attributeValue("layout-uuid"); try { if (Validator.isNotNull(layoutUuid)) { Layout layout = _layoutLocalService.getLayoutByUuidAndGroupId( layoutUuid, portletDataContext.getScopeGroupId(), portletDataContext.isPrivateLayout()); classPK = layout.getPrimaryKey(); } else { LayoutSet layoutSet = _layoutSetLocalService.getLayoutSet( portletDataContext.getScopeGroupId(), portletDataContext.isPrivateLayout()); classPK = layoutSet.getLayoutSetId(); } } catch (Exception e) { if (_log.isWarnEnabled()) { StringBundler sb = new StringBundler(5); sb.append("Layout "); sb.append(layoutUuid); sb.append(" is missing for rule group instance "); sb.append(ruleGroupInstance.getRuleGroupInstanceId()); sb.append(", skipping this rule group instance."); _log.warn(sb.toString()); } return; } ServiceContext serviceContext = portletDataContext.createServiceContext(ruleGroupInstance); serviceContext.setUserId(userId); MDRRuleGroupInstance importedRuleGroupInstance = null; if (portletDataContext.isDataStrategyMirror()) { MDRRuleGroupInstance existingMDRRuleGroupInstance = fetchStagedModelByUuidAndGroupId( ruleGroupInstance.getUuid(), portletDataContext.getScopeGroupId()); if (existingMDRRuleGroupInstance == null) { serviceContext.setUuid(ruleGroupInstance.getUuid()); importedRuleGroupInstance = _mdrRuleGroupInstanceLocalService.addRuleGroupInstance( portletDataContext.getScopeGroupId(), ruleGroupInstance.getClassName(), classPK, ruleGroupId, ruleGroupInstance.getPriority(), serviceContext); } else { importedRuleGroupInstance = _mdrRuleGroupInstanceLocalService.updateRuleGroupInstance( existingMDRRuleGroupInstance.getRuleGroupInstanceId(), ruleGroupInstance.getPriority()); } } else { importedRuleGroupInstance = _mdrRuleGroupInstanceLocalService.addRuleGroupInstance( portletDataContext.getScopeGroupId(), ruleGroupInstance.getClassName(), classPK, ruleGroupId, ruleGroupInstance.getPriority(), serviceContext); } portletDataContext.importClassedModel(ruleGroupInstance, importedRuleGroupInstance); }
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, Calendar calendar) throws Exception { long userId = portletDataContext.getUserId(calendar.getUserUuid()); Map<Long, Long> calendarResourceIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(CalendarResource.class); long calendarResourceId = MapUtil.getLong( calendarResourceIds, calendar.getCalendarResourceId(), calendar.getCalendarResourceId()); Map<Locale, String> calendarNameMap = getCalendarNameMap(portletDataContext, calendar); ServiceContext serviceContext = portletDataContext.createServiceContext(calendar); Calendar importedCalendar = null; if (portletDataContext.isDataStrategyMirror()) { Calendar existingCalendar = fetchStagedModelByUuidAndGroupId( calendar.getUuid(), portletDataContext.getScopeGroupId()); if (existingCalendar == null) { serviceContext.setUuid(calendar.getUuid()); importedCalendar = _calendarLocalService.addCalendar( userId, portletDataContext.getScopeGroupId(), calendarResourceId, calendarNameMap, calendar.getDescriptionMap(), calendar.getTimeZoneId(), calendar.getColor(), calendar.isDefaultCalendar(), calendar.isEnableComments(), calendar.isEnableRatings(), serviceContext); } else { importedCalendar = _calendarLocalService.updateCalendar( existingCalendar.getCalendarId(), calendar.getNameMap(), calendar.getDescriptionMap(), calendar.getTimeZoneId(), calendar.getColor(), calendar.isDefaultCalendar(), calendar.isEnableComments(), calendar.isEnableRatings(), serviceContext); } } else { importedCalendar = _calendarLocalService.addCalendar( userId, portletDataContext.getScopeGroupId(), calendarResourceId, calendarNameMap, calendar.getDescriptionMap(), calendar.getTimeZoneId(), calendar.getColor(), calendar.isDefaultCalendar(), calendar.isEnableComments(), calendar.isEnableRatings(), serviceContext); } portletDataContext.importClassedModel(calendar, importedCalendar); }