List of usage examples for com.liferay.portal.kernel.repository.model Folder getName
public String getName();
From source file:au.com.permeance.liferay.portlet.documentlibrary.action.DownloadFolderZipAction.java
License:Open Source License
protected void downloadFolder(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); long groupId = themeDisplay.getScopeGroupId(); long repositoryId = ParamUtil.getLong(resourceRequest, "repositoryId"); long folderId = ParamUtil.getLong(resourceRequest, "folderId"); Folder folder = DLAppServiceUtil.getFolder(folderId); ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), resourceRequest); PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) { throw new PrincipalException(); }/* w w w .java2 s . c o m*/ File tempZipFile = null; try { tempZipFile = createTempZipFile(); DLFolderExportZipServiceUtil.exportFolderToZipFile(groupId, repositoryId, folderId, serviceContext, tempZipFile); String downloadZipFileName = folder.getName() + ZIP_FILE_EXT; sendZipFile(resourceRequest, resourceResponse, tempZipFile, downloadZipFileName); } catch (Exception e) { String msg = "Error downloading folder " + folderId + " from repository " + repositoryId + " : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } finally { safeDeleteFile(tempZipFile); tempZipFile = null; } }
From source file:au.com.permeance.liferay.portlet.documentlibrary.action.FolderInfoAction.java
License:Open Source License
protected DLFolderInfo buildFolderInfo(RenderRequest renderRequest, RenderResponse renderResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); long groupId = ParamUtil.getLong(renderRequest, "groupId"); long scopeGroupId = themeDisplay.getScopeGroupId(); String scopeGroupName = themeDisplay.getScopeGroupName(); long repositoryId = ParamUtil.getLong(renderRequest, "repositoryId"); long folderId = ParamUtil.getLong(renderRequest, "folderId"); Folder folder = DLAppServiceUtil.getFolder(folderId); ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), renderRequest); if (s_log.isDebugEnabled()) { s_log.debug("building folder info ..."); ParamUtil.print(renderRequest);//from w w w .jav a2 s.c o m s_log.debug("groupId: " + groupId); s_log.debug("scopeGroupId: " + scopeGroupId); s_log.debug("scopeGroupName: " + scopeGroupName); s_log.debug("repositoryId: " + repositoryId); s_log.debug("folderId: " + folderId); } PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) { throw new PrincipalException(); } DLFolderInfo folderInfo = new DLFolderInfo(); try { User user = UserServiceUtil.getUserById(folder.getUserId()); DLFolderUsage folderUsage = DLFolderUsageServiceUtil.calculateFolderUsage(repositoryId, folderId, serviceContext); folderInfo.setFolderId(folderId); folderInfo.setFolderName(folder.getName()); folderInfo.setFolderCreateDate(folder.getCreateDate()); folderInfo.setFolderDescription(folder.getDescription()); folderInfo.setFolderPath(buildPath(folder)); folderInfo.setFolderUsage(folderUsage); folderInfo.setFolderUserId(folder.getUserId()); if (user != null) { folderInfo.setFolderUserFullName(user.getFullName()); } folderInfo.setRepositoryId(repositoryId); Repository repository = null; if (repositoryId != scopeGroupId) { repository = RepositoryServiceUtil.getRepository(repositoryId); if (repository != null) { folderInfo.setRepositoryName(repository.getName()); folderInfo.setRepositoryClassName(repository.getClassName()); folderInfo.setRepositoryDescription(repository.getDescription()); } } } catch (Exception e) { String msg = "Error building information for folder " + folderId + " in repository " + repositoryId + " : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } finally { // placeholder } return folderInfo; }
From source file:au.com.permeance.liferay.portlet.documentlibrary.action.FolderInfoAction.java
License:Open Source License
public String buildPath(Folder folder) throws PortalException, SystemException { StringBuilder sb = new StringBuilder(); Folder curFolder = folder; while (curFolder != null) { sb.insert(0, curFolder.getName()); sb.insert(0, StringPool.SLASH);//from w ww . j a v a2s.c o m curFolder = curFolder.getParentFolder(); } return sb.toString(); }
From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderExportZipHelper.java
License:Open Source License
/** * Export folder to ZIP writer.//ww w . j a va 2 s . co m * * @param groupId group id * @param repositoryId source repository containing folder to export * @param folder source folder to export * @param folderPath source folder path to export * @param serviceContext service context * @param zipWriter destination ZIP writer * * @throws PortalException * @throws SystemException * @throws RemoteException */ public static void exportFolderToZipWriter(long groupId, long repositoryId, Folder folder, String folderPath, ServiceContext serviceContext, ZipWriter zipWriter) throws PortalException, SystemException { // Export file entries in folder to ZIP writer List<FileEntry> fileEntryList = DLAppServiceUtil.getFileEntries(folder.getRepositoryId(), folder.getFolderId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (FileEntry fileEntry : fileEntryList) { try { exportFileEntryToZipWriter(fileEntry, folderPath, zipWriter); } catch (Exception e) { String msg = "Error exporting file entry to ZIP file : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } } // Export sub-folders in folder to ZIP writer List<Folder> subFolderList = DLAppServiceUtil.getFolders(folder.getRepositoryId(), folder.getFolderId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (Folder subFolder : subFolderList) { String subFolderName = subFolder.getName(); String subFolderPath = folderPath + subFolderName + StringPool.FORWARD_SLASH; exportFolderToZipWriter(groupId, repositoryId, subFolder, subFolderPath, serviceContext, zipWriter); } }
From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderUsageHelper.java
License:Open Source License
/** * Visit Folder.// ww w.ja va 2s.co m * * @param repositoryId repository containing folder * @param folderId folder ID * @param serviceContext service context * @param folderUsageCollector folder usage collector * * @throws PortalException * @throws SystemException */ public static void calculateFolderUsage(long repositoryId, long folderId, ServiceContext serviceContext, DLFolderUsageCollector folderUsageCollector) throws PortalException, SystemException { try { Folder folder = DLAppServiceUtil.getFolder(folderId); if (s_log.isDebugEnabled()) { s_log.debug("calculating usage for folder " + folder.getFolderId() + "/" + folder.getName()); } calculateFolderUsage(repositoryId, folder, StringPool.BLANK, serviceContext, folderUsageCollector); } catch (Exception e) { String msg = "Error calculating usage for folder " + folderId + " in repository " + repositoryId + " : " + e.getMessage(); s_log.error(msg, e); if (e instanceof PortalException) { throw (PortalException) e; } else if (e instanceof SystemException) { throw (SystemException) e; } } }
From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderUsageHelper.java
License:Open Source License
/** * Visit Folder.//from w ww.j av a2 s . com * * @param repositoryId repository containing folder * @param folder folder * @param folderPath folder path * @param serviceContext service context * @param folderUsageCollector folder usage collector * * @throws PortalException * @throws SystemException */ public static void calculateFolderUsage(long repositoryId, Folder folder, String folderPath, ServiceContext serviceContext, DLFolderUsageCollector folderUsageCollector) throws PortalException, SystemException { // Visit file entries in folder if (s_log.isDebugEnabled()) { s_log.debug("calculating usage for folder " + folder.getFolderId() + "/" + folder.getName()); } List<FileEntry> fileEntryList = DLAppServiceUtil.getFileEntries(folder.getRepositoryId(), folder.getFolderId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (FileEntry fileEntry : fileEntryList) { try { calculateFileEntryUsage(fileEntry, folderPath, folderUsageCollector); folderUsageCollector.incrementFileCount(); } catch (Exception e) { String msg = "Error visiting file entry " + fileEntry.getFileEntryId() + " : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } } // Visit sub-folders List<Folder> subFolderList = DLAppServiceUtil.getFolders(folder.getRepositoryId(), folder.getFolderId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); for (Folder subFolder : subFolderList) { String subFolderName = subFolder.getName(); String subFolderPath = folderPath + subFolderName + StringPool.FORWARD_SLASH; calculateFolderUsage(repositoryId, subFolder, subFolderPath, serviceContext, folderUsageCollector); folderUsageCollector.incrementFolderCount(); } }
From source file:com.fmdp.webform.portlet.WebFormPortlet.java
License:Open Source License
public void saveData(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); String portletId = PortalUtil.getPortletId(actionRequest); PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest, portletId); boolean requireCaptcha = GetterUtil.getBoolean(preferences.getValue("requireCaptcha", StringPool.BLANK)); String successURL = GetterUtil.getString(preferences.getValue("successURL", StringPool.BLANK)); boolean sendAsEmail = GetterUtil.getBoolean(preferences.getValue("sendAsEmail", StringPool.BLANK)); boolean sendThanksEmail = GetterUtil.getBoolean(preferences.getValue("sendThanksEmail", StringPool.BLANK)); boolean saveToDatabase = GetterUtil.getBoolean(preferences.getValue("saveToDatabase", StringPool.BLANK)); String databaseTableName = GetterUtil .getString(preferences.getValue("databaseTableName", StringPool.BLANK)); boolean saveToFile = GetterUtil.getBoolean(preferences.getValue("saveToFile", StringPool.BLANK)); boolean uploadToDisk = GetterUtil.getBoolean(preferences.getValue("uploadToDisk", StringPool.BLANK)); boolean uploadToDM = GetterUtil.getBoolean(preferences.getValue("uploadToDM", StringPool.BLANK)); long newFolderId = GetterUtil.getLong(preferences.getValue("newFolderId", StringPool.BLANK)); String fileName = GetterUtil.getString(preferences.getValue("fileName", StringPool.BLANK)); String uploadDiskDir = GetterUtil.getString(preferences.getValue("uploadDiskDir", StringPool.BLANK)); if (requireCaptcha) { try {/*from w w w .j a v a2 s. co m*/ CaptchaUtil.check(actionRequest); } catch (CaptchaTextException cte) { SessionErrors.add(actionRequest, CaptchaTextException.class.getName()); return; } } UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest); Map<String, String> fieldsMap = new LinkedHashMap<String, String>(); String fileAttachment = ""; for (int i = 1; true; i++) { String fieldLabel = preferences.getValue("fieldLabel" + i, StringPool.BLANK); String fieldType = preferences.getValue("fieldType" + i, StringPool.BLANK); if (Validator.isNull(fieldLabel)) { break; } if (StringUtil.equalsIgnoreCase(fieldType, "paragraph")) { continue; } if (StringUtil.equalsIgnoreCase(fieldType, "file")) { if (_log.isDebugEnabled()) { _log.debug("Field name for file: " + fieldLabel); } File file = uploadRequest.getFile("field" + i); String sourceFileName = uploadRequest.getFileName("field" + i); if (_log.isDebugEnabled()) { _log.debug("File attachment: " + sourceFileName); } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); if (Validator.isNotNull(sourceFileName) && !"".equals(sourceFileName)) { if (uploadRequest.getSize("field" + i) == 0) { SessionErrors.add(actionRequest, "uploadToDiskError", "Uploaded file size is 0"); if (_log.isDebugEnabled()) { _log.debug("Uploaded file size is 0"); } return; } // List<String> uploadResults = new ArrayList<String>(); String uploadResult = ""; if (uploadToDisk) { uploadResult = uploadFile(file, sourceFileName, uploadDiskDir); if (uploadResult.equalsIgnoreCase("File Upload Error")) { SessionErrors.add(actionRequest, "uploadToDiskError", uploadResult); return; } fileAttachment = uploadDiskDir + File.separator + uploadResult; //uploadResults.add(uploadResult); jsonObject.put("fsOriginalName", sourceFileName); jsonObject.put("fsName", uploadResult); } if (uploadToDM) { uploadResult = ""; String contentType = MimeTypesUtil.getContentType(file); Folder folderName = DLAppLocalServiceUtil.getFolder(newFolderId); if (_log.isDebugEnabled()) { _log.debug("DM Folder: " + folderName.getName()); } InputStream inputStream = new FileInputStream(file); long repositoryId = folderName.getRepositoryId(); try { String selectedFileName = sourceFileName; while (true) { try { DLAppLocalServiceUtil.getFileEntry(themeDisplay.getScopeGroupId(), newFolderId, selectedFileName); StringBundler sb = new StringBundler(5); sb.append(FileUtil.stripExtension(selectedFileName)); sb.append(StringPool.DASH); sb.append(StringUtil.randomString()); sb.append(StringPool.PERIOD); sb.append(FileUtil.getExtension(selectedFileName)); selectedFileName = sb.toString(); } catch (Exception e) { break; } } FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(themeDisplay.getUserId(), repositoryId, newFolderId, selectedFileName, //file.getName(), contentType, selectedFileName, "", "", inputStream, file.length(), serviceContext); if (_log.isDebugEnabled()) { _log.debug("DM file uploade: " + fileEntry.getTitle()); } //Map<String, Serializable> workflowContext = new HashMap<String, Serializable>(); //workflowContext.put("event",DLSyncConstants.EVENT_UPDATE); //DLFileEntryLocalServiceUtil.updateStatus(themeDisplay.getUserId(), fileEntry.getFileVersion().getFileVersionId(), WorkflowConstants.STATUS_APPROVED, workflowContext, serviceContext); uploadResult = String.valueOf(fileEntry.getFileEntryId()); //uploadResults.add(uploadResult); String docUrl = themeDisplay.getPortalURL() + "/c/document_library/get_file?uuid=" + fileEntry.getUuid() + "&groupId=" + themeDisplay.getScopeGroupId(); jsonObject.put("fe", uploadResult); jsonObject.put("feOriginalName", sourceFileName); jsonObject.put("feName", fileEntry.getTitle()); jsonObject.put("feUrl", docUrl); } catch (PortalException pe) { SessionErrors.add(actionRequest, "uploadToDmError"); _log.error("The upload to DM failed", pe); return; } catch (Exception e) { _log.error("The upload to DM failed", e); return; } } jsonObject.put("Status", "With Attachment"); } else { jsonObject.put("Status", "No Attachment"); } fieldsMap.put(fieldLabel, jsonObject.toString()); } else { fieldsMap.put(fieldLabel, uploadRequest.getParameter("field" + i)); } } Set<String> validationErrors = null; try { validationErrors = validate(fieldsMap, preferences); } catch (Exception e) { SessionErrors.add(actionRequest, "validationScriptError", e.getMessage().trim()); return; } User currentUser = PortalUtil.getUser(actionRequest); String userEmail = ""; if (!Validator.isNull(currentUser)) { userEmail = currentUser.getEmailAddress(); if (_log.isDebugEnabled()) { _log.debug("User email for the form author: " + userEmail); } fieldsMap.put("email-from", userEmail); } else { fieldsMap.put("email-from", "guest"); } DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); df.setTimeZone(TimeZone.getTimeZone(themeDisplay.getTimeZone().getID())); Date dateobj = new Date(); fieldsMap.put("email-sent-on", df.format(dateobj)); if (validationErrors.isEmpty()) { boolean emailSuccess = true; boolean databaseSuccess = true; boolean fileSuccess = true; boolean emailThanksSuccess = true; if (sendAsEmail) { emailSuccess = WebFormUtil.sendEmail(themeDisplay.getCompanyId(), fieldsMap, preferences, fileAttachment); } if (sendThanksEmail && !Validator.isNull(currentUser)) { emailThanksSuccess = WebFormUtil.sendThanksEmail(themeDisplay.getCompanyId(), fieldsMap, preferences, userEmail); } if (saveToDatabase) { if (Validator.isNull(databaseTableName)) { databaseTableName = WebFormUtil.getNewDatabaseTableName(portletId); preferences.setValue("databaseTableName", databaseTableName); preferences.store(); } databaseSuccess = saveDatabase(themeDisplay.getCompanyId(), fieldsMap, preferences, databaseTableName); } if (saveToFile) { fileSuccess = saveFile(fieldsMap, fileName); } if (emailSuccess && emailThanksSuccess && databaseSuccess && fileSuccess) { if (Validator.isNull(successURL)) { SessionMessages.add(actionRequest, "success"); } else { SessionMessages.add(actionRequest, portletId + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_SUCCESS_MESSAGE); } } else { SessionErrors.add(actionRequest, "error"); } } else { for (String badField : validationErrors) { SessionErrors.add(actionRequest, "error" + badField); } } if (SessionErrors.isEmpty(actionRequest) && Validator.isNotNull(successURL)) { actionResponse.sendRedirect(successURL); } }
From source file:com.liferay.blogs.attachments.test.BaseBlogsEntryImageTestCase.java
License:Open Source License
@Test public void testImageStoredInInvisibleImageFolder() throws Exception { BlogsEntry blogsEntry = addBlogsEntry("image1.jpg"); FileEntry imageFileEntry = PortletFileRepositoryUtil.getPortletFileEntry(getImageFileEntryId(blogsEntry)); Folder imageFolder = imageFileEntry.getFolder(); Assert.assertNotEquals(BlogsConstants.SERVICE_NAME, imageFolder.getName()); }
From source file:com.liferay.blogs.service.test.BlogsEntryLocalServiceTest.java
License:Open Source License
@Test public void testAddOriginalImageInVisibleImageFolder() throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group.getGroupId(), _user.getUserId());// w w w.j ava 2s. c om BlogsEntry blogsEntry = BlogsEntryLocalServiceUtil.addEntry(_user.getUserId(), RandomTestUtil.randomString(), RandomTestUtil.randomString(), serviceContext); FileEntry tempFileEntry = getTempFileEntry(_user.getUserId(), _group.getGroupId(), "image.jpg"); ImageSelector imageSelector = new ImageSelector(FileUtil.getBytes(tempFileEntry.getContentStream()), tempFileEntry.getTitle(), tempFileEntry.getMimeType(), StringPool.BLANK); long originalImageFileEntryId = BlogsEntryLocalServiceUtil.addOriginalImageFileEntry(_user.getUserId(), _group.getGroupId(), blogsEntry.getEntryId(), imageSelector); FileEntry portletFileEntry = PortletFileRepositoryUtil.getPortletFileEntry(originalImageFileEntryId); Folder folder = portletFileEntry.getFolder(); Assert.assertEquals(BlogsConstants.SERVICE_NAME, folder.getName()); }
From source file:com.liferay.compat.hook.webdav.CompatDLWebDAVStorageImpl.java
License:Open Source License
public boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException { Resource resource = getResource(webDAVRequest); try {/*w ww .ja v a2 s . co m*/ if (isInstanceOfDLFileEntryResourceImpl(super.getResource(webDAVRequest))) { FileEntry fileEntry = (FileEntry) resource.getModel(); // Do not allow WebDAV to check in a file entry if it requires a // manual check in if (isManualCheckInRequired(fileEntry)) { return false; } ServiceContext serviceContext = new ServiceContext(); serviceContext.setAttribute(DLUtil.WEBDAV_CHECK_IN_MODE, true); ServiceContextThreadLocal.pushServiceContext(serviceContext); try { DLAppServiceUtil.checkInFileEntry(fileEntry.getFileEntryId(), token); } finally { ServiceContextThreadLocal.popServiceContext(); } if (webDAVRequest.isAppleDoubleRequest()) { DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId()); } } else { Folder folder = (Folder) resource.getModel(); DLAppServiceUtil.unlockFolder(folder.getRepositoryId(), folder.getParentFolderId(), folder.getName(), token); } return true; } catch (Exception e) { if (e instanceof InvalidLockException) { if (_log.isWarnEnabled()) { _log.warn(e.getMessage()); } } else { if (_log.isWarnEnabled()) { _log.warn("Unable to unlock file entry", e); } } } return false; }