Example usage for com.liferay.portal.kernel.repository.model FileEntry getFileEntryId

List of usage examples for com.liferay.portal.kernel.repository.model FileEntry getFileEntryId

Introduction

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

Prototype

public long getFileEntryId();

Source Link

Usage

From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderUsageHelper.java

License:Open Source License

/**
 * Visit Folder.//from ww  w  .j av  a2  s  . c  o  m
 * 
 * @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:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderUsageHelper.java

License:Open Source License

/**
 * Visit File Entry./* w w w  .  j av a2 s . co m*/
 *
 * @param fileEntry file entry
 * @param folderPath folder path
 * @param folderUsageCollector folder usage collector
 * 
 * @throws PortalException
 * @throws SystemException
 * @throws IOException
 */
public static void calculateFileEntryUsage(FileEntry fileEntry, String folderPath,
        DLFolderUsageCollector folderUsageCollector) throws PortalException, SystemException, IOException {

    if (s_log.isDebugEnabled()) {
        s_log.debug(
                "calculating usage for file entry " + fileEntry.getFileEntryId() + "/" + fileEntry.getTitle());
    }

    try {

        long fileEntrySize = fileEntry.getSize();

        folderUsageCollector.incrementFolderSize(fileEntrySize);

    } catch (Exception e) {

        String msg = "Error calculating usage for file entry " + fileEntry.getFileEntryId() + " : "
                + e.getMessage();

        s_log.error(msg, e);

        if (e instanceof PortalException) {
            throw (PortalException) e;

        } else if (e instanceof SystemException) {
            throw (SystemException) e;

        } else if (e instanceof IOException) {
            throw (IOException) e;
        }
    }
}

From source file:com.bemis.portal.fileuploader.service.impl.FileUploaderLocalServiceImpl.java

License:Open Source License

/**
 * Uploads the file into the destination folder
 * If the file does not exist, adds the file. If exists, updates the existing file
 * Adds tags and categories to documents
 *
 * @param file/*  ww w  . j  av  a  2 s  .  com*/
 * @param fileDescription
 * @param fileName
 * @param changeLog
 * @param serviceContext
 * @return FileEntry
 * @throws PortalException
 */
public FileEntry uploadFile(File file, String fileDescription, String fileName, String changeLog,
        ServiceContext serviceContext) throws PortalException {

    if (_log.isDebugEnabled()) {
        _log.debug("Invoking uploadFile....");
    }

    long companyId = serviceContext.getCompanyId();
    long groupId = serviceContext.getScopeGroupId();
    long userId = serviceContext.getUserId();

    // see https://issues.liferay.com/browse/LPS-66607

    User user = userLocalService.getUser(userId);

    // Check permissions

    _fileUploadHelper.checkPermission(companyId, groupId, userId);

    String title = FilenameUtils.removeExtension(fileName);

    long folderId = GetterUtil.getLong(serviceContext.getAttribute(DESTINATION_FOLDER_ID));

    fileName = file.getName();

    String mimeType = MimeTypesUtil.getContentType(fileName);

    boolean majorVersion = true;

    DLFileEntry dlFileEntry = _dlFileEntryLocalService.fetchFileEntry(groupId, folderId, title);

    FileEntry fileEntry = null;

    if (Validator.isNull(dlFileEntry)) {
        fileEntry = addFileEntry(userId, groupId, folderId, fileName, mimeType, title, fileDescription,
                changeLog, file, serviceContext);
    } else {
        fileEntry = updateFileEntry(userId, dlFileEntry, fileName, mimeType, title, fileDescription, changeLog,
                majorVersion, file, serviceContext);
    }

    FileVersion fileVersion = fileEntry.getFileVersion();

    long[] assetCategoryIds = _fileUploadHelper.getAssetCategoryIds(groupId, title, serviceContext);

    String[] assetTagNames = serviceContext.getAssetTagNames();

    if (_log.isDebugEnabled()) {
        _log.debug(">>> Updating FileEntry with tags and categories");
    }

    _dlAppLocalService.updateAsset(userId, fileEntry, fileVersion, assetCategoryIds, assetTagNames, null);

    // Post processing uploaded file

    _fileUploadHelper.postProcessUpload(file, fileEntry.getFileEntryId(), serviceContext);

    return fileEntry;
}

From source file:com.bemis.portal.fileuploader.service.impl.FileUploaderLocalServiceImpl.java

License:Open Source License

protected FileEntry addFileEntry(long userId, long groupId, long folderId, String sourceFileName,
        String mimeType, String title, String fileDescription, String changeLog, File inputFile,
        ServiceContext serviceContext) throws PortalException {

    long repositoryId = groupId;

    if (_log.isDebugEnabled()) {
        _log.debug(">>> File does not exist. Adding File Entry for : " + title);
    }/*from w w w  .ja v  a  2 s.  c o m*/

    if (Validator.isBlank(fileDescription)) {
        fileDescription = title;
    }

    FileEntry fileEntry = _dlAppLocalService.addFileEntry(userId, repositoryId, folderId, sourceFileName,
            mimeType, title, fileDescription, changeLog, inputFile, serviceContext);

    if (_log.isWarnEnabled()) {
        _log.warn(String.format(">>> File with name '%s' added successfully with id : '%s'", title,
                fileEntry.getFileEntryId()));
    }

    return fileEntry;
}

From source file:com.bemis.portal.fileuploader.service.impl.FileUploaderLocalServiceImpl.java

License:Open Source License

protected FileEntry updateFileEntry(long userId, DLFileEntry dlFileEntry, String sourceFileName,
        String mimeType, String title, String fileDescription, String changeLog, boolean majorVersion,
        File file, ServiceContext serviceContext) throws PortalException {

    long dlFileEntryId = dlFileEntry.getFileEntryId();

    if (_log.isDebugEnabled()) {
        _log.debug(">>> File already exists, updating fileEntry with id :" + dlFileEntryId);
    }/*  w  w w. j a v a  2s.c  om*/

    if (Validator.isBlank(changeLog)) {
        long currentFileSize = file.length();

        if (currentFileSize != dlFileEntry.getSize()) {
            changeLog = FileUploaderConstants.DEFAULT_CHANGE_LOG;
        }
    }

    FileEntry fileEntry = _dlAppLocalService.updateFileEntry(userId, dlFileEntryId, sourceFileName, mimeType,
            title, fileDescription, changeLog, majorVersion, file, serviceContext);

    if (_log.isWarnEnabled()) {
        _log.warn(String.format(
                ">>> File with name '%s' updated with change : '%s'" + "successfully with id : '%s'", title,
                changeLog, fileEntry.getFileEntryId()));
    }

    return fileEntry;
}

From source file:com.delfilab.gargall.service.impl.GargallServiceImpl.java

License:Open Source License

@AccessControlled(guestAccessEnabled = true)
@Override/*from   w  w  w  .  ja v a  2s  . c  o  m*/
public List<GargallDLFileEntry> getGargallDLFileEntries(long repositoryId, long folderId, int status, int start,
        int end) throws Exception {

    List<GargallDLFileEntry> gargallDLFileEntries = new ArrayList<GargallDLFileEntry>();

    Set<Long> dlFileEntryIds = new HashSet<Long>();

    PermissionChecker folderPermissionChecker = getPermissionChecker();

    if (folderPermissionChecker.hasPermission(repositoryId, DLFolder.class.getName(), folderId,
            ActionKeys.VIEW)) {

        QueryDefinition queryDefinition = new QueryDefinition(status, start, end, null);

        List<Object> foldersAndFileEntriesAndFileShortcuts = dlFolderLocalService
                .getFoldersAndFileEntriesAndFileShortcuts(repositoryId, folderId, null, false, queryDefinition);
        for (Object folderAndFileEntryAndFileShortcut : foldersAndFileEntriesAndFileShortcuts) {
            if (folderAndFileEntryAndFileShortcut instanceof FileEntry) {
                FileEntry fileEntry = (FileEntry) folderAndFileEntryAndFileShortcut;
                long fileEntryId2 = fileEntry.getFileEntryId();
                DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.getDLFileEntry(fileEntryId2);
                if (dlFileEntryIds.contains(dlFileEntry.getFileEntryId())) {
                    continue;
                }
                dlFileEntryIds.add(dlFileEntry.getFileEntryId());
                try {
                    PermissionChecker permissionChecker = getPermissionChecker();

                    if (permissionChecker.hasPermission(dlFileEntry.getGroupId(), DLFileEntry.class.getName(),
                            dlFileEntry.getPrimaryKey(), ActionKeys.VIEW)) {

                        GargallDLFileEntry gargallDlFileEntry = getGargallDLFileEntry(dlFileEntry);

                        gargallDLFileEntries.add(gargallDlFileEntry);
                    }
                } catch (NoSuchFileEntryException nsae) {
                }

            } else if (folderAndFileEntryAndFileShortcut instanceof Folder) {
                //Folder subFolder = (Folder) folderAndFileEntryAndFileShortcut;
                // qui ricorsione
            } else if (folderAndFileEntryAndFileShortcut instanceof DLFileShortcut) {
                //DLFileShortcut dlFileShorcut = (DLFileShortcut) folderAndFileEntryAndFileShortcut;
                // qui non faccio nulla
                continue;
            } //end for su foldersAndFileEntriesAndFileShortcuts
        }
    }
    return gargallDLFileEntries;
}

From source file:com.ese.ils.beta.service.impl.SlideLocalServiceImpl.java

License:Open Source License

public boolean addSlides(List<File> slidePNGs, long repositoryId, long folderId, long moduleId)
        throws PortalException, SystemException {
    boolean status = false;
    String idTemp;/* w ww .ja  v a 2s  .  co m*/
    // nicht null, weil array bei 0 beginnt
    int slideNr = 1;

    ServiceContext serviceContext = new ServiceContext();

    Iterator<File> pngIterator = slidePNGs.iterator();
    while (pngIterator.hasNext()) {
        File slideFile = pngIterator.next();
        FileEntry fileEntry = DLAppServiceUtil.addFileEntry(repositoryId, folderId, slideFile.getName(),
                "image/png", slideFile.getName(), "modul nr.: " + moduleId + " slide nr.: " + slideNr,
                "initial upload", slideFile, serviceContext);
        idTemp = DeComposer.longToPrimaryKey(moduleId, Long.valueOf(slideNr));
        Slide slide = slidePersistence.create(new Long(idTemp));
        slide.setModuleId(moduleId);
        slide.setCreateDate(new Date());
        slide.setModifiedDate(new Date());
        slide.setFileEntryId(fileEntry.getFileEntryId());
        slide.setAddtionalInfo("links and additional information here");
        slide.setIndex(slideNr - 1);
        slidePersistence.update(slide, false);
        slideNr++;
        status = true;
    }
    return status;
}

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 {/*  ww  w. j a v  a2s . 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.adaptive.media.blogs.internal.exportimport.content.processor.AdaptiveMediaTagFactory.java

License:Open Source License

public String createDynamicTag(FileEntry fileEntry) throws PortalException {
    String previewURL = DLUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), null, StringPool.BLANK);

    return String.format("<img data-fileentryid=\"%d\" src=\"%s\" />", fileEntry.getFileEntryId(), previewURL);
}

From source file:com.liferay.adaptive.media.blogs.internal.exportimport.data.handler.test.AMBlogsEntryStagedModelDataHandlerTest.java

License:Open Source License

private String _getImgTag(FileEntry fileEntry) throws Exception {
    return _getImgTag(fileEntry.getFileEntryId());
}