Example usage for com.liferay.portal.kernel.trash TrashRenderer getType

List of usage examples for com.liferay.portal.kernel.trash TrashRenderer getType

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.trash TrashRenderer getType.

Prototype

public String getType();

Source Link

Usage

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 ww w .  j a  v  a  2 s.com*/
    }

    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);
        }
    }
}