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

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

Introduction

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

Prototype

public static String getExtension(String fileName) 

Source Link

Usage

From source file:com.liferay.portlet.calendar.action.ImportEventsAction.java

License:Open Source License

private void validate(String fileName) throws ImportEventsException {
    String fileNameExtension = FileUtil.getExtension(fileName);

    if (!fileNameExtension.equals(CalendarUtil.ICAL_EXTENSION)) {
        throw new ImportEventsException();
    }/*from  www . ja  v a2s  .  c om*/
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.java

License:Open Source License

protected String getExtension(String title, String sourceFileName) {
    if (Validator.isNull(sourceFileName)) {
        sourceFileName = title;//  w w w . ja  v  a2s .com
    }

    return FileUtil.getExtension(sourceFileName);
}

From source file:com.liferay.portlet.documentlibrary.sharepoint.DLSharepointStorageImpl.java

License:Open Source License

@Override
public void putDocument(SharepointRequest sharepointRequest) throws Exception {

    HttpServletRequest request = sharepointRequest.getHttpServletRequest();

    String documentPath = sharepointRequest.getRootPath();
    String parentFolderPath = getParentFolderPath(documentPath);

    long groupId = SharepointUtil.getGroupId(parentFolderPath);
    long parentFolderId = getLastFolderId(groupId, parentFolderPath,
            DLFolderConstants.DEFAULT_PARENT_FOLDER_ID);
    String title = getResourceName(documentPath);
    String description = StringPool.BLANK;
    String changeLog = StringPool.BLANK;

    ServiceContext serviceContext = new ServiceContext();

    serviceContext.setAddGroupPermissions(true);
    serviceContext.setAddGuestPermissions(true);

    String contentType = GetterUtil.get(request.getHeader(HttpHeaders.CONTENT_TYPE),
            ContentTypes.APPLICATION_OCTET_STREAM);

    String extension = FileUtil.getExtension(title);

    File file = null;/*from w  w w.  j av a 2 s .c  om*/

    try {
        file = FileUtil.createTempFile(extension);

        FileUtil.write(file, request.getInputStream());

        if (contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) {
            contentType = MimeTypesUtil.getContentType(file, title);
        }

        try {
            FileEntry fileEntry = getFileEntry(sharepointRequest);

            long fileEntryId = fileEntry.getFileEntryId();

            description = fileEntry.getDescription();

            String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(FileEntry.class.getName(),
                    fileEntry.getFileEntryId());

            serviceContext.setAssetTagNames(assetTagNames);

            DLAppServiceUtil.updateFileEntry(fileEntryId, title, contentType, title, description, changeLog,
                    false, file, serviceContext);
        } catch (NoSuchFileEntryException nsfee) {
            DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, contentType, title, description,
                    changeLog, file, serviceContext);
        }
    } finally {
        FileUtil.delete(file);
    }
}

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  a2 s  .c  om*/

        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

@Override
protected File getFileNameDir(long companyId, long repositoryId, String fileName) {

    if (fileName.indexOf(CharPool.SLASH) != -1) {
        return getDirNameDir(companyId, repositoryId, fileName);
    }/*  w w w. j a va2  s  .  co m*/

    String ext = StringPool.PERIOD + FileUtil.getExtension(fileName);

    if (ext.equals(StringPool.PERIOD)) {
        ext += _HOOK_EXTENSION;
    }

    StringBundler sb = new StringBundler();

    String fileNameFragment = FileUtil.stripExtension(fileName);

    if (fileNameFragment.startsWith("DLFE-")) {
        fileNameFragment = fileNameFragment.substring(5);

        sb.append("DLFE" + StringPool.SLASH);
    }

    buildPath(sb, fileNameFragment);

    File repositoryDir = getRepositoryDir(companyId, repositoryId);

    File fileNameDir = new File(
            repositoryDir + StringPool.SLASH + sb.toString() + StringPool.SLASH + fileNameFragment + ext);

    return fileNameDir;
}

From source file:com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore.java

License:Open Source License

