Example usage for com.liferay.portal.kernel.search Field ROOT_ENTRY_CLASS_PK

List of usage examples for com.liferay.portal.kernel.search Field ROOT_ENTRY_CLASS_PK

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search Field ROOT_ENTRY_CLASS_PK.

Prototype

String ROOT_ENTRY_CLASS_PK

To view the source code for com.liferay.portal.kernel.search Field ROOT_ENTRY_CLASS_PK.

Click Source Link

Usage

From source file:com.liferay.message.boards.internal.search.MBMessageIndexer.java

License:Open Source License

@Override
protected Document doGetDocument(MBMessage mbMessage) throws Exception {
    Document document = getBaseModelDocument(CLASS_NAME, mbMessage);

    document.addKeyword(Field.CATEGORY_ID, mbMessage.getCategoryId());
    document.addText(Field.CONTENT, processContent(mbMessage));
    document.addKeyword(Field.ROOT_ENTRY_CLASS_PK, mbMessage.getRootMessageId());
    document.addText(Field.TITLE, mbMessage.getSubject());

    if (mbMessage.isAnonymous()) {
        document.remove(Field.USER_NAME);
    }// w ww .j a  v  a 2  s.c  o m

    MBDiscussion discussion = mbDiscussionLocalService.fetchThreadDiscussion(mbMessage.getThreadId());

    if (discussion == null) {
        document.addKeyword("discussion", false);
    } else {
        document.addKeyword("discussion", true);
    }

    document.addKeyword("threadId", mbMessage.getThreadId());

    if (mbMessage.isDiscussion()) {
        List<RelatedEntryIndexer> relatedEntryIndexers = RelatedEntryIndexerRegistryUtil
                .getRelatedEntryIndexers(mbMessage.getClassName());

        if (relatedEntryIndexers != null) {
            for (RelatedEntryIndexer relatedEntryIndexer : relatedEntryIndexers) {

                Comment comment = commentManager.fetchComment(mbMessage.getMessageId());

                if (comment != null) {
                    relatedEntryIndexer.addRelatedEntryFields(document, comment);

                    document.addKeyword(Field.RELATED_ENTRY, true);
                }
            }
        }
    }

    return document;
}

From source file:com.liferay.portlet.messageboards.util.MBIndexer.java

License:Open Source License

@Override
protected Document doGetDocument(Object obj) throws Exception {
    MBMessage message = (MBMessage) obj;

    Document document = getBaseModelDocument(PORTLET_ID, message);

    document.addKeyword(Field.CATEGORY_ID, message.getCategoryId());
    document.addText(Field.CONTENT, processContent(message));
    document.addKeyword(Field.ROOT_ENTRY_CLASS_PK, message.getRootMessageId());
    document.addText(Field.TITLE, message.getSubject());

    if (message.isAnonymous()) {
        document.remove(Field.USER_NAME);
    }//from  w ww .  j  a  va2 s. c o m

    try {
        MBDiscussionLocalServiceUtil.getThreadDiscussion(message.getThreadId());

        document.addKeyword("discussion", true);
    } catch (NoSuchDiscussionException nsde) {
        document.addKeyword("discussion", false);
    }

    document.addKeyword("threadId", message.getThreadId());

    return document;
}

From source file:com.liferay.trash.internal.search.TrashedModelDocumentContributor.java

License:Open Source License

@Override
public void contribute(Document document, BaseModel baseModel) {
    if ((baseModel == null) || !(baseModel instanceof TrashedModel)) {
        return;/*from w  ww  .ja v  a2 s  . c o m*/
    }

    TrashedModel trashedModel = (TrashedModel) baseModel;

    if (!trashedModel.isInTrash()) {
        return;
    }

    TrashEntry trashEntry = null;

    try {
        trashEntry = trashedModel.getTrashEntry();
    } catch (PortalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to get trash entry for " + trashedModel, pe);
        }
    }

    if (trashEntry == null) {
        document.addDate(Field.REMOVED_DATE, new Date());

        ServiceContext serviceContext = ServiceContextThreadLocal.getServiceContext();

        if (serviceContext != null) {
            try {
                User user = _userLocalService.getUser(serviceContext.getUserId());

                document.addKeyword(Field.REMOVED_BY_USER_NAME, user.getFullName(), true);
            } catch (PortalException pe) {
                if (_log.isDebugEnabled()) {
                    _log.debug("Unable to locate user " + serviceContext.getUserId(), pe);
                }
            }
        }
    } else {
        document.addDate(Field.REMOVED_DATE, trashEntry.getCreateDate());
        document.addKeyword(Field.REMOVED_BY_USER_NAME, trashEntry.getUserName(), true);

        if (trashedModel.isInTrash() && !trashedModel.isInTrashExplicitly()) {

            document.addKeyword(Field.ROOT_ENTRY_CLASS_NAME, trashEntry.getClassName());
            document.addKeyword(Field.ROOT_ENTRY_CLASS_PK, trashEntry.getClassPK());
        }
    }

    TrashHandler trashHandler = trashedModel.getTrashHandler();

    try {
        TrashRenderer trashRenderer = null;

        if ((trashHandler != null) && (trashEntry != null)) {
            trashRenderer = trashHandler.getTrashRenderer(trashEntry.getClassPK());
        }

        if (trashRenderer != null) {
            document.addKeyword(Field.TYPE, trashRenderer.getType(), true);
        }
    } catch (PortalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to get trash renderer for " + trashEntry.getClassName(), pe);
        }
    }
}

From source file:com.liferay.trash.internal.search.TrashIndexer.java

License:Open Source License

public TrashIndexer() {
    setDefaultSelectedFieldNames(Field.ENTRY_CLASS_NAME, Field.ENTRY_CLASS_PK, Field.REMOVED_BY_USER_NAME,
            Field.REMOVED_DATE, Field.ROOT_ENTRY_CLASS_NAME, Field.ROOT_ENTRY_CLASS_PK, Field.UID);
    setFilterSearch(true);//from   w  w  w .  ja  va  2  s  .  c o m
    setPermissionAware(true);
}

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

License:Open Source License

private List<TrashEntry> _getEntries(Hits hits) {
    List<TrashEntry> entries = new ArrayList<>();

    for (Document document : hits.getDocs()) {
        String entryClassName = GetterUtil.getString(document.get(Field.ENTRY_CLASS_NAME));
        long classPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));

        TrashEntry entry = fetchEntry(entryClassName, classPK);

        if (entry != null) {
            entries.add(entry);/*from ww w.  j  a  va2 s.  co m*/

            continue;
        }

        try {
            String userName = GetterUtil.getString(document.get(Field.REMOVED_BY_USER_NAME));

            Date removedDate = document.getDate(Field.REMOVED_DATE);

            entry = new TrashEntryImpl();

            entry.setUserName(userName);
            entry.setCreateDate(removedDate);

            TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(entryClassName);

            TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK);

            entry.setClassName(trashRenderer.getClassName());
            entry.setClassPK(trashRenderer.getClassPK());

            String rootEntryClassName = GetterUtil.getString(document.get(Field.ROOT_ENTRY_CLASS_NAME));
            long rootEntryClassPK = GetterUtil.getLong(document.get(Field.ROOT_ENTRY_CLASS_PK));

            TrashEntry rootTrashEntry = fetchEntry(rootEntryClassName, rootEntryClassPK);

            if (rootTrashEntry != null) {
                entry.setRootEntry(rootTrashEntry);
            }

            entries.add(entry);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn(StringBundler.concat("Unable to find trash entry for ", entryClassName,
                        " with primary key ", String.valueOf(classPK)));
            }
        }
    }

    return entries;
}