List of usage examples for com.liferay.portal.kernel.repository.model FileEntry getExtension
public String getExtension();
From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderExportZipHelper.java
License:Open Source License
/** * Returns a ZIP entry name for the file entry. * /*from w ww . j av a 2s.c om*/ * @param fileEntry file entry * @param folderPath file path * @param zipWriter ZIP writer * * @return ZIP entry name * * @throws SystemException * @throws PortalException */ public static String buildZipEntryName(FileEntry fileEntry, String folderPath, ZipWriter zipWriter) throws SystemException, PortalException { // Use file entry title as file name String fileEntryBaseName = fileEntry.getTitle(); // normalize base name by stripping extension and replacing non-alphanum chars with underscore fileEntryBaseName = FilenameUtils.getBaseName(fileEntryBaseName); fileEntryBaseName = fileEntryBaseName.replaceAll("\\W+", "_"); // build zip entry name String zipEntryName = folderPath + fileEntryBaseName + FilenameUtils.EXTENSION_SEPARATOR_STR + fileEntry.getExtension(); if (zipWriter.hasAllocatedPath(zipEntryName)) { String oldZipEntryName = zipEntryName; int counter = 1; while (true) { zipEntryName = folderPath + fileEntryBaseName + StringPool.OPEN_BRACKET + counter + StringPool.CLOSE_BRACKET + FilenameUtils.EXTENSION_SEPARATOR_STR + fileEntry.getExtension(); if (!zipWriter.hasAllocatedPath(zipEntryName)) { break; } counter++; } if (s_log.isDebugEnabled()) { s_log.debug(oldZipEntryName + " already exists in ZIP file, renaming to " + zipEntryName); } } return zipEntryName; }
From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java
License:Open Source License
protected void validate(long smallImageFileEntryId) throws PortalException { String[] imageExtensions = PrefsPropsUtil.getStringArray(PropsKeys.BLOGS_IMAGE_EXTENSIONS, StringPool.COMMA);//www. ja va2 s . co m if (smallImageFileEntryId != 0) { FileEntry fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(smallImageFileEntryId); boolean validSmallImageExtension = false; for (String imageExtension : imageExtensions) { if (StringPool.STAR.equals(imageExtension) || imageExtension.equals(StringPool.PERIOD + fileEntry.getExtension())) { validSmallImageExtension = true; break; } } if (!validSmallImageExtension) { throw new EntrySmallImageNameException( "Invalid small image for file entry " + smallImageFileEntryId); } } }
From source file:com.liferay.document.library.internal.exportimport.data.handler.FileEntryStagedModelDataHandler.java
License:Open Source License
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, FileEntry fileEntry) throws Exception { long userId = portletDataContext.getUserId(fileEntry.getUserUuid()); if (!fileEntry.isDefaultRepository()) { // References has been automatically imported, nothing to do here return;//w w w . j a va2 s. c om } Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class); long folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId()); long[] assetCategoryIds = portletDataContext.getAssetCategoryIds(DLFileEntry.class, fileEntry.getFileEntryId()); String[] assetTagNames = portletDataContext.getAssetTagNames(DLFileEntry.class, fileEntry.getFileEntryId()); ServiceContext serviceContext = portletDataContext.createServiceContext(fileEntry, DLFileEntry.class); serviceContext.setAttribute("sourceFileName", "A." + fileEntry.getExtension()); serviceContext.setUserId(userId); Element fileEntryElement = portletDataContext.getImportDataElement(fileEntry); String binPath = fileEntryElement.attributeValue("bin-path"); InputStream is = null; try { if (Validator.isNull(binPath) && portletDataContext.isPerformDirectBinaryImport()) { try { is = FileEntryUtil.getContentStream(fileEntry); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to retrieve content for file entry " + fileEntry.getFileEntryId(), e); } return; } } else { is = portletDataContext.getZipEntryAsInputStream(binPath); } if (is == null) { if (_log.isWarnEnabled()) { _log.warn("No file found for file entry " + fileEntry.getFileEntryId()); } return; } importMetaData(portletDataContext, fileEntryElement, fileEntry, serviceContext); FileEntry importedFileEntry = null; if (portletDataContext.isDataStrategyMirror()) { FileEntry existingFileEntry = fetchStagedModelByUuidAndGroupId(fileEntry.getUuid(), portletDataContext.getScopeGroupId()); FileVersion fileVersion = fileEntry.getFileVersion(); if (existingFileEntry == null) { if (portletDataContext.isDataStrategyMirrorWithOverwriting()) { FileEntry existingTitleFileEntry = FileEntryUtil .fetchByR_F_T(portletDataContext.getScopeGroupId(), folderId, fileEntry.getTitle()); if (existingTitleFileEntry == null) { existingTitleFileEntry = FileEntryUtil.fetchByR_F_FN( portletDataContext.getScopeGroupId(), folderId, fileEntry.getFileName()); } if (existingTitleFileEntry != null) { _dlAppLocalService.deleteFileEntry(existingTitleFileEntry.getFileEntryId()); } } serviceContext.setAttribute("fileVersionUuid", fileVersion.getUuid()); serviceContext.setUuid(fileEntry.getUuid()); String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle( portletDataContext.getScopeGroupId(), folderId, 0, fileEntry.getTitle(), fileEntry.getExtension()); importedFileEntry = _dlAppLocalService.addFileEntry(userId, portletDataContext.getScopeGroupId(), folderId, fileEntry.getFileName(), fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); if (fileEntry.isInTrash()) { importedFileEntry = _dlTrashService .moveFileEntryToTrash(importedFileEntry.getFileEntryId()); } } else { FileVersion latestExistingFileVersion = existingFileEntry.getLatestFileVersion(true); boolean indexEnabled = serviceContext.isIndexingEnabled(); boolean deleteFileEntry = false; boolean updateFileEntry = false; if (!Objects.equals(fileVersion.getUuid(), latestExistingFileVersion.getUuid())) { deleteFileEntry = true; updateFileEntry = true; } else { InputStream existingFileVersionInputStream = null; try { existingFileVersionInputStream = latestExistingFileVersion.getContentStream(false); } catch (Exception e) { if (_log.isDebugEnabled()) { _log.debug(e, e); } } finally { if (existingFileVersionInputStream != null) { existingFileVersionInputStream.close(); } } if (existingFileVersionInputStream == null) { updateFileEntry = true; } } try { serviceContext.setIndexingEnabled(false); if (updateFileEntry) { DLFileVersion alreadyExistingFileVersion = _dlFileVersionLocalService .getFileVersionByUuidAndGroupId(fileVersion.getUuid(), existingFileEntry.getGroupId()); if (alreadyExistingFileVersion != null) { serviceContext.setAttribute("existingDLFileVersionId", alreadyExistingFileVersion.getFileVersionId()); } serviceContext.setUuid(fileVersion.getUuid()); String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle( portletDataContext.getScopeGroupId(), existingFileEntry.getFolderId(), existingFileEntry.getFileEntryId(), fileEntry.getTitle(), fileEntry.getExtension()); importedFileEntry = _dlAppLocalService.updateFileEntry(userId, existingFileEntry.getFileEntryId(), fileEntry.getFileName(), fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, false, is, fileEntry.getSize(), serviceContext); } else { _dlAppLocalService.updateAsset(userId, existingFileEntry, latestExistingFileVersion, assetCategoryIds, assetTagNames, null); importedFileEntry = existingFileEntry; } if (importedFileEntry.getFolderId() != folderId) { importedFileEntry = _dlAppLocalService.moveFileEntry(userId, importedFileEntry.getFileEntryId(), folderId, serviceContext); } if (importedFileEntry instanceof LiferayFileEntry) { LiferayFileEntry liferayFileEntry = (LiferayFileEntry) importedFileEntry; Indexer<DLFileEntry> indexer = IndexerRegistryUtil .nullSafeGetIndexer(DLFileEntry.class); indexer.reindex((DLFileEntry) liferayFileEntry.getModel()); } if (deleteFileEntry && ExportImportThreadLocal.isStagingInProcess()) { _dlAppService.deleteFileVersion(latestExistingFileVersion.getFileEntryId(), latestExistingFileVersion.getVersion()); } } finally { serviceContext.setIndexingEnabled(indexEnabled); } } } else { String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle( portletDataContext.getScopeGroupId(), folderId, 0, fileEntry.getTitle(), fileEntry.getExtension()); importedFileEntry = _dlAppLocalService.addFileEntry(userId, portletDataContext.getScopeGroupId(), folderId, fileEntry.getFileName(), fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext); } for (DLPluggableContentDataHandler dlPluggableContentDataHandler : _serviceTrackerList) { dlPluggableContentDataHandler.importContent(portletDataContext, fileEntryElement, fileEntry, importedFileEntry); } portletDataContext.importClassedModel(fileEntry, importedFileEntry, DLFileEntry.class); Map<Long, Long> fileEntryIds = (Map<Long, Long>) portletDataContext .getNewPrimaryKeysMap(FileEntry.class); fileEntryIds.put(fileEntry.getFileEntryId(), importedFileEntry.getFileEntryId()); } finally { try { is.close(); } catch (IOException ioe) { _log.error(ioe, ioe); } } }
From source file:com.liferay.document.library.internal.exportimport.data.handler.test.FileEntryStagedModelDataHandlerTest.java
License:Open Source License
@Test public void testExportImportFileExtension() throws Exception { String fileName = "PDF_Test.pdf"; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(stagingGroup.getGroupId(), TestPropsValues.getUserId()); FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(TestPropsValues.getUserId(), stagingGroup.getGroupId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, fileName, ContentTypes.APPLICATION_PDF, FileUtil.getBytes(getClass(), "dependencies/" + fileName), serviceContext);//from ww w .j av a2 s .c o m exportImportStagedModel(fileEntry); FileEntry importedFileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntry.getUuid(), liveGroup.getGroupId()); Assert.assertEquals("pdf", importedFileEntry.getExtension()); String title = RandomTestUtil.randomString() + ".awesome"; DLAppServiceUtil.updateFileEntry(fileEntry.getFileEntryId(), StringPool.BLANK, ContentTypes.TEXT_PLAIN, title, StringPool.BLANK, StringPool.BLANK, false, (byte[]) null, serviceContext); exportImportStagedModel(fileEntry); importedFileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntry.getUuid(), liveGroup.getGroupId()); Assert.assertEquals("pdf", importedFileEntry.getExtension()); }
From source file:com.liferay.document.library.internal.exportimport.data.handler.test.FileEntryStagedModelDataHandlerTest.java
License:Open Source License
@Override protected void validateImportedStagedModel(StagedModel stagedModel, StagedModel importedStagedModel) throws Exception { Assert.assertTrue(//from w w w .j av a 2s . co m String.valueOf(stagedModel.getCreateDate()) + StringPool.SPACE + importedStagedModel.getCreateDate(), DateUtil.equals(stagedModel.getCreateDate(), importedStagedModel.getCreateDate())); Assert.assertEquals(stagedModel.getUuid(), importedStagedModel.getUuid()); FileEntry fileEntry = (FileEntry) stagedModel; FileEntry importedFileEntry = (FileEntry) importedStagedModel; Assert.assertEquals(fileEntry.getFileName(), importedFileEntry.getFileName()); Assert.assertEquals(fileEntry.getExtension(), importedFileEntry.getExtension()); Assert.assertEquals(fileEntry.getMimeType(), importedFileEntry.getMimeType()); Assert.assertEquals(fileEntry.getTitle(), importedFileEntry.getTitle()); Assert.assertEquals(fileEntry.getDescription(), importedFileEntry.getDescription()); Assert.assertEquals(fileEntry.getSize(), importedFileEntry.getSize()); FileVersion latestFileVersion = fileEntry.getLatestFileVersion(); FileVersion importedLatestFileVersion = importedFileEntry.getLatestFileVersion(); Assert.assertEquals(latestFileVersion.getUuid(), importedLatestFileVersion.getUuid()); Assert.assertEquals(latestFileVersion.getFileName(), importedLatestFileVersion.getFileName()); Assert.assertEquals(latestFileVersion.getExtension(), importedLatestFileVersion.getExtension()); Assert.assertEquals(latestFileVersion.getMimeType(), importedLatestFileVersion.getMimeType()); Assert.assertEquals(latestFileVersion.getTitle(), importedLatestFileVersion.getTitle()); Assert.assertEquals(latestFileVersion.getDescription(), importedLatestFileVersion.getDescription()); Assert.assertEquals(latestFileVersion.getSize(), importedLatestFileVersion.getSize()); Assert.assertEquals(latestFileVersion.getStatus(), importedLatestFileVersion.getStatus()); }
From source file:com.liferay.document.library.service.test.DLFileEntryExtensionTest.java
License:Open Source License
protected void testAddFileEntryBasic(String sourceFileName, String title, String extension, String titleWithExtension) throws Exception { FileEntry fileEntry = addFileEntry(sourceFileName, title); Assert.assertEquals("Invalid file extension", extension, fileEntry.getExtension()); Assert.assertEquals(titleWithExtension, DLUtil.getTitleWithExtension(fileEntry)); DLAppLocalServiceUtil.deleteFileEntry(fileEntry.getFileEntryId()); }
From source file:com.liferay.document.library.service.test.DLFileVersionUpdateTest.java
License:Open Source License
protected void testVersionUpdate(String addFileName, byte[] addBytes, String addMimeType, String updateFileName, byte[] updateBytes, String updateMimeType) throws PortalException { String description = StringPool.BLANK; String changeLog = StringPool.BLANK; ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId()); FileEntry fileEntry = DLAppServiceUtil.addFileEntry(group.getGroupId(), parentFolder.getFolderId(), addFileName, addMimeType, addFileName, description, changeLog, addBytes, serviceContext); fileEntry = DLAppServiceUtil.updateFileEntry(fileEntry.getFileEntryId(), updateFileName, updateMimeType, updateFileName, description, changeLog, false, updateBytes, serviceContext); FileVersion fileVersion = fileEntry.getFileVersion(); Assert.assertEquals(DLFileEntryConstants.VERSION_DEFAULT, fileVersion.getVersion()); Assert.assertEquals(updateMimeType, fileVersion.getMimeType()); Assert.assertEquals(updateBytes.length, fileVersion.getSize()); Assert.assertEquals(fileVersion.getExtension(), fileEntry.getExtension()); Assert.assertEquals(fileVersion.getMimeType(), fileEntry.getMimeType()); Assert.assertEquals(fileVersion.getSize(), fileEntry.getSize()); }
From source file:com.liferay.journal.web.util.JournalRSSUtil.java
License:Open Source License
protected Object[] getImageProperties(String url) { String type = null;//from w ww . java2 s. c o m long size = 0; Image image = getImage(url); if (image != null) { type = image.getType(); size = image.getSize(); } else { FileEntry fileEntry = getFileEntry(url); Set<String> imageMimeTypes = ImageProcessorUtil.getImageMimeTypes(); if ((fileEntry != null) && imageMimeTypes.contains(fileEntry.getMimeType())) { type = fileEntry.getExtension(); size = fileEntry.getSize(); } } if (Validator.isNotNull(type)) { return new Object[] { type, size }; } return null; }
From source file:com.liferay.opensocial.shindig.service.LiferayMediaItemService.java
License:Open Source License
protected RestfulCollection<MediaItem> doGetMediaItems(Set<UserId> userIds, GroupId groupId, String appId, Set<String> fields, CollectionOptions collectionOptions, SecurityToken securityToken) throws Exception { List<MediaItem> mediaItems = new ArrayList<MediaItem>(); for (UserId userId : userIds) { long userIdLong = GetterUtil.getLong(userId.getUserId(securityToken)); User user = UserLocalServiceUtil.getUserById(userIdLong); if (!ShindigUtil.isValidUser(user)) { continue; }/* w w w . jav a 2 s .c o m*/ List<FileEntry> fileEntries = new ArrayList<FileEntry>(); GroupId.Type groupIdType = groupId.getType(); if (groupIdType.equals(GroupId.Type.all) || groupIdType.equals(GroupId.Type.friends) || groupIdType.equals(GroupId.Type.groupId)) { List<User> socialUsers = UserLocalServiceUtil.getSocialUsers(user.getUserId(), SocialRelationConstants.TYPE_BI_FRIEND, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (User socialUser : socialUsers) { Group group = socialUser.getGroup(); List<FileEntry> friendFileEntries = DLAppServiceUtil.getGroupFileEntries(group.getGroupId(), socialUser.getUserId(), collectionOptions.getFirst(), collectionOptions.getMax()); fileEntries.addAll(friendFileEntries); } } else if (groupIdType.equals(GroupId.Type.self)) { Group group = user.getGroup(); fileEntries = DLAppServiceUtil.getGroupFileEntries(group.getGroupId(), user.getUserId(), collectionOptions.getFirst(), collectionOptions.getMax()); } for (FileEntry fileEntry : fileEntries) { MediaItem.Type mediaItemType = toMediaItemType(StringPool.PERIOD.concat(fileEntry.getExtension())); if (mediaItemType == null) { continue; } MediaItem mediaItem = toMediaItem(fileEntry, fields, securityToken); mediaItems.add(mediaItem); } } return new RestfulCollection<MediaItem>(mediaItems, collectionOptions.getFirst(), mediaItems.size(), collectionOptions.getMax()); }
From source file:com.liferay.opensocial.shindig.service.LiferayMediaItemService.java
License:Open Source License
protected RestfulCollection<MediaItem> doGetMediaItems(UserId userId, String appId, String albumId, Set<String> fields, CollectionOptions collectionOptions, SecurityToken securityToken) throws Exception { long userIdLong = GetterUtil.getLong(userId.getUserId(securityToken)); User user = UserLocalServiceUtil.getUserById(userIdLong); List<MediaItem> mediaItems = new ArrayList<MediaItem>(); if (!ShindigUtil.isValidUser(user)) { return new RestfulCollection<MediaItem>(mediaItems, collectionOptions.getFirst(), mediaItems.size(), collectionOptions.getMax()); }/*from w ww . j a v a2 s . co m*/ Group group = user.getGroup(); long groupIdLong = group.getGroupId(); long albumIdLong = GetterUtil.getLong(albumId); List<FileEntry> fileEntries = DLAppServiceUtil.getFileEntries(groupIdLong, albumIdLong); for (FileEntry fileEntry : fileEntries) { MediaItem.Type mediaItemType = toMediaItemType(StringPool.PERIOD.concat(fileEntry.getExtension())); if (mediaItemType == null) { continue; } MediaItem mediaItem = toMediaItem(fileEntry, fields, securityToken); mediaItems.add(mediaItem); } return new RestfulCollection<MediaItem>(mediaItems, collectionOptions.getFirst(), mediaItems.size(), collectionOptions.getMax()); }