List of usage examples for com.liferay.portal.kernel.xml Element attributeValue
public String attributeValue(String name);
From source file:com.liferay.portlet.bookmarks.lar.BookmarksPortletDataHandlerImpl.java
License:Open Source License
@Override protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences, String data) throws Exception { portletDataContext.importPermissions("com.liferay.portlet.bookmarks", portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.read(data); Element rootElement = document.getRootElement(); Element foldersElement = rootElement.element("folders"); for (Element folderElement : foldersElement.elements("folder")) { String path = folderElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; }/* ww w . ja v a2s . co m*/ BookmarksFolder folder = (BookmarksFolder) portletDataContext.getZipEntryAsObject(path); importFolder(portletDataContext, path, folder); } Element entriesElement = rootElement.element("entries"); for (Element entryElement : entriesElement.elements("entry")) { String path = entryElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; } BookmarksEntry entry = (BookmarksEntry) portletDataContext.getZipEntryAsObject(path); importEntry(portletDataContext, entryElement, entry); } return null; }
From source file:com.liferay.portlet.calendar.lar.CalendarPortletDataHandlerImpl.java
License:Open Source License
@Override protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences, String data) throws Exception { portletDataContext.importPermissions("com.liferay.portlet.calendar", portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.read(data); Element rootElement = document.getRootElement(); for (Element eventElement : rootElement.elements("event")) { String path = eventElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; }//from w w w .j ava 2 s .c o m CalEvent event = (CalEvent) portletDataContext.getZipEntryAsObject(path); importEvent(portletDataContext, eventElement, event); } return null; }
From source file:com.liferay.portlet.documentlibrary.lar.DLDisplayPortletDataHandlerImpl.java
License:Open Source License
@Override protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences, String data) throws Exception { portletDataContext.importPermissions("com.liferay.portlet.documentlibrary", portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.read(data); Element rootElement = document.getRootElement(); Element fileEntryTypesElement = rootElement.element("file-entry-types"); List<Element> fileEntryTypeElements = fileEntryTypesElement.elements("file-entry-type"); for (Element fileEntryTypeElement : fileEntryTypeElements) { DLPortletDataHandlerImpl.importFileEntryType(portletDataContext, fileEntryTypeElement); }/* w w w . j a v a 2 s . c om*/ Element foldersElement = rootElement.element("folders"); List<Element> folderElements = foldersElement.elements("folder"); for (Element folderElement : folderElements) { DLPortletDataHandlerImpl.importFolder(portletDataContext, folderElement); } Element fileEntriesElement = rootElement.element("file-entries"); List<Element> fileEntryElements = fileEntriesElement.elements("file-entry"); for (Element fileEntryElement : fileEntryElements) { DLPortletDataHandlerImpl.importFileEntry(portletDataContext, fileEntryElement); } if (portletDataContext.getBooleanParameter(_NAMESPACE, "shortcuts")) { List<Element> fileShortcutElements = rootElement.element("file-shortcuts").elements("file-shortcut"); for (Element fileShortcutElement : fileShortcutElements) { DLPortletDataHandlerImpl.importFileShortcut(portletDataContext, fileShortcutElement); } } if (portletDataContext.getBooleanParameter(_NAMESPACE, "ranks")) { Element fileRanksElement = rootElement.element("file-ranks"); List<Element> fileRankElements = fileRanksElement.elements("file-rank"); for (Element fileRankElement : fileRankElements) { DLPortletDataHandlerImpl.importFileRank(portletDataContext, fileRankElement); } } long rootFolderId = GetterUtil.getLong(rootElement.attributeValue("root-folder-id")); if (rootFolderId > 0) { Map<Long, Long> folderPKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class); rootFolderId = MapUtil.getLong(folderPKs, rootFolderId, rootFolderId); portletPreferences.setValue("rootFolderId", String.valueOf(rootFolderId)); } return portletPreferences; }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importFileEntry(PortletDataContext portletDataContext, Element fileEntryElement) throws Exception { String path = fileEntryElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;/* w w w . j a v a2 s .com*/ } boolean dlProcessorEnabled = DLProcessorThreadLocal.isEnabled(); try { DLProcessorThreadLocal.setEnabled(false); importFileEntry(portletDataContext, fileEntryElement, path); } finally { DLProcessorThreadLocal.setEnabled(dlProcessorEnabled); } }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importFileEntry(PortletDataContext portletDataContext, Element fileEntryElement, String path) throws Exception { FileEntry fileEntry = (FileEntry) portletDataContext.getZipEntryAsObject(path); long userId = portletDataContext.getUserId(fileEntry.getUserUuid()); Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DLFolder.class); long folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId()); long[] assetCategoryIds = null; String[] assetTagNames = null; if (portletDataContext.getBooleanParameter(_NAMESPACE, "categories")) { assetCategoryIds = portletDataContext.getAssetCategoryIds(DLFileEntry.class, fileEntry.getFileEntryId()); }/*from w ww . j ava 2 s. c o m*/ if (portletDataContext.getBooleanParameter(_NAMESPACE, "tags")) { assetTagNames = portletDataContext.getAssetTagNames(DLFileEntry.class, fileEntry.getFileEntryId()); } ServiceContext serviceContext = portletDataContext.createServiceContext(fileEntryElement, fileEntry, _NAMESPACE); serviceContext.setAttribute("sourceFileName", "A." + fileEntry.getExtension()); serviceContext.setUserId(userId); String binPath = fileEntryElement.attributeValue("bin-path"); InputStream is = null; if (Validator.isNull(binPath) && portletDataContext.isPerformDirectBinaryImport()) { try { is = FileEntryUtil.getContentStream(fileEntry); } catch (NoSuchFileException nsfe) { } } else { is = portletDataContext.getZipEntryAsInputStream(binPath); } if (is == null) { if (_log.isWarnEnabled()) { _log.warn("No file found for file entry " + fileEntry.getFileEntryId()); } return; } if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId == fileEntry.getFolderId())) { String folderPath = getImportFolderPath(portletDataContext, folderId); Folder folder = (Folder) portletDataContext.getZipEntryAsObject(folderPath); Document document = fileEntryElement.getDocument(); Element rootElement = document.getRootElement(); Element folderElement = (Element) rootElement .selectSingleNode("//folder[@path='".concat(folderPath).concat("']")); importFolder(portletDataContext, folderPath, folderElement, folder); folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId()); } importMetaData(portletDataContext, fileEntryElement, serviceContext); FileEntry importedFileEntry = null; String titleWithExtension = DLUtil.getTitleWithExtension(fileEntry); String extension = fileEntry.getExtension(); String dotExtension = StringPool.PERIOD + extension; if (portletDataContext.isDataStrategyMirror()) { FileEntry existingFileEntry = FileEntryUtil.fetchByUUID_R(fileEntry.getUuid(), portletDataContext.getScopeGroupId()); FileVersion fileVersion = fileEntry.getFileVersion(); if (existingFileEntry == null) { String fileEntryTitle = fileEntry.getTitle(); FileEntry existingTitleFileEntry = FileEntryUtil.fetchByR_F_T(portletDataContext.getScopeGroupId(), folderId, fileEntryTitle); if (existingTitleFileEntry != null) { if ((fileEntry.getGroupId() == portletDataContext.getSourceGroupId()) && portletDataContext.isDataStrategyMirrorWithOverwriting()) { DLAppLocalServiceUtil.deleteFileEntry(existingTitleFileEntry.getFileEntryId()); } else { boolean titleHasExtension = false; if (fileEntryTitle.endsWith(dotExtension)) { fileEntryTitle = FileUtil.stripExtension(fileEntryTitle); titleHasExtension = true; } for (int i = 1;; i++) { fileEntryTitle += StringPool.SPACE + i; titleWithExtension = fileEntryTitle + dotExtension; existingTitleFileEntry = FileEntryUtil.fetchByR_F_T( portletDataContext.getScopeGroupId(), folderId, titleWithExtension); if (existingTitleFileEntry == null) { if (titleHasExtension) { fileEntryTitle += dotExtension; } break; } } } } serviceContext.setAttribute("fileVersionUuid", fileVersion.getUuid()); serviceContext.setUuid(fileEntry.getUuid()); // LPS-37869 if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) { titleWithExtension = normalizeFileName(titleWithExtension); fileEntryTitle = normalizeFileName(fileEntryTitle); } importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(), folderId, titleWithExtension, fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); } else { FileVersion latestExistingFileVersion = existingFileEntry.getLatestFileVersion(); boolean indexEnabled = serviceContext.isIndexingEnabled(); try { serviceContext.setIndexingEnabled(false); if (!fileVersion.getUuid().equals(latestExistingFileVersion.getUuid())) { DLFileVersion alreadyExistingFileVersion = DLFileVersionLocalServiceUtil .getFileVersionByUuidAndGroupId(fileVersion.getUuid(), existingFileEntry.getGroupId()); if (alreadyExistingFileVersion != null) { serviceContext.setAttribute("existingDLFileVersionId", alreadyExistingFileVersion.getFileVersionId()); } serviceContext.setUuid(fileVersion.getUuid()); String fileEntryTitle = fileEntry.getTitle(); // LPS-37869 if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) { fileEntryTitle = normalizeFileName(fileEntryTitle); } importedFileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, existingFileEntry.getFileEntryId(), fileEntryTitle, fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, false, is, fileEntry.getSize(), serviceContext); /* importedFileEntry = DLAppLocalServiceUtil.updateFileEntry( userId, existingFileEntry.getFileEntryId(), fileEntry.getTitle(), fileEntry.getMimeType(), fileEntry.getTitle(), fileEntry.getDescription(), null, false, is, fileEntry.getSize(), serviceContext); */ } else { DLAppLocalServiceUtil.updateAsset(userId, existingFileEntry, latestExistingFileVersion, assetCategoryIds, assetTagNames, null); importedFileEntry = existingFileEntry; } if (importedFileEntry.getFolderId() != folderId) { importedFileEntry = DLAppLocalServiceUtil.moveFileEntry(userId, importedFileEntry.getFileEntryId(), folderId, serviceContext); } if (importedFileEntry instanceof LiferayFileEntry) { LiferayFileEntry liferayFileEntry = (LiferayFileEntry) importedFileEntry; Indexer indexer = IndexerRegistryUtil.getIndexer(DLFileEntry.class); indexer.reindex(liferayFileEntry.getModel()); } } finally { serviceContext.setIndexingEnabled(indexEnabled); } } } else { try { String fileEntryTitle = fileEntry.getTitle(); // LPS-37869 if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) { titleWithExtension = normalizeFileName(titleWithExtension); fileEntryTitle = normalizeFileName(fileEntryTitle); } importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(), folderId, titleWithExtension, fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); /* importedFileEntry = DLAppLocalServiceUtil.addFileEntry( userId, portletDataContext.getScopeGroupId(), folderId, titleWithExtension, fileEntry.getMimeType(), fileEntry.getTitle(), fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); */ } catch (DuplicateFileException dfe) { String title = fileEntry.getTitle(); // LPS-37869 if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) { title = normalizeFileName(title); } String[] titleParts = title.split("\\.", 2); title = titleParts[0] + PwdGenerator.getPassword(); if (titleParts.length > 1) { title += StringPool.PERIOD + titleParts[1]; } if (!title.endsWith(dotExtension)) { title += dotExtension; } importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(), folderId, title, fileEntry.getMimeType(), title, fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); } } if (portletDataContext.getBooleanParameter(_NAMESPACE, "previews-and-thumbnails")) { DLProcessorRegistryUtil.importGeneratedFiles(portletDataContext, fileEntry, importedFileEntry, fileEntryElement); } Map<String, String> fileEntryTitles = (Map<String, String>) portletDataContext .getNewPrimaryKeysMap(DLFileEntry.class.getName() + ".title"); fileEntryTitles.put(fileEntry.getTitle(), importedFileEntry.getTitle()); portletDataContext.importClassedModel(fileEntry, importedFileEntry, _NAMESPACE); }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importFileRank(PortletDataContext portletDataContext, Element fileRankElement) throws Exception { String path = fileRankElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;//from ww w . ja va 2 s .c o m } DLFileRank fileRank = (DLFileRank) portletDataContext.getZipEntryAsObject(path); String fileEntryUuid = fileRankElement.attributeValue("file-entry-uuid"); importFileRank(portletDataContext, fileRank, fileEntryUuid); }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importFolder(PortletDataContext portletDataContext, Element folderElement) throws Exception { String path = folderElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;// w ww . j a v a 2 s . c o m } Folder folder = (Folder) portletDataContext.getZipEntryAsObject(path); importFolder(portletDataContext, path, folderElement, folder); }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importRepository(PortletDataContext portletDataContext, Element repositoryElement) throws Exception { String path = repositoryElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;//w w w. j a v a 2s. c o m } Repository repository = (Repository) portletDataContext.getZipEntryAsObject(path); long userId = portletDataContext.getUserId(repository.getUserUuid()); long classNameId = PortalUtil.getClassNameId(repositoryElement.attributeValue("class-name")); ServiceContext serviceContext = portletDataContext.createServiceContext(repositoryElement, repository, _NAMESPACE); long importedRepositoryId = 0; try { if (portletDataContext.isDataStrategyMirror()) { Repository existingRepository = RepositoryUtil.fetchByUUID_G(repository.getUuid(), portletDataContext.getScopeGroupId()); if (existingRepository == null) { serviceContext.setUuid(repository.getUuid()); importedRepositoryId = RepositoryLocalServiceUtil.addRepository(userId, portletDataContext.getScopeGroupId(), classNameId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(), repository.getDescription(), repository.getPortletId(), repository.getTypeSettingsProperties(), serviceContext); } else { RepositoryLocalServiceUtil.updateRepository(existingRepository.getRepositoryId(), repository.getName(), repository.getDescription()); importedRepositoryId = existingRepository.getRepositoryId(); } } else { importedRepositoryId = RepositoryLocalServiceUtil.addRepository(userId, portletDataContext.getScopeGroupId(), classNameId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(), repository.getDescription(), repository.getPortletId(), repository.getTypeSettingsProperties(), serviceContext); } } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to connect to repository {name=" + repository.getName() + ", typeSettings=" + repository.getTypeSettingsProperties() + "}", e); } } Repository importedRepository = RepositoryLocalServiceUtil.getRepository(importedRepositoryId); portletDataContext.importClassedModel(repository, importedRepository, _NAMESPACE); }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
public static void importRepositoryEntry(PortletDataContext portletDataContext, Element repositoryEntryElement) throws Exception { String path = repositoryEntryElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;/*from ww w.ja v a2 s . c o m*/ } RepositoryEntry repositoryEntry = (RepositoryEntry) portletDataContext.getZipEntryAsObject(path); Map<Long, Long> repositoryIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Repository.class); long repositoryId = MapUtil.getLong(repositoryIds, repositoryEntry.getRepositoryId(), repositoryEntry.getRepositoryId()); ServiceContext serviceContext = portletDataContext.createServiceContext(repositoryEntryElement, repositoryEntry, _NAMESPACE); RepositoryEntry importedRepositoryEntry = null; if (portletDataContext.isDataStrategyMirror()) { RepositoryEntry existingRepositoryEntry = RepositoryEntryUtil.fetchByUUID_G(repositoryEntry.getUuid(), portletDataContext.getScopeGroupId()); if (existingRepositoryEntry == null) { serviceContext.setUuid(repositoryEntry.getUuid()); importedRepositoryEntry = RepositoryEntryLocalServiceUtil.addRepositoryEntry( portletDataContext.getScopeGroupId(), repositoryId, repositoryEntry.getMappedId(), serviceContext); } else { importedRepositoryEntry = RepositoryEntryLocalServiceUtil.updateRepositoryEntry( existingRepositoryEntry.getRepositoryEntryId(), repositoryEntry.getMappedId()); } } else { importedRepositoryEntry = RepositoryEntryLocalServiceUtil.addRepositoryEntry( portletDataContext.getScopeGroupId(), repositoryId, repositoryEntry.getMappedId(), serviceContext); } portletDataContext.importClassedModel(repositoryEntry, importedRepositoryEntry, _NAMESPACE); }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
protected static void importFileEntryType(PortletDataContext portletDataContext, Element fileEntryTypeElement) throws Exception { String path = fileEntryTypeElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { return;/*from w w w .ja v a 2 s .c o m*/ } DLFileEntryType dlFileEntryType = (DLFileEntryType) portletDataContext.getZipEntryAsObject(path); long userId = portletDataContext.getUserId(dlFileEntryType.getUserUuid()); String name = getFileEntryTypeName(dlFileEntryType.getUuid(), portletDataContext.getScopeGroupId(), dlFileEntryType.getName(), 2); List<Element> structureElements = fileEntryTypeElement.elements("structure"); for (Element structureElement : structureElements) { DDMPortletDataHandlerImpl.importStructure(portletDataContext, structureElement); } String[] ddmStructureUuids = StringUtil.split(fileEntryTypeElement.attributeValue("structureUuids")); long[] ddmStrutureIds = new long[ddmStructureUuids.length]; for (int i = 0; i < ddmStructureUuids.length; i++) { DDMStructure existingStructure = DDMStructureUtil.fetchByUUID_G(ddmStructureUuids[i], portletDataContext.getScopeGroupId()); ddmStrutureIds[i] = existingStructure.getStructureId(); } ServiceContext serviceContext = portletDataContext.createServiceContext(path, dlFileEntryType, _NAMESPACE); DLFileEntryType importedDLFileEntryType = null; if (portletDataContext.isDataStrategyMirror()) { DLFileEntryType existingDLFileEntryType = DLFileEntryTypeUtil.fetchByUUID_G(dlFileEntryType.getUuid(), portletDataContext.getScopeGroupId()); if (existingDLFileEntryType == null) { serviceContext.setUuid(dlFileEntryType.getUuid()); importedDLFileEntryType = DLFileEntryTypeLocalServiceUtil.addFileEntryType(userId, portletDataContext.getScopeGroupId(), name, dlFileEntryType.getDescription(), ddmStrutureIds, serviceContext); } else { DLFileEntryTypeLocalServiceUtil.updateFileEntryType(userId, existingDLFileEntryType.getFileEntryTypeId(), name, dlFileEntryType.getDescription(), ddmStrutureIds, serviceContext); importedDLFileEntryType = existingDLFileEntryType; } } else { importedDLFileEntryType = DLFileEntryTypeLocalServiceUtil.addFileEntryType(userId, portletDataContext.getScopeGroupId(), name, dlFileEntryType.getDescription(), ddmStrutureIds, serviceContext); } portletDataContext.importClassedModel(dlFileEntryType, importedDLFileEntryType, _NAMESPACE); String importedDLFileEntryDDMStructureKey = DLUtil.getDDMStructureKey(importedDLFileEntryType); List<DDMStructure> ddmStructures = importedDLFileEntryType.getDDMStructures(); for (DDMStructure ddmStructure : ddmStructures) { String ddmStructureKey = ddmStructure.getStructureKey(); if (!DLUtil.isAutoGeneratedDLFileEntryTypeDDMStructureKey(ddmStructureKey)) { continue; } if (ddmStructureKey.equals(importedDLFileEntryDDMStructureKey)) { continue; } ddmStructure.setStructureKey(importedDLFileEntryDDMStructureKey); DDMStructureLocalServiceUtil.updateDDMStructure(ddmStructure); } }