@Override public void restoreThreadFromTrash(long userId, long threadId) throws PortalException { // Thread MBThread thread = getThread(threadId); if (thread.getCategoryId() == MBCategoryConstants.DISCUSSION_CATEGORY_ID) { return; } TrashEntry trashEntry = trashEntryLocalService.getEntry(MBThread.class.getName(), threadId); updateStatus(userId, threadId, trashEntry.getStatus()); // Messages restoreDependentsFromTrash(thread.getGroupId(), threadId); // Trash trashEntryLocalService.deleteEntry(trashEntry.getEntryId()); // Social MBMessage message = mbMessageLocalService.getMBMessage(thread.getRootMessageId()); JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("rootMessageId", thread.getRootMessageId()); extraDataJSONObject.put("title", message.getSubject()); SocialActivityManagerUtil.addActivity( userId, thread, SocialActivityConstants.TYPE_RESTORE_FROM_TRASH, extraDataJSONObject.toString(), 0); }