List of usage examples for com.liferay.portal.kernel.util ObjectValuePair getKey
public K getKey()
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; }