@Override public BackgroundTaskResult execute(BackgroundTask backgroundTask) throws PortalException { ExportImportConfiguration exportImportConfiguration = getExportImportConfiguration(backgroundTask); Map<String, Serializable> settingsMap = exportImportConfiguration.getSettingsMap(); long userId = MapUtil.getLong(settingsMap, "userId"); long groupId = MapUtil.getLong(settingsMap, "sourceGroupId"); boolean privateLayout = MapUtil.getBoolean(settingsMap, "privateLayout"); long[] layoutIds = GetterUtil.getLongValues(settingsMap.get("layoutIds")); Map<String, String[]> parameterMap = (Map<String, String[]>) settingsMap.get("parameterMap"); DateRange dateRange = ExportImportDateUtil.getDateRange( exportImportConfiguration, ExportImportDateUtil.RANGE_ALL); StringBundler sb = new StringBundler(4); sb.append( StringUtil.replace( exportImportConfiguration.getName(), StringPool.SPACE, StringPool.UNDERLINE)); sb.append(StringPool.DASH); sb.append(Time.getShortTimestamp()); sb.append(".lar"); File larFile = LayoutLocalServiceUtil.exportLayoutsAsFile( groupId, privateLayout, layoutIds, parameterMap, dateRange.getStartDate(), dateRange.getEndDate()); BackgroundTaskLocalServiceUtil.addBackgroundTaskAttachment( userId, backgroundTask.getBackgroundTaskId(), sb.toString(), larFile); boolean updateLastPublishDate = MapUtil.getBoolean(parameterMap, PortletDataHandlerKeys.UPDATE_LAST_PUBLISH_DATE); if (updateLastPublishDate) { ExportImportDateUtil.updateLastPublishDate( groupId, privateLayout, dateRange, dateRange.getEndDate()); } return BackgroundTaskResult.SUCCESS; }
@Override protected Document doGetDocument(Object obj) throws Exception { ExportImportConfiguration exportImportConfiguration = (ExportImportConfiguration) obj; Document document = getBaseModelDocument(PORTLET_ID, exportImportConfiguration); document.addText(Field.DESCRIPTION, exportImportConfiguration.getDescription()); document.addText(Field.NAME, exportImportConfiguration.getName()); document.addKeyword(Field.TYPE, exportImportConfiguration.getType()); Map<String, Serializable> settingsMap = exportImportConfiguration.getSettingsMap(); populateDates(document, settingsMap); populateLayoutIds(document, settingsMap); populateLocale(document, settingsMap); populateParameterMap(document, settingsMap); populateSiteInformation(document, settingsMap); populateTimeZone(document, settingsMap); document.addKeyword(_PREFIX_SETTING + Field.USER_ID, MapUtil.getLong(settingsMap, "userId")); return document; }
@Test public void testUpdateExisting() throws Exception { long pk = ServiceTestUtil.nextLong(); ExportImportConfiguration newExportImportConfiguration = _persistence.create(pk); newExportImportConfiguration.setMvccVersion(ServiceTestUtil.nextLong()); newExportImportConfiguration.setGroupId(ServiceTestUtil.nextLong()); newExportImportConfiguration.setCompanyId(ServiceTestUtil.nextLong()); newExportImportConfiguration.setUserId(ServiceTestUtil.nextLong()); newExportImportConfiguration.setUserName(ServiceTestUtil.randomString()); newExportImportConfiguration.setCreateDate(ServiceTestUtil.nextDate()); newExportImportConfiguration.setModifiedDate(ServiceTestUtil.nextDate()); newExportImportConfiguration.setName(ServiceTestUtil.randomString()); newExportImportConfiguration.setDescription(ServiceTestUtil.randomString()); newExportImportConfiguration.setType(ServiceTestUtil.nextInt()); newExportImportConfiguration.setSettings(ServiceTestUtil.randomString()); newExportImportConfiguration.setStatus(ServiceTestUtil.nextInt()); newExportImportConfiguration.setStatusByUserId(ServiceTestUtil.nextLong()); newExportImportConfiguration.setStatusByUserName(ServiceTestUtil.randomString()); newExportImportConfiguration.setStatusDate(ServiceTestUtil.nextDate()); _persistence.update(newExportImportConfiguration); ExportImportConfiguration existingExportImportConfiguration = _persistence.findByPrimaryKey(newExportImportConfiguration.getPrimaryKey()); Assert.assertEquals( existingExportImportConfiguration.getMvccVersion(), newExportImportConfiguration.getMvccVersion()); Assert.assertEquals( existingExportImportConfiguration.getExportImportConfigurationId(), newExportImportConfiguration.getExportImportConfigurationId()); Assert.assertEquals( existingExportImportConfiguration.getGroupId(), newExportImportConfiguration.getGroupId()); Assert.assertEquals( existingExportImportConfiguration.getCompanyId(), newExportImportConfiguration.getCompanyId()); Assert.assertEquals( existingExportImportConfiguration.getUserId(), newExportImportConfiguration.getUserId()); Assert.assertEquals( existingExportImportConfiguration.getUserName(), newExportImportConfiguration.getUserName()); Assert.assertEquals( Time.getShortTimestamp(existingExportImportConfiguration.getCreateDate()), Time.getShortTimestamp(newExportImportConfiguration.getCreateDate())); Assert.assertEquals( Time.getShortTimestamp(existingExportImportConfiguration.getModifiedDate()), Time.getShortTimestamp(newExportImportConfiguration.getModifiedDate())); Assert.assertEquals( existingExportImportConfiguration.getName(), newExportImportConfiguration.getName()); Assert.assertEquals( existingExportImportConfiguration.getDescription(), newExportImportConfiguration.getDescription()); Assert.assertEquals( existingExportImportConfiguration.getType(), newExportImportConfiguration.getType()); Assert.assertEquals( existingExportImportConfiguration.getSettings(), newExportImportConfiguration.getSettings()); Assert.assertEquals( existingExportImportConfiguration.getStatus(), newExportImportConfiguration.getStatus()); Assert.assertEquals( existingExportImportConfiguration.getStatusByUserId(), newExportImportConfiguration.getStatusByUserId()); Assert.assertEquals( existingExportImportConfiguration.getStatusByUserName(), newExportImportConfiguration.getStatusByUserName()); Assert.assertEquals( Time.getShortTimestamp(existingExportImportConfiguration.getStatusDate()), Time.getShortTimestamp(newExportImportConfiguration.getStatusDate())); }