Example usage for com.liferay.portal.kernel.model TrashedModel getTrashHandler

List of usage examples for com.liferay.portal.kernel.model TrashedModel getTrashHandler

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.model TrashedModel getTrashHandler.

Prototype

public TrashHandler getTrashHandler();

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   w ww .j av a 2 s  .co  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.taglib.servlet.taglib.UndoTag.java

License:Open Source License

@Override
protected void setAttributes(HttpServletRequest request) {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    List<TrashedModel> trashedModels = _getTrashedModels();

    List<String> classNames = new ArrayList<>();
    List<Long> restoreTrashEntryIds = new ArrayList<>();
    List<String> titles = new ArrayList<>();

    for (TrashedModel trashedModel : trashedModels) {
        try {// ww w .j a  v a 2 s .  c om
            TrashEntry trashEntry = trashedModel.getTrashEntry();

            TrashHandler trashHandler = trashedModel.getTrashHandler();

            TrashRenderer trashRenderer = trashHandler.getTrashRenderer(trashedModel.getTrashEntryClassPK());

            classNames.add(trashRenderer.getClassName());

            restoreTrashEntryIds.add(trashEntry.getEntryId());
            titles.add(trashRenderer.getTitle(themeDisplay.getLocale()));
        } catch (Exception e) {
        }
    }

    request.setAttribute("liferay-trash:undo:classNames", classNames);
    request.setAttribute("liferay-trash:undo:cmd", _getCmd());
    request.setAttribute("liferay-trash:undo:portletURL", _portletURL);
    request.setAttribute("liferay-trash:undo:redirect", _redirect);
    request.setAttribute("liferay-trash:undo:restoreTrashEntryIds", restoreTrashEntryIds);
    request.setAttribute("liferay-trash:undo:titles", titles);
    request.setAttribute("liferay-trash:undo:trashedEntriesCount", restoreTrashEntryIds.size());
}