Example usage for com.liferay.portal.kernel.util ObjectValuePair getKey

List of usage examples for com.liferay.portal.kernel.util ObjectValuePair getKey

Introduction

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

Prototype

public K getKey() 

Source Link

Usage

From source file:com.cd.learning.hook.MBMailMessage.java

License:Open Source License

public List<ObjectValuePair<String, InputStream>> getInputStreamOVPs() {
    List<ObjectValuePair<String, InputStream>> inputStreamOVPs = new ArrayList<ObjectValuePair<String, InputStream>>(
            _bytesOVPs.size());/*from w w w.ja  va 2 s . co m*/

    for (ObjectValuePair<String, byte[]> bytesOVP : _bytesOVPs) {
        String key = bytesOVP.getKey();
        byte[] bytes = bytesOVP.getValue();

        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);

        ObjectValuePair<String, InputStream> inputStreamOVP = new ObjectValuePair<String, InputStream>(key,
                byteArrayInputStream);

        inputStreamOVPs.add(inputStreamOVP);
    }

    return inputStreamOVPs;
}

From source file:com.liferay.adaptive.media.image.internal.scaler.AMGIFImageScaler.java

License:Open Source License

@Override
public AMImageScaledImage scaleImage(FileVersion fileVersion,
        AMImageConfigurationEntry amImageConfigurationEntry) {

    try {//from   ww w  .  jav  a2  s .  co m
        File file = _getFile(fileVersion);

        Future<ObjectValuePair<byte[], byte[]>> future = ProcessUtil.execute(new CollectorOutputProcessor(),
                "gifsicle", "--resize-fit", getResizeFitValues(amImageConfigurationEntry), "--output", "-",
                file.getAbsolutePath());

        ObjectValuePair<byte[], byte[]> objectValuePair = future.get();

        byte[] bytes = objectValuePair.getKey();

        Tuple<Integer, Integer> dimension = getDimension(bytes);

        return new AMImageScaledImageImpl(bytes, dimension.second, dimension.first);
    } catch (ExecutionException | InterruptedException | IOException | PortalException | ProcessException e) {

        throw new AMRuntimeException.IOException(e);
    }
}

From source file:com.liferay.message.boards.internal.util.MBMailMessage.java

License:Open Source License

public List<ObjectValuePair<String, InputStream>> getInputStreamOVPs() {
    List<ObjectValuePair<String, InputStream>> inputStreamOVPs = new ArrayList<>(_bytesOVPs.size());

    for (ObjectValuePair<String, byte[]> bytesOVP : _bytesOVPs) {
        String key = bytesOVP.getKey();
        byte[] bytes = bytesOVP.getValue();

        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);

        ObjectValuePair<String, InputStream> inputStreamOVP = new ObjectValuePair<>(key, byteArrayInputStream);

        inputStreamOVPs.add(inputStreamOVP);
    }//from   w ww .j  a v  a 2  s  .co  m

    return inputStreamOVPs;
}

From source file:com.liferay.message.boards.internal.util.MBMailMessageTest.java

License:Open Source License

@Test
public void testAddBytes() throws Exception {
    MBMailMessage mbMailMessage = new MBMailMessage();

    mbMailMessage.addBytes("=?UTF-8?Q?T=C3=ADlde.txt?=", new byte[0]);

    List<ObjectValuePair<String, InputStream>> inputStreamOVPs = mbMailMessage.getInputStreamOVPs();

    ObjectValuePair<String, InputStream> inputStreamOVP = inputStreamOVPs.get(0);

    Assert.assertEquals("T\u00EDlde.txt", inputStreamOVP.getKey());
}

From source file:com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.java

License:Open Source License