@Override
protected File getFileNameVersionFile(long companyId, long repositoryId, String fileName, String version) {

    String ext = StringPool.PERIOD + FileUtil.getExtension(fileName);

    if (ext.equals(StringPool.PERIOD)) {
        ext += _HOOK_EXTENSION;/*from   w  ww  .ja v  a  2s .  c o  m*/
    }

    int pos = fileName.lastIndexOf(CharPool.SLASH);

    if (pos == -1) {
        StringBundler sb = new StringBundler();

        String fileNameFragment = FileUtil.stripExtension(fileName);

        if (fileNameFragment.startsWith("DLFE-")) {
            fileNameFragment = fileNameFragment.substring(5);

            sb.append("DLFE" + StringPool.SLASH);
        }

        buildPath(sb, fileNameFragment);

        File repositoryDir = getRepositoryDir(companyId, repositoryId);

        return new File(repositoryDir + StringPool.SLASH + sb.toString() + StringPool.SLASH + fileNameFragment
                + ext + StringPool.SLASH + fileNameFragment + StringPool.UNDERLINE + version + ext);
    } else {
        File fileNameDir = getDirNameDir(companyId, repositoryId, fileName);

        String fileNameFragment = FileUtil.stripExtension(fileName.substring(pos + 1));

        return new File(
                fileNameDir + StringPool.SLASH + fileNameFragment + StringPool.UNDERLINE + version + ext);
    }
}

From source file:com.liferay.portlet.documentlibrary.store.DLStoreImpl.java

License:Open Source License

protected void validate(String fileName, String fileExtension, String sourceFileName,
        boolean validateFileExtension) throws PortalException, SystemException {

    String sourceFileExtension = FileUtil.getExtension(sourceFileName);

    if (Validator.isNotNull(sourceFileName) && PropsValues.DL_FILE_EXTENSIONS_STRICT_CHECK
            && !fileExtension.equals(sourceFileExtension)) {

        throw new SourceFileNameException(sourceFileExtension);
    }/*from ww w  .j  a v a 2s  .  co  m*/

    validate(fileName, validateFileExtension);
}

From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java

License:Open Source License

