protected void importThumbnailFromLAR( PortletDataContext portletDataContext, FileEntry fileEntry, Element fileEntryElement, String binPathName, int index) throws Exception { FileVersion fileVersion = fileEntry.getFileVersion(); String binPath = fileEntryElement.attributeValue(binPathName); try (InputStream is = portletDataContext.getZipEntryAsInputStream( binPath)) { if (is == null) { return; } String thumbnailFilePath = getThumbnailFilePath( fileVersion, getThumbnailType(fileVersion), index); addFileToStore( portletDataContext.getCompanyId(), THUMBNAIL_PATH, thumbnailFilePath, is); } }
portletDataContext.getCompanyId(), PREVIEW_PATH, previewFilePath, is);
portletDataContext.getCompanyId(), PREVIEW_PATH, previewFilePath, is);
protected void importThumbnail( PortletDataContext portletDataContext, FileEntry fileEntry, FileEntry importedFileEntry, Element fileEntryElement, String binPathName, int index) throws Exception { if (!isThumbnailEnabled(index)) { return; } if (!portletDataContext.isPerformDirectBinaryImport()) { importThumbnailFromLAR( portletDataContext, importedFileEntry, fileEntryElement, binPathName, index); } else { FileVersion fileVersion = fileEntry.getFileVersion(); if (!hasThumbnail(fileVersion, index)) { return; } try (InputStream is = doGetThumbnailAsStream(fileVersion, index)) { FileVersion importedFileVersion = importedFileEntry.getFileVersion(); String thumbnailFilePath = getThumbnailFilePath( importedFileVersion, getThumbnailType(importedFileVersion), index); addFileToStore( portletDataContext.getCompanyId(), THUMBNAIL_PATH, thumbnailFilePath, is); } } }
@Override public void deleteStagedModels(PortletDataContext portletDataContext) throws PortalException { Set<Long> formInstanceDDMStructureIds = new HashSet<>(); List<DDMFormInstance> formInstances = _ddmFormInstanceLocalService.search( portletDataContext.getCompanyId(), portletDataContext.getScopeGroupId(), null, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new DDMFormInstanceNameComparator()); for (DDMFormInstance formInstance : formInstances) { formInstanceDDMStructureIds.add(formInstance.getStructureId()); _ddmFormInstanceLocalService.deleteFormInstance(formInstance); } deleteDDMStructures(formInstanceDDMStructureIds); }
@Override public long getModelDeletionCount( final PortletDataContext portletDataContext, final StagedModelType stagedModelType) throws PortalException { ActionableDynamicQuery actionableDynamicQuery = _systemEventLocalService.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( dynamicQuery -> { doAddCriteria( portletDataContext, stagedModelType, dynamicQuery); }); actionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); return actionableDynamicQuery.performCount(); }
protected void populateDeletionStagedModelTypes( PortletDataContext portletDataContext) throws Exception { PortletDataHandler portletDataHandler = _portletDataHandlerProvider.provide( portletDataContext.getCompanyId(), portletDataContext.getPortletId()); if (portletDataHandler == null) { return; } portletDataContext.addDeletionSystemEventStagedModelTypes( portletDataHandler.getDeletionSystemEventStagedModelTypes()); portletDataContext.addDeletionSystemEventStagedModelTypes( new StagedModelType(StagedAssetLink.class)); }
exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());
exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());
@Override public void importServicePortletPreferences( PortletDataContext portletDataContext, Element serviceElement) throws PortalException { long ownerId = GetterUtil.getLong( serviceElement.attributeValue("owner-id")); int ownerType = GetterUtil.getInteger( serviceElement.attributeValue("owner-type")); String serviceName = serviceElement.attributeValue("service-name"); if (ownerType == PortletKeys.PREFS_OWNER_TYPE_GROUP) { ownerId = portletDataContext.getGroupId(); } else if (ownerType == PortletKeys.PREFS_OWNER_TYPE_COMPANY) { ownerId = portletDataContext.getCompanyId(); } PortletPreferences portletPreferences = getPortletPreferences( portletDataContext.getCompanyId(), ownerId, ownerType, LayoutConstants.DEFAULT_PLID, serviceName); for (Attribute attribute : serviceElement.attributes()) { serviceElement.remove(attribute); } String xml = serviceElement.asXML(); portletPreferences.setPreferences(xml); _portletPreferencesLocalService.updatePortletPreferences( portletPreferences); }
protected void doExportDeletionSystemEvents( final PortletDataContext portletDataContext, final Element rootElement, final Set<StagedModelType> deletionSystemEventStagedModelTypes) throws PortalException { ActionableDynamicQuery actionableDynamicQuery = SystemEventLocalServiceUtil.getActionableDynamicQuery(); actionableDynamicQuery.setAddCriteriaMethod( dynamicQuery -> { doAddCriteria( portletDataContext, deletionSystemEventStagedModelTypes, dynamicQuery); }); actionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); actionableDynamicQuery.setPerformActionMethod( (SystemEvent systemEvent) -> { exportDeletionSystemEvent( portletDataContext, systemEvent, rootElement); }); actionableDynamicQuery.performActions(); }
portletDataContext.getCompanyId(), StringPool.SLASH + oldGroupFriendlyURL);
protected void populateDeletionStagedModelTypes( PortletDataContext portletDataContext) throws Exception { List<Element> portletElements = fetchPortletElements( portletDataContext.getImportDataRootElement()); for (Element portletElement : portletElements) { String portletId = portletElement.attributeValue("portlet-id"); Portlet portlet = _portletLocalService.getPortletById( portletDataContext.getCompanyId(), portletId); if ((portlet == null) || !portlet.isActive() || portlet.isUndeployedPortlet()) { continue; } PortletDataHandler portletDataHandler = _portletDataHandlerProvider.provide( portletDataContext.getCompanyId(), portletId); if (portletDataHandler == null) { continue; } portletDataContext.addDeletionSystemEventStagedModelTypes( portletDataHandler.getDeletionSystemEventStagedModelTypes()); } portletDataContext.addDeletionSystemEventStagedModelTypes( new StagedModelType(Layout.class)); portletDataContext.addDeletionSystemEventStagedModelTypes( new StagedModelType(StagedAssetLink.class)); }
@Override public void exportService( PortletDataContext portletDataContext, Element rootElement, boolean exportServiceSetup) throws Exception { if (!exportServiceSetup) { return; } PortletDataHandler portletDataHandler = _portletDataHandlerProvider.provide( portletDataContext.getPortletId()); if (portletDataHandler == null) { return; } String serviceName = portletDataHandler.getServiceName(); if (Validator.isNotNull(serviceName)) { // Company service exportServicePortletPreferences( portletDataContext, portletDataContext.getCompanyId(), PortletKeys.PREFS_OWNER_TYPE_COMPANY, serviceName, rootElement); // Group service exportServicePortletPreferences( portletDataContext, portletDataContext.getScopeGroupId(), PortletKeys.PREFS_OWNER_TYPE_GROUP, serviceName, rootElement); } }
@Override public String replaceImportContentReferences( PortletDataContext portletDataContext, StagedModel stagedModel, String content) throws Exception { JournalFeed feed = (JournalFeed)stagedModel; Group group = _groupLocalService.getGroup( portletDataContext.getScopeGroupId()); String newGroupFriendlyURL = group.getFriendlyURL(); newGroupFriendlyURL = newGroupFriendlyURL.substring(1); String newTargetLayoutFriendlyURL = StringUtil.replace( feed.getTargetLayoutFriendlyUrl(), _DATA_HANDLER_GROUP_FRIENDLY_URL, newGroupFriendlyURL); long plid = _portal.getPlidFromFriendlyURL( portletDataContext.getCompanyId(), newTargetLayoutFriendlyURL); if (plid <= 0) { Group oldGroup = _groupLocalService.fetchGroup( portletDataContext.getSourceGroupId()); if (oldGroup == null) { return content; } String oldGroupFriendlyURL = oldGroup.getFriendlyURL(); oldGroupFriendlyURL = oldGroupFriendlyURL.substring(1); newTargetLayoutFriendlyURL = StringUtil.replace( feed.getTargetLayoutFriendlyUrl(), _DATA_HANDLER_GROUP_FRIENDLY_URL, oldGroupFriendlyURL); } feed.setTargetLayoutFriendlyUrl(newTargetLayoutFriendlyURL); return content; }
@Override public void deletePortletData(PortletDataContext portletDataContext) throws Exception { long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT; int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT; javax.portlet.PortletPreferences portletPreferences = _portletPreferencesLocalService.fetchPreferences( portletDataContext.getCompanyId(), ownerId, ownerType, portletDataContext.getPlid(), portletDataContext.getPortletId()); if (portletPreferences == null) { portletPreferences = new PortletPreferencesImpl(); } String xml = deletePortletData(portletDataContext, portletPreferences); if (xml != null) { _portletPreferencesLocalService.updatePreferences( ownerId, ownerType, portletDataContext.getPlid(), portletDataContext.getPortletId(), xml); } }
exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());
exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());
@Override public void importPortletData( PortletDataContext portletDataContext, Element portletDataElement) throws Exception { long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT; int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT; javax.portlet.PortletPreferences portletPreferences = _portletPreferencesLocalService.fetchPreferences( portletDataContext.getCompanyId(), ownerId, ownerType, portletDataContext.getPlid(), portletDataContext.getPortletId()); if (portletPreferences == null) { portletPreferences = new PortletPreferencesImpl(); } String xml = importPortletData( portletDataContext, portletPreferences, portletDataElement); if (Validator.isNotNull(xml)) { _portletPreferencesLocalService.updatePreferences( ownerId, ownerType, portletDataContext.getPlid(), portletDataContext.getPortletId(), xml); } }
portletDataContext.getCompanyId(), resourceName, resourcePrimKey, actionIds);