List of usage examples for com.liferay.portal.kernel.repository.model FileVersion getVersion
public String getVersion();
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;//from w w w . j av a 2 s . c o m } 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.repository.external.model.ExtRepositoryFileEntryAdapter.java
License:Open Source License
@Override public String getVersion() { try {//from w w w . j a v a 2s . c o m List<ExtRepositoryFileVersionAdapter> extRepositoryFileVersionAdapters = _getExtRepositoryFileVersionAdapters(); FileVersion fileVersion = extRepositoryFileVersionAdapters.get(0); return fileVersion.getVersion(); } catch (Exception e) { return null; } }
From source file:com.liferay.document.library.service.test.DLCheckInCheckOutTest.java
License:Open Source License
@Test public void testCancelCheckIn() throws Exception { DLAppServiceUtil.checkOutFileEntry(_fileEntry.getFileEntryId(), _serviceContext); Folder folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Date lastPostDate = folder.getLastPostDate(); FileEntry fileEntry = DLAppServiceUtil.getFileEntry(_fileEntry.getFileEntryId()); FileVersion fileVersion = fileEntry.getLatestFileVersion(); Assert.assertEquals("PWC", fileVersion.getVersion()); getAssetEntry(fileVersion.getFileVersionId(), true); DLAppServiceUtil.cancelCheckOut(_fileEntry.getFileEntryId()); folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Assert.assertTrue(DateUtil.equals(lastPostDate, folder.getLastPostDate())); fileEntry = DLAppServiceUtil.getFileEntry(_fileEntry.getFileEntryId()); Assert.assertEquals("1.0", fileEntry.getVersion()); }
From source file:com.liferay.document.library.service.test.DLCheckInCheckOutTest.java
License:Open Source License
@Test public void testCheckIn() throws Exception { for (int i = 0; i < 2; i++) { DLAppServiceUtil.checkOutFileEntry(_fileEntry.getFileEntryId(), _serviceContext); Folder folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Date lastPostDate = folder.getLastPostDate(); FileVersion fileVersion = _fileEntry.getLatestFileVersion(); Assert.assertEquals("PWC", fileVersion.getVersion()); getAssetEntry(fileVersion.getFileVersionId(), true); if (i == 1) { updateFileEntry(_fileEntry.getFileEntryId()); }/*from w ww. j av a 2s.com*/ DLAppServiceUtil.checkInFileEntry(_fileEntry.getFileEntryId(), false, StringPool.BLANK, _serviceContext); folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); if (i == 1) { Assert.assertFalse(lastPostDate.after(folder.getLastPostDate())); } else { Assert.assertTrue(DateUtil.equals(lastPostDate, folder.getLastPostDate())); } FileEntry fileEntry = DLAppServiceUtil.getFileEntry(_fileEntry.getFileEntryId()); Assert.assertEquals("1." + i, fileEntry.getVersion()); fileVersion = fileEntry.getFileVersion(); getAssetEntry(fileVersion.getFileVersionId(), false); } }
From source file:com.liferay.document.library.service.test.DLCheckInCheckOutTest.java
License:Open Source License
@Test public void testCheckOut() throws Exception { Folder folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Date lastPostDate = folder.getLastPostDate(); DLAppServiceUtil.checkOutFileEntry(_fileEntry.getFileEntryId(), _serviceContext); folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Assert.assertTrue(DateUtil.equals(lastPostDate, folder.getLastPostDate())); FileVersion fileVersion = _fileEntry.getLatestFileVersion(); Assert.assertEquals("PWC", fileVersion.getVersion()); getAssetEntry(fileVersion.getFileVersionId(), true); }
From source file:com.liferay.document.library.service.test.DLCheckInCheckOutTest.java
License:Open Source License
@Test public void testUpdateFileEntry2() throws Exception { DLAppServiceUtil.checkOutFileEntry(_fileEntry.getFileEntryId(), _serviceContext); Folder folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Date lastPostDate = folder.getLastPostDate(); FileEntry fileEntry = updateFileEntry(_fileEntry.getFileEntryId()); Assert.assertEquals("1.0", fileEntry.getVersion()); FileVersion fileVersion = fileEntry.getLatestFileVersion(); Assert.assertEquals("PWC", fileVersion.getVersion()); DLAppServiceUtil.checkInFileEntry(_fileEntry.getFileEntryId(), false, StringPool.BLANK, _serviceContext); folder = DLAppServiceUtil.getFolder(_folder.getFolderId()); Assert.assertFalse(lastPostDate.after(folder.getLastPostDate())); fileEntry = DLAppServiceUtil.getFileEntry(_fileEntry.getFileEntryId()); Assert.assertEquals("1.1", fileEntry.getVersion()); getAssetEntry(fileVersion.getFileVersionId(), false); }
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.document.library.web.internal.portlet.action.CompareVersionsMVCRenderCommand.java
License:Open Source License
protected void compareVersions(RenderRequest renderRequest) throws Exception { long sourceFileVersionId = ParamUtil.getLong(renderRequest, "sourceFileVersionId"); long targetFileVersionId = ParamUtil.getLong(renderRequest, "targetFileVersionId"); FileVersion sourceFileVersion = _dlAppService.getFileVersion(sourceFileVersionId); InputStream sourceIs = sourceFileVersion.getContentStream(false); String sourceExtension = sourceFileVersion.getExtension(); if (sourceExtension.equals("css") || sourceExtension.equals("htm") || sourceExtension.equals("html") || sourceExtension.equals("js") || sourceExtension.equals("txt") || sourceExtension.equals("xml")) { String sourceContent = HtmlUtil.escape(StringUtil.read(sourceIs)); sourceIs = new UnsyncByteArrayInputStream(sourceContent.getBytes(StringPool.UTF8)); }/* w ww .j a va 2 s .c o m*/ FileVersion targetFileVersion = _dlAppLocalService.getFileVersion(targetFileVersionId); InputStream targetIs = targetFileVersion.getContentStream(false); String targetExtension = targetFileVersion.getExtension(); if (targetExtension.equals("css") || targetExtension.equals("htm") || targetExtension.equals("html") || targetExtension.equals("js") || targetExtension.equals("txt") || targetExtension.equals("xml")) { String targetContent = HtmlUtil.escape(StringUtil.read(targetIs)); targetIs = new UnsyncByteArrayInputStream(targetContent.getBytes(StringPool.UTF8)); } if (DocumentConversionUtil.isEnabled()) { if (DocumentConversionUtil.isConvertBeforeCompare(sourceExtension)) { String sourceTempFileId = DLUtil.getTempFileId(sourceFileVersion.getFileEntryId(), sourceFileVersion.getVersion()); sourceIs = new FileInputStream( DocumentConversionUtil.convert(sourceTempFileId, sourceIs, sourceExtension, "txt")); } if (DocumentConversionUtil.isConvertBeforeCompare(targetExtension)) { String targetTempFileId = DLUtil.getTempFileId(targetFileVersion.getFileEntryId(), targetFileVersion.getVersion()); targetIs = new FileInputStream( DocumentConversionUtil.convert(targetTempFileId, targetIs, targetExtension, "txt")); } } List<DiffResult>[] diffResults = DiffUtil.diff(new InputStreamReader(sourceIs), new InputStreamReader(targetIs)); renderRequest.setAttribute(WebKeys.DIFF_RESULTS, diffResults); renderRequest.setAttribute(WebKeys.SOURCE_NAME, sourceFileVersion.getTitle() + StringPool.SPACE + sourceFileVersion.getVersion()); renderRequest.setAttribute(WebKeys.TARGET_NAME, targetFileVersion.getTitle() + StringPool.SPACE + targetFileVersion.getVersion()); }
From source file:com.liferay.item.selector.taglib.internal.util.ItemSelectorRepositoryEntryBrowserUtil.java
License:Open Source License
public static JSONObject getItemMetadataJSONObject(FileEntry fileEntry, Locale locale) throws PortalException { JSONObject itemMetadataJSONObject = JSONFactoryUtil.createJSONObject(); JSONArray groupsJSONArray = JSONFactoryUtil.createJSONArray(); JSONObject firstTabJSONObject = JSONFactoryUtil.createJSONObject(); JSONArray firstTabDataJSONArray = JSONFactoryUtil.createJSONArray(); FileVersion latestFileVersion = fileEntry.getLatestFileVersion(); firstTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "format"), HtmlUtil.escape(latestFileVersion.getExtension()))); firstTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "size"), TextFormatter.formatStorageSize(fileEntry.getSize(), locale))); firstTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "name"), HtmlUtil.escape(DLUtil.getTitleWithExtension(fileEntry)))); Date modifiedDate = fileEntry.getModifiedDate(); firstTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "modified"), LanguageUtil.format(locale, "x-ago-by-x", new Object[] { LanguageUtil.getTimeDescription(locale, System.currentTimeMillis() - modifiedDate.getTime(), true), HtmlUtil.escape(fileEntry.getUserName()) }))); firstTabJSONObject.put("data", firstTabDataJSONArray); firstTabJSONObject.put("title", LanguageUtil.get(locale, "file-info")); groupsJSONArray.put(firstTabJSONObject); JSONObject secondTabJSONObject = JSONFactoryUtil.createJSONObject(); JSONArray secondTabDataJSONArray = JSONFactoryUtil.createJSONArray(); secondTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "version"), HtmlUtil.escape(latestFileVersion.getVersion()))); secondTabDataJSONArray.put(_createJSONObject(LanguageUtil.get(locale, "status"), WorkflowConstants.getStatusLabel(latestFileVersion.getStatus()))); secondTabJSONObject.put("data", secondTabDataJSONArray); secondTabJSONObject.put("title", LanguageUtil.get(locale, "version")); groupsJSONArray.put(secondTabJSONObject); itemMetadataJSONObject.put("groups", groupsJSONArray); return itemMetadataJSONObject; }
From source file:com.liferay.portlet.documentlibrary.service.impl.DLAppHelperLocalServiceImpl.java
License:Open Source License
public void checkAssetEntry(long userId, FileEntry fileEntry, FileVersion fileVersion) throws PortalException, SystemException { AssetEntry fileEntryAssetEntry = assetEntryLocalService.fetchEntry(DLFileEntryConstants.getClassName(), fileEntry.getFileEntryId()); long[] assetCategoryIds = new long[0]; String[] assetTagNames = new String[0]; long fileEntryTypeId = getFileEntryTypeId(fileEntry); if (fileEntryAssetEntry == null) { fileEntryAssetEntry = assetEntryLocalService.updateEntry(userId, fileEntry.getGroupId(), DLFileEntryConstants.getClassName(), fileEntry.getFileEntryId(), fileEntry.getUuid(), fileEntryTypeId, assetCategoryIds, assetTagNames, false, null, null, null, null, fileEntry.getMimeType(), fileEntry.getTitle(), fileEntry.getDescription(), null, null, null, 0, 0, null, false);/*from w w w . j a v a2s. com*/ } AssetEntry fileVersionAssetEntry = assetEntryLocalService.fetchEntry(DLFileEntryConstants.getClassName(), fileVersion.getFileVersionId()); if ((fileVersionAssetEntry == null) && !fileVersion.isApproved() && !fileVersion.getVersion().equals(DLFileEntryConstants.VERSION_DEFAULT)) { assetCategoryIds = assetCategoryLocalService.getCategoryIds(DLFileEntryConstants.getClassName(), fileEntry.getFileEntryId()); assetTagNames = assetTagLocalService.getTagNames(DLFileEntryConstants.getClassName(), fileEntry.getFileEntryId()); fileVersionAssetEntry = assetEntryLocalService.updateEntry(userId, fileEntry.getGroupId(), DLFileEntryConstants.getClassName(), fileVersion.getFileVersionId(), fileEntry.getUuid(), fileEntryTypeId, assetCategoryIds, assetTagNames, false, null, null, null, null, fileEntry.getMimeType(), fileEntry.getTitle(), fileEntry.getDescription(), null, null, null, 0, 0, null, false); List<AssetLink> assetLinks = assetLinkLocalService.getDirectLinks(fileEntryAssetEntry.getEntryId()); long[] assetLinkIds = StringUtil.split(ListUtil.toString(assetLinks, AssetLink.ENTRY_ID2_ACCESSOR), 0L); assetLinkLocalService.updateLinks(userId, fileVersionAssetEntry.getEntryId(), assetLinkIds, AssetLinkConstants.TYPE_RELATED); } }