@Override
public String getFileName(long groupId, long folderId, String tempFileName) {

    String extension = FileUtil.getExtension(tempFileName);

    int pos = tempFileName.lastIndexOf(EditFileEntryAction.TEMP_RANDOM_SUFFIX);

    if (pos != -1) {
        tempFileName = tempFileName.substring(0, pos);

        if (Validator.isNotNull(extension)) {
            tempFileName = tempFileName + StringPool.PERIOD + extension;
        }/*from   w ww .ja v  a 2 s. c o m*/
    }

    while (true) {
        try {
            DLAppLocalServiceUtil.getFileEntry(groupId, folderId, tempFileName);

            StringBundler sb = new StringBundler(5);

            sb.append(FileUtil.stripExtension(tempFileName));
            sb.append(StringPool.DASH);
            sb.append(StringUtil.randomString());

            if (Validator.isNotNull(extension)) {
                sb.append(StringPool.PERIOD);
                sb.append(extension);
            }

            tempFileName = sb.toString();
        } catch (Exception e) {
            break;
        }
    }

    return tempFileName;
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public Status lockResource(WebDAVRequest webDavRequest, String owner, long timeout) throws WebDAVException {

    Resource resource = getResource(webDavRequest);

    Lock lock = null;//from  w w  w  . ja  v  a 2s  . c om
    int status = HttpServletResponse.SC_OK;

    try {
        if (resource == null) {
            status = HttpServletResponse.SC_CREATED;

            HttpServletRequest request = webDavRequest.getHttpServletRequest();

            String[] pathArray = webDavRequest.getPathArray();

            long companyId = webDavRequest.getCompanyId();
            long groupId = webDavRequest.getGroupId();
            long parentFolderId = getParentFolderId(companyId, pathArray);
            String title = WebDAVUtil.getResourceName(pathArray);

            String contentType = GetterUtil.get(request.getHeader(HttpHeaders.CONTENT_TYPE),
                    ContentTypes.APPLICATION_OCTET_STREAM);

            if (contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) {
                contentType = MimeTypesUtil.getContentType(request.getInputStream(), title);
            }

            String description = StringPool.BLANK;
            String changeLog = StringPool.BLANK;

            File file = FileUtil.createTempFile(FileUtil.getExtension(title));

            file.createNewFile();

            ServiceContext serviceContext = new ServiceContext();

            serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId));
            serviceContext.setAddGuestPermissions(true);

            FileEntry fileEntry = DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, contentType,
                    title, description, changeLog, file, serviceContext);

            resource = toResource(webDavRequest, fileEntry, false);
        }

        if (resource instanceof DLFileEntryResourceImpl) {
            FileEntry fileEntry = (FileEntry) resource.getModel();

            lock = DLAppServiceUtil.lockFileEntry(fileEntry.getFileEntryId(), owner, timeout);
        } else {
            boolean inheritable = false;

            long depth = WebDAVUtil.getDepth(webDavRequest.getHttpServletRequest());

            if (depth != 0) {
                inheritable = true;
            }

            Folder folder = (Folder) resource.getModel();

            lock = DLAppServiceUtil.lockFolder(folder.getRepositoryId(), folder.getFolderId(), owner,
                    inheritable, timeout);
        }
    } catch (Exception e) {

        // DuplicateLock is 423 not 501

        if (!(e instanceof DuplicateLockException)) {
            throw new WebDAVException(e);
        }

        status = WebDAVUtil.SC_LOCKED;
    }

    return new Status(lock, status);
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int putResource(WebDAVRequest webDavRequest) throws WebDAVException {
    File file = null;/*from   www.java2  s.c  o  m*/

    try {
        HttpServletRequest request = webDavRequest.getHttpServletRequest();

        String[] pathArray = webDavRequest.getPathArray();

        long companyId = webDavRequest.getCompanyId();
        long groupId = webDavRequest.getGroupId();
        long parentFolderId = getParentFolderId(companyId, pathArray);
        String title = WebDAVUtil.getResourceName(pathArray);
        String description = StringPool.BLANK;
        String changeLog = StringPool.BLANK;

        ServiceContext serviceContext = ServiceContextFactory.getInstance(request);

        serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId));
        serviceContext.setAddGuestPermissions(true);

        String contentType = GetterUtil.get(request.getHeader(HttpHeaders.CONTENT_TYPE),
                ContentTypes.APPLICATION_OCTET_STREAM);

        String extension = FileUtil.getExtension(title);

        file = FileUtil.createTempFile(extension);

        FileUtil.write(file, request.getInputStream());

        if (contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) {
            contentType = MimeTypesUtil.getContentType(file, title);
        }

        try {
            FileEntry fileEntry = DLAppServiceUtil.getFileEntry(groupId, parentFolderId, title);

            if (!hasLock(fileEntry, webDavRequest.getLockUuid()) && (fileEntry.getLock() != null)) {

                return WebDAVUtil.SC_LOCKED;
            }

            long fileEntryId = fileEntry.getFileEntryId();

            description = fileEntry.getDescription();

            String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(FileEntry.class.getName(),
                    fileEntry.getFileEntryId());

            serviceContext.setAssetTagNames(assetTagNames);

            DLAppServiceUtil.updateFileEntry(fileEntryId, title, contentType, title, description, changeLog,
                    false, file, serviceContext);
        } catch (NoSuchFileEntryException nsfee) {
            if (file.length() == 0) {
                serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);
            }

            DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, contentType, title, description,
                    changeLog, file, serviceContext);
        }

        if (_log.isInfoEnabled()) {
            _log.info("Added " + StringUtil.merge(pathArray, StringPool.SLASH));
        }

        return HttpServletResponse.SC_CREATED;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (NoSuchFolderException nsfe) {
        return HttpServletResponse.SC_CONFLICT;
    } catch (PortalException pe) {
        if (_log.isWarnEnabled()) {
            _log.warn(pe, pe);
        }

        return HttpServletResponse.SC_CONFLICT;
    } catch (Exception e) {
        throw new WebDAVException(e);
    } finally {
        FileUtil.delete(file);
    }
}