Example usage for com.liferay.portal.kernel.repository.model Folder getName

List of usage examples for com.liferay.portal.kernel.repository.model Folder getName

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.repository.model Folder getName.

Prototype

public String getName();

Source Link

Usage

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