List of usage examples for com.liferay.portal.kernel.util FileUtil getExtension
public static String getExtension(String fileName)
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); } }