public MBMessage addMessage(long userId, String userName, long groupId, long categoryId, long threadId,
        long parentMessageId, String subject, String body, String format,
        List<ObjectValuePair<String, InputStream>> inputStreamOVPs, boolean anonymous, double priority,
        boolean allowPingbacks, ServiceContext serviceContext) throws PortalException, SystemException {

    // Message//from  ww  w .  j  a  v a  2  s  . c  om

    User user = userPersistence.findByPrimaryKey(userId);
    userName = user.isDefaultUser() ? userName : user.getFullName();
    subject = ModelHintsUtil.trimString(MBMessage.class.getName(), "subject", subject);

    PortletPreferences preferences = ServiceContextUtil.getPortletPreferences(serviceContext);

    if (preferences != null) {
        if (!MBUtil.isAllowAnonymousPosting(preferences)) {
            if (anonymous || user.isDefaultUser()) {
                throw new PrincipalException();
            }
        }
    }

    if (user.isDefaultUser()) {
        anonymous = true;
    }

    Date now = new Date();

    long messageId = counterLocalService.increment();

    body = SanitizerUtil.sanitize(user.getCompanyId(), groupId, userId, MBMessage.class.getName(), messageId,
            "text/" + format, body);

    validate(subject, body);

    subject = getSubject(subject, body);
    body = getBody(subject, body);

    MBMessage message = mbMessagePersistence.create(messageId);

    message.setUuid(serviceContext.getUuid());
    message.setGroupId(groupId);
    message.setCompanyId(user.getCompanyId());
    message.setUserId(user.getUserId());
    message.setUserName(userName);
    message.setCreateDate(serviceContext.getCreateDate(now));
    message.setModifiedDate(serviceContext.getModifiedDate(now));

    if (threadId > 0) {
        message.setThreadId(threadId);
    }

    if (priority != MBThreadConstants.PRIORITY_NOT_GIVEN) {
        message.setPriority(priority);
    }

    message.setAllowPingbacks(allowPingbacks);
    message.setStatus(WorkflowConstants.STATUS_DRAFT);
    message.setStatusByUserId(user.getUserId());
    message.setStatusByUserName(userName);
    message.setStatusDate(serviceContext.getModifiedDate(now));

    // Thread

    if (parentMessageId != MBMessageConstants.DEFAULT_PARENT_MESSAGE_ID) {
        MBMessage parentMessage = mbMessagePersistence.fetchByPrimaryKey(parentMessageId);

        if (parentMessage == null) {
            parentMessageId = MBMessageConstants.DEFAULT_PARENT_MESSAGE_ID;
        }
    }

    MBThread thread = null;

    if (threadId > 0) {
        thread = mbThreadPersistence.fetchByPrimaryKey(threadId);
    }

    if ((thread == null) || (parentMessageId == MBMessageConstants.DEFAULT_PARENT_MESSAGE_ID)) {

        thread = mbThreadLocalService.addThread(categoryId, message);
    }

    if ((priority != MBThreadConstants.PRIORITY_NOT_GIVEN) && (thread.getPriority() != priority)) {

        thread.setPriority(priority);

        mbThreadPersistence.update(thread, false);

        updatePriorities(thread.getThreadId(), priority);
    }

    // Message

    message.setCategoryId(categoryId);
    message.setThreadId(thread.getThreadId());
    message.setRootMessageId(thread.getRootMessageId());
    message.setParentMessageId(parentMessageId);
    message.setSubject(subject);
    message.setBody(body);
    message.setFormat(format);
    message.setAttachments(!inputStreamOVPs.isEmpty());
    message.setAnonymous(anonymous);

    if (message.isDiscussion()) {
        long classNameId = PortalUtil.getClassNameId((String) serviceContext.getAttribute("className"));
        long classPK = GetterUtil.getLong((String) serviceContext.getAttribute("classPK"));

        message.setClassNameId(classNameId);
        message.setClassPK(classPK);
    }

    mbMessagePersistence.update(message, false);

    // Attachments

    if (!inputStreamOVPs.isEmpty()) {
        long companyId = message.getCompanyId();
        long repositoryId = CompanyConstants.SYSTEM;
        String dirName = message.getAttachmentsDir();

        try {
            DLStoreUtil.deleteDirectory(companyId, repositoryId, dirName);
        } catch (NoSuchDirectoryException nsde) {
            if (_log.isDebugEnabled()) {
                _log.debug(nsde.getMessage());
            }
        }

        DLStoreUtil.addDirectory(companyId, repositoryId, dirName);

        for (int i = 0; i < inputStreamOVPs.size(); i++) {
            ObjectValuePair<String, InputStream> inputStreamOVP = inputStreamOVPs.get(i);

            String fileName = inputStreamOVP.getKey();
            InputStream inputStream = inputStreamOVP.getValue();

            try {
                DLStoreUtil.addFile(companyId, repositoryId, dirName + "/" + fileName, inputStream);
            } catch (DuplicateFileException dfe) {
                if (_log.isDebugEnabled()) {
                    _log.debug(dfe.getMessage());
                }
            }
        }
    }

    // Resources

    if (!message.isDiscussion()) {
        if (user.isDefaultUser()) {
            addMessageResources(message, true, true);
        } else if (serviceContext.isAddGroupPermissions() || serviceContext.isAddGuestPermissions()) {

            addMessageResources(message, serviceContext.isAddGroupPermissions(),
                    serviceContext.isAddGuestPermissions());
        } else {
            addMessageResources(message, serviceContext.getGroupPermissions(),
                    serviceContext.getGuestPermissions());
        }
    }

    // Asset

    updateAsset(userId, message, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(),
            serviceContext.getAssetLinkEntryIds(), serviceContext.isAssetEntryVisible());

    // Expando

    ExpandoBridge expandoBridge = message.getExpandoBridge();

    expandoBridge.setAttributes(serviceContext);

    // Workflow

    WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), groupId, userId,
            message.getWorkflowClassName(), message.getMessageId(), message, serviceContext);

    // Testing roll back

    /*if (true) {
       throw new SystemException("Testing roll back");
    }*/

    return message;
}

From source file:com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.java

License:Open Source License

public MBMessage updateMessage(long userId, long messageId, String subject, String body,
        List<ObjectValuePair<String, InputStream>> inputStreamOVPs, List<String> existingFiles, double priority,
        boolean allowPingbacks, ServiceContext serviceContext) throws PortalException, SystemException {

    // Message/*from   w  w  w . j  av  a2s.  c  om*/

    MBMessage message = mbMessagePersistence.findByPrimaryKey(messageId);

    subject = ModelHintsUtil.trimString(MBMessage.class.getName(), "subject", subject);
    body = SanitizerUtil.sanitize(message.getCompanyId(), message.getGroupId(), userId,
            MBMessage.class.getName(), messageId, "text/" + message.getFormat(), body);
    Date now = new Date();

    validate(subject, body);

    subject = getSubject(subject, body);
    body = getBody(subject, body);

    message.setModifiedDate(serviceContext.getModifiedDate(now));
    message.setSubject(subject);
    message.setBody(body);
    message.setAttachments(!inputStreamOVPs.isEmpty() || !existingFiles.isEmpty());
    message.setAllowPingbacks(allowPingbacks);

    if (priority != MBThreadConstants.PRIORITY_NOT_GIVEN) {
        message.setPriority(priority);
    }

    if (!message.isPending() && (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_SAVE_DRAFT)) {

        message.setStatus(WorkflowConstants.STATUS_DRAFT);
    }

    // Attachments

    long companyId = message.getCompanyId();
    long repositoryId = CompanyConstants.SYSTEM;
    String dirName = message.getAttachmentsDir();

    if (!inputStreamOVPs.isEmpty() || !existingFiles.isEmpty()) {
        try {
            DLStoreUtil.addDirectory(companyId, repositoryId, dirName);
        } catch (DuplicateDirectoryException dde) {
        }

        String[] fileNames = DLStoreUtil.getFileNames(companyId, repositoryId, dirName);

        for (String fileName : fileNames) {
            if (!existingFiles.contains(fileName)) {
                DLStoreUtil.deleteFile(companyId, repositoryId, fileName);
            }
        }

        for (int i = 0; i < inputStreamOVPs.size(); i++) {
            ObjectValuePair<String, InputStream> inputStreamOVP = inputStreamOVPs.get(i);

            String fileName = inputStreamOVP.getKey();
            InputStream inputStream = inputStreamOVP.getValue();

            try {
                DLStoreUtil.addFile(companyId, repositoryId, dirName + "/" + fileName, inputStream);
            } catch (DuplicateFileException dfe) {
            }
        }
    } else {
        try {
            DLStoreUtil.deleteDirectory(companyId, repositoryId, dirName);
        } catch (NoSuchDirectoryException nsde) {
        }
    }

    mbMessagePersistence.update(message, false);

    // Thread

    MBThread thread = mbThreadPersistence.findByPrimaryKey(message.getThreadId());

    if ((priority != MBThreadConstants.PRIORITY_NOT_GIVEN) && (thread.getPriority() != priority)) {

        thread.setPriority(priority);

        mbThreadPersistence.update(thread, false);

        updatePriorities(thread.getThreadId(), priority);
    }

    // Asset

    updateAsset(userId, message, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(),
            serviceContext.getAssetLinkEntryIds());

    // Expando

    ExpandoBridge expandoBridge = message.getExpandoBridge();

    expandoBridge.setAttributes(serviceContext);

    // Workflow

    serviceContext.setAttribute("update", Boolean.TRUE.toString());

    WorkflowHandlerRegistryUtil.startWorkflowInstance(companyId, message.getGroupId(), userId,
            message.getWorkflowClassName(), message.getMessageId(), message, serviceContext);

    return message;
}

From source file:com.liferay.portlet.wiki.service.impl.WikiPageLocalServiceImpl.java

License:Open Source License

public void addPageAttachments(long userId, long nodeId, String title,
        List<ObjectValuePair<String, InputStream>> inputStreams) throws PortalException, SystemException {

    if (inputStreams.size() == 0) {
        return;//from   w ww  .  jav a  2 s  .c  o  m
    }

    for (int i = 0; i < inputStreams.size(); i++) {
        ObjectValuePair<String, InputStream> ovp = inputStreams.get(i);

        String fileName = ovp.getKey();
        InputStream inputStream = ovp.getValue();

        addPageAttachment(userId, nodeId, title, fileName, inputStream);
    }
}

From source file:com.liferay.trash.service.impl.TrashEntryLocalServiceImpl.java

License:Open Source License

/**
 * Moves an entry to trash.//from   w  w  w  .jav a 2s  .com
 *
 * @param  userId the primary key of the user removing the entity
 * @param  groupId the primary key of the entry's group
 * @param  className the class name of the entity
 * @param  classPK the primary key of the entity
 * @param  classUuid the UUID of the entity's class
 * @param  referrerClassName the referrer class name used to add a deletion
 *         {@link SystemEvent}
 * @param  status the status of the entity prior to being moved to trash
 * @param  statusOVPs the primary keys and statuses of any of the entry's
 *         versions (e.g., {@link
 *         com.liferay.portlet.documentlibrary.model.DLFileVersion})
 * @param  typeSettingsProperties the type settings properties
 * @return the trashEntry
 */
@Override
public TrashEntry addTrashEntry(long userId, long groupId, String className, long classPK, String classUuid,
        String referrerClassName, int status, List<ObjectValuePair<Long, Integer>> statusOVPs,
        UnicodeProperties typeSettingsProperties) throws PortalException {

    User user = userLocalService.getUserById(userId);
    long classNameId = classNameLocalService.getClassNameId(className);

    TrashEntry trashEntry = trashEntryPersistence.fetchByC_C(classNameId, classPK);

    if (trashEntry != null) {
        return trashEntry;
    }

    TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className);

    SystemEvent systemEvent = trashHandler.addDeletionSystemEvent(userId, groupId, classPK, classUuid,
            referrerClassName);

    long entryId = counterLocalService.increment();

    trashEntry = trashEntryPersistence.create(entryId);

    trashEntry.setGroupId(groupId);
    trashEntry.setCompanyId(user.getCompanyId());
    trashEntry.setUserId(user.getUserId());
    trashEntry.setUserName(user.getFullName());
    trashEntry.setCreateDate(new Date());
    trashEntry.setClassNameId(classNameId);
    trashEntry.setClassPK(classPK);

    if (systemEvent != null) {
        trashEntry.setSystemEventSetKey(systemEvent.getSystemEventSetKey());
    }

    if (typeSettingsProperties != null) {
        trashEntry.setTypeSettingsProperties(typeSettingsProperties);
    }

    trashEntry.setStatus(status);

    trashEntryPersistence.update(trashEntry);

    if (statusOVPs != null) {
        for (ObjectValuePair<Long, Integer> statusOVP : statusOVPs) {
            long versionId = counterLocalService.increment();

            TrashVersion trashVersion = trashVersionPersistence.create(versionId);

            trashVersion.setEntryId(entryId);
            trashVersion.setClassNameId(classNameId);
            trashVersion.setClassPK(statusOVP.getKey());
            trashVersion.setStatus(statusOVP.getValue());

            trashVersionPersistence.update(trashVersion);
        }
    }

    return trashEntry;
}

From source file:com.liferay.trash.web.internal.util.TrashUndoUtil.java

License:Open Source License

public static void addRestoreData(ActionRequest actionRequest, List<ObjectValuePair<String, Long>> entries)
        throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    if ((entries == null) || entries.isEmpty()) {
        return;/*from w w w  .j a v  a 2 s .co m*/
    }

    List<String> restoreClassNames = new ArrayList<>();
    List<String> restoreEntryLinks = new ArrayList<>();
    List<String> restoreEntryMessages = new ArrayList<>();
    List<String> restoreLinks = new ArrayList<>();
    List<String> restoreMessages = new ArrayList<>();

    for (ObjectValuePair<String, Long> entry : entries) {
        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(entry.getKey());

        String restoreEntryLink = trashHandler.getRestoreContainedModelLink(actionRequest, entry.getValue());
        String restoreLink = trashHandler.getRestoreContainerModelLink(actionRequest, entry.getValue());
        String restoreMessage = trashHandler.getRestoreMessage(actionRequest, entry.getValue());

        if (Validator.isNull(restoreLink) || Validator.isNull(restoreMessage)) {

            continue;
        }

        restoreClassNames.add(trashHandler.getClassName());
        restoreEntryLinks.add(restoreEntryLink);

        TrashRenderer trashRenderer = trashHandler.getTrashRenderer(entry.getValue());

        String restoreEntryTitle = trashRenderer.getTitle(themeDisplay.getLocale());

        restoreEntryMessages.add(restoreEntryTitle);

        restoreLinks.add(restoreLink);
        restoreMessages.add(restoreMessage);
    }

    Map<String, List<String>> data = new HashMap<>();

    data.put("restoreClassNames", restoreClassNames);
    data.put("restoreEntryLinks", restoreEntryLinks);
    data.put("restoreEntryMessages", restoreEntryMessages);
    data.put("restoreLinks", restoreLinks);
    data.put("restoreMessages", restoreMessages);

    SessionMessages.add(actionRequest,
            PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_DELETE_SUCCESS_DATA, data);
}

From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java

License:Open Source License

@Override
public List<FileEntry> addPageAttachments(long userId, long nodeId, String title,
        List<ObjectValuePair<String, InputStream>> inputStreamOVPs) throws PortalException {

    List<FileEntry> fileEntries = new ArrayList<>();

    if (inputStreamOVPs.isEmpty()) {
        return Collections.emptyList();
    }/* w  w  w. ja v a  2s  . c  o m*/

    for (int i = 0; i < inputStreamOVPs.size(); i++) {
        ObjectValuePair<String, InputStream> inputStreamOVP = inputStreamOVPs.get(i);

        String fileName = inputStreamOVP.getKey();
        InputStream inputStream = inputStreamOVP.getValue();

        File file = null;

        try {
            file = FileUtil.createTempFile(inputStream);

            String mimeType = MimeTypesUtil.getContentType(file, fileName);

            FileEntry fileEntry = addPageAttachment(userId, nodeId, title, fileName, file, mimeType);

            fileEntries.add(fileEntry);
        } catch (IOException ioe) {
            throw new SystemException("Unable to write temporary file", ioe);
        } finally {
            FileUtil.delete(file);
        }
    }

    return fileEntries;
}