protected void doImportStagedModel( PortletDataContext portletDataContext, CalendarResource calendarResource) throws Exception { prepareLanguagesForImport(calendarResource); long userId = portletDataContext.getUserId(calendarResource.getUserUuid()); StagedModelDataHandlerUtil.importReferenceStagedModels( portletDataContext, calendarResource, Calendar.class); long classPK = getClassPK(portletDataContext, calendarResource, userId); Map<Locale, String> calendarResourceNameMap = getCalendarResourceNameMap(portletDataContext, calendarResource); ServiceContext serviceContext = portletDataContext.createServiceContext(calendarResource); CalendarResource importedCalendarResource = null; if (portletDataContext.isDataStrategyMirror()) { CalendarResource existingCalendarResource = CalendarResourceLocalServiceUtil.fetchCalendarResourceByUuidAndGroupId( calendarResource.getUuid(), portletDataContext.getScopeGroupId()); if (existingCalendarResource == null) { existingCalendarResource = CalendarResourceLocalServiceUtil.fetchCalendarResource( calendarResource.getClassNameId(), classPK); } if (existingCalendarResource == null) { serviceContext.setUuid(calendarResource.getUuid()); importedCalendarResource = CalendarResourceLocalServiceUtil.addCalendarResource( userId, portletDataContext.getScopeGroupId(), calendarResource.getClassNameId(), classPK, calendarResource.getClassUuid(), calendarResource.getCode(), calendarResourceNameMap, calendarResource.getDescriptionMap(), calendarResource.isActive(), serviceContext); } else { importedCalendarResource = CalendarResourceLocalServiceUtil.updateCalendarResource( existingCalendarResource.getCalendarResourceId(), calendarResource.getNameMap(), calendarResource.getDescriptionMap(), calendarResource.isActive(), serviceContext); } } else { importedCalendarResource = CalendarResourceLocalServiceUtil.addCalendarResource( userId, portletDataContext.getScopeGroupId(), calendarResource.getClassNameId(), classPK, calendarResource.getClassUuid(), calendarResource.getCode(), calendarResourceNameMap, calendarResource.getDescriptionMap(), calendarResource.isActive(), serviceContext); } updateCalendars(portletDataContext, calendarResource, importedCalendarResource); portletDataContext.importClassedModel(calendarResource, importedCalendarResource); }