Example usage for com.liferay.portal.kernel.util FileUtil stripExtension

List of usage examples for com.liferay.portal.kernel.util FileUtil stripExtension

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util FileUtil stripExtension.

Prototype

public static String stripExtension(String fileName) 

Source Link

Usage

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;
}