List of usage examples for com.liferay.portal.kernel.util FileUtil stripExtension
public static String stripExtension(String fileName)
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void addDDMTemplates(String ddmStructureKey, String fileName, InputStream inputStream) throws Exception { String language = getDDMTemplateLanguage(fileName); fileName = FileUtil.stripExtension(fileName); String name = getName(fileName); String script = StringUtil.read(inputStream); setServiceContext(fileName);//from w w w .j a va 2 s. c om DDMStructure ddmStructure = ddmStructureLocalService.getStructure(groupId, portal.getClassNameId(JournalArticle.class), ddmStructureKey); DDMTemplate ddmTemplate = ddmTemplateLocalService.fetchTemplate(groupId, portal.getClassNameId(DDMStructure.class), getKey(fileName)); if (ddmTemplate != null) { if (!developerModeEnabled) { if (_log.isInfoEnabled()) { _log.info(StringBundler.concat("DDM template with name ", name, " and version ", String.valueOf(version), " already exists")); } return; } if (!updateModeEnabled) { ddmTemplateLocalService.deleteTemplate(ddmTemplate); } } try { if (!updateModeEnabled || (ddmTemplate == null)) { ddmTemplate = ddmTemplateLocalService.addTemplate(userId, groupId, portal.getClassNameId(DDMStructure.class), ddmStructure.getStructureId(), portal.getClassNameId(JournalArticle.class), getKey(fileName), getMap(name), null, DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY, null, language, replaceFileEntryURL(script), true, false, null, null, serviceContext); } else { ddmTemplate = ddmTemplateLocalService.updateTemplate(userId, ddmTemplate.getTemplateId(), portal.getClassNameId(DDMStructure.class), getMap(name), null, DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY, null, language, replaceFileEntryURL(script), ddmTemplate.getCacheable(), serviceContext); } } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to import DDM template " + fileName, pe); } throw pe; } addJournalArticles(ddmStructureKey, ddmTemplate.getTemplateKey(), _JOURNAL_ARTICLES_DIR_NAME + fileName, JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID); }
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void addDLFileEntry(long parentFolderId, String fileName, InputStream inputStream, long length) throws Exception { String title = FileUtil.stripExtension(fileName); setServiceContext(fileName);//from ww w .ja v a2 s .c o m FileEntry fileEntry = null; try { try { fileEntry = dlAppLocalService.addFileEntry(userId, groupId, parentFolderId, fileName, mimeTypes.getContentType(fileName), title, StringPool.BLANK, StringPool.BLANK, inputStream, length, serviceContext); } catch (DuplicateFileEntryException dfee) { // LPS-52675 if (_log.isDebugEnabled()) { _log.debug(dfee, dfee); } fileEntry = dlAppLocalService.getFileEntry(groupId, parentFolderId, title); String previousVersion = fileEntry.getVersion(); fileEntry = dlAppLocalService.updateFileEntry(userId, fileEntry.getFileEntryId(), fileName, mimeTypes.getContentType(fileName), title, StringPool.BLANK, StringPool.BLANK, true, inputStream, length, serviceContext); dlFileEntryLocalService.deleteFileVersion(fileEntry.getUserId(), fileEntry.getFileEntryId(), previousVersion); } } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to import DL file entry " + fileName, pe); } throw pe; } addPrimaryKey(DLFileEntry.class.getName(), fileEntry.getPrimaryKey()); _fileEntries.put(fileName, fileEntry); }
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void addJournalArticles(String ddmStructureKey, String ddmTemplateKey, String fileName, long folderId, InputStream inputStream) throws Exception { String title = FileUtil.stripExtension(fileName); JSONObject assetJSONObject = _assetJSONObjectMap.get(fileName); Map<Locale, String> descriptionMap = null; boolean indexable = true; if (assetJSONObject != null) { String abstractSummary = assetJSONObject.getString("abstractSummary"); descriptionMap = getMap(abstractSummary); indexable = GetterUtil.getBoolean(assetJSONObject.getString("indexable"), true); }//from w w w . j a va 2s . com String content = StringUtil.read(inputStream); content = replaceFileEntryURL(content); content = replaceLinksToLayouts(content); Locale articleDefaultLocale = LocaleUtil.fromLanguageId(LocalizationUtil.getDefaultLanguageId(content)); boolean smallImage = false; String smallImageURL = StringPool.BLANK; if (assetJSONObject != null) { String smallImageFileName = assetJSONObject.getString("smallImage"); if (Validator.isNotNull(smallImageFileName)) { smallImage = true; FileEntry fileEntry = _fileEntries.get(smallImageFileName); if (fileEntry != null) { smallImageURL = DLUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), null, StringPool.BLANK); } } } setServiceContext(fileName); String journalArticleId = getJournalId(fileName); JournalArticle journalArticle = journalArticleLocalService.fetchLatestArticle(groupId, journalArticleId, WorkflowConstants.STATUS_ANY); try { if (journalArticle == null) { journalArticle = journalArticleLocalService.addArticle(userId, groupId, folderId, 0, 0, journalArticleId, false, JournalArticleConstants.VERSION_DEFAULT, getMap(articleDefaultLocale, title), descriptionMap, content, ddmStructureKey, ddmTemplateKey, StringPool.BLANK, 1, 1, 2010, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, 0, 0, 0, true, indexable, smallImage, smallImageURL, null, new HashMap<String, byte[]>(), StringPool.BLANK, serviceContext); } else { journalArticle = journalArticleLocalService.updateArticle(userId, groupId, folderId, journalArticleId, journalArticle.getVersion(), getMap(articleDefaultLocale, title), descriptionMap, content, ddmStructureKey, ddmTemplateKey, StringPool.BLANK, 1, 1, 2010, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, 0, 0, 0, true, indexable, smallImage, smallImageURL, null, new HashMap<String, byte[]>(), StringPool.BLANK, serviceContext); } journalArticleLocalService.updateStatus(userId, groupId, journalArticle.getArticleId(), journalArticle.getVersion(), WorkflowConstants.STATUS_APPROVED, StringPool.BLANK, new HashMap<String, Serializable>(), serviceContext); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to import journal article " + fileName, pe); } throw pe; } addPrimaryKey(JournalArticle.class.getName(), journalArticle.getPrimaryKey()); }
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected String getJournalId(String fileName) { String id = FileUtil.stripExtension(fileName); id = StringUtil.toUpperCase(id);/*w w w . j av a2 s . c o m*/ return StringUtil.replace(id, CharPool.SPACE, CharPool.DASH); }
From source file:com.liferay.exportimport.resources.importer.internal.util.ResourceImporter.java
License:Open Source License
@Override protected void addDDLStructures(String dirName) throws Exception { Set<String> resourcePaths = servletContext.getResourcePaths(_getResourcePath(dirName)); if (resourcePaths == null) { return;/*from ww w. j a v a 2 s . c om*/ } for (String resourcePath : resourcePaths) { File file = new File(resourcePath); URL url = servletContext.getResource(resourcePath); URLConnection urlConnection = url.openConnection(); addDDMStructures(FileUtil.stripExtension(file.getName()), urlConnection.getInputStream()); } }
From source file:com.liferay.portlet.documentlibrary.action.GetFileAction.java
License:Open Source License
protected void getFile(long fileEntryId, long folderId, String title, String version, long fileShortcutId, String uuid, long groupId, String targetExtension, ThemeDisplay themeDisplay, HttpServletRequest request, HttpServletResponse response) throws Exception { FileEntry fileEntry = null;/*w w w . java 2 s. co m*/ if (Validator.isNotNull(uuid) && (groupId > 0)) { fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId); folderId = fileEntry.getFolderId(); } if (fileEntryId > 0) { fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } else if (fileShortcutId <= 0) { if (Validator.isNotNull(title)) { fileEntry = DLAppServiceUtil.getFileEntry(groupId, folderId, title); } } else { DLFileShortcut fileShortcut = DLAppServiceUtil.getFileShortcut(fileShortcutId); fileEntryId = fileShortcut.getToFileEntryId(); fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } if (Validator.isNull(version)) { if (Validator.isNotNull(fileEntry.getVersion())) { version = fileEntry.getVersion(); } else { throw new NoSuchFileEntryException(); } } FileVersion fileVersion = fileEntry.getFileVersion(version); InputStream is = fileVersion.getContentStream(true); String fileName = fileVersion.getTitle(); long contentLength = fileVersion.getSize(); String contentType = fileVersion.getMimeType(); if (Validator.isNotNull(targetExtension)) { String id = DLUtil.getTempFileId(fileEntry.getFileEntryId(), version); String sourceExtension = fileVersion.getExtension(); if (!fileName.endsWith(StringPool.PERIOD + sourceExtension)) { fileName += StringPool.PERIOD + sourceExtension; } File convertedFile = DocumentConversionUtil.convert(id, is, sourceExtension, targetExtension); if (convertedFile != null) { fileName = FileUtil.stripExtension(fileName).concat(StringPool.PERIOD).concat(targetExtension); is = new FileInputStream(convertedFile); contentLength = convertedFile.length(); contentType = MimeTypesUtil.getContentType(fileName); } } ServletResponseUtil.sendFile(request, response, fileName, is, contentLength, contentType); }
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 w w . j a va2s. 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.model.impl.DLFileEntryImpl.java
License:Open Source License
public String getLuceneProperties() { UnicodeProperties extraSettingsProps = getExtraSettingsProperties(); Iterator<Map.Entry<String, String>> itr = extraSettingsProps.entrySet().iterator(); StringBundler sb = new StringBundler(extraSettingsProps.entrySet().size() + 4); sb.append(FileUtil.stripExtension(getTitle())); sb.append(StringPool.SPACE);/*from w w w . ja v a2 s .c o m*/ sb.append(getDescription()); sb.append(StringPool.SPACE); while (itr.hasNext()) { Map.Entry<String, String> entry = itr.next(); String value = GetterUtil.getString(entry.getValue()); sb.append(value); } return sb.toString(); }
From source file:com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore.java
License:Open Source License
@Override public void updateFile(long companyId, long repositoryId, String fileName, String newFileName) throws PortalException { super.updateFile(companyId, repositoryId, fileName, newFileName); File newFileNameDir = getFileNameDir(companyId, repositoryId, newFileName); String[] fileNameVersions = FileUtil.listFiles(newFileNameDir); for (String fileNameVersion : fileNameVersions) { String ext = FileUtil.getExtension(fileNameVersion); if (ext.equals(_HOOK_EXTENSION)) { continue; }//from w w w . j av a 2 s. c o m File fileNameVersionFile = new File(newFileNameDir + StringPool.SLASH + fileNameVersion); File newFileNameVersionFile = new File(newFileNameDir + StringPool.SLASH + FileUtil.stripExtension(fileNameVersion) + StringPool.PERIOD + _HOOK_EXTENSION); fileNameVersionFile.renameTo(newFileNameVersionFile); } }
From source file:com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore.java
License:Open Source License
protected List<String> getAdvancedFileNames(long companyId, long repositoryId, String fileName) { List<String> fileNames = new ArrayList<String>(); String shortFileName = FileUtil.getShortFileName(fileName); if (shortFileName.equals("DLFE") || Validator.isNumber(shortFileName)) { String[] curFileNames = FileUtil.listDirs(fileName); for (String curFileName : curFileNames) { fileNames.addAll(/*from w w w . j ava2 s . co m*/ getAdvancedFileNames(companyId, repositoryId, fileName + StringPool.SLASH + curFileName)); } } else { if (shortFileName.endsWith(_HOOK_EXTENSION)) { shortFileName = FileUtil.stripExtension(shortFileName); } fileNames.add(shortFileName); } return fileNames; }