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

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

Introduction

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

Prototype

public TrashEntry getTrashEntry() throws PortalException;

Source Link

Usage

From source file:com.liferay.blogs.model.impl.BlogsEntryModelImpl.java

License:Open Source License

@Override
public com.liferay.trash.kernel.model.TrashEntry getTrashEntry() throws PortalException {
    if (!isInTrash()) {
        return null;
    }//  ww  w . jav a 2s .  com

    com.liferay.trash.kernel.model.TrashEntry trashEntry = com.liferay.trash.kernel.service.TrashEntryLocalServiceUtil
            .fetchEntry(getModelClassName(), getTrashEntryClassPK());

    if (trashEntry != null) {
        return trashEntry;
    }

    com.liferay.portal.kernel.trash.TrashHandler trashHandler = getTrashHandler();

    if (!Validator.isNull(trashHandler.getContainerModelClassName(getPrimaryKey()))) {
        ContainerModel containerModel = null;

        try {
            containerModel = trashHandler.getParentContainerModel(this);
        } catch (NoSuchModelException nsme) {
            return null;
        }

        while (containerModel != null) {
            if (containerModel instanceof TrashedModel) {
                TrashedModel trashedModel = (TrashedModel) containerModel;

                return trashedModel.getTrashEntry();
            }

            trashHandler = com.liferay.portal.kernel.trash.TrashHandlerRegistryUtil.getTrashHandler(
                    trashHandler.getContainerModelClassName(containerModel.getContainerModelId()));

            if (trashHandler == null) {
                return null;
            }

            containerModel = trashHandler.getContainerModel(containerModel.getParentContainerModelId());
        }
    }

    return null;
}

From source file:com.liferay.journal.model.impl.JournalArticleModelImpl.java

License:Open Source License

@Override
public TrashEntry getTrashEntry() throws PortalException {
    if (!isInTrash()) {
        return null;
    }/*from  w  w  w  .j av  a  2 s. c o  m*/

    TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(getModelClassName(), getTrashEntryClassPK());

    if (trashEntry != null) {
        return trashEntry;
    }

    TrashHandler trashHandler = getTrashHandler();

    if (!Validator.isNull(trashHandler.getContainerModelClassName(getPrimaryKey()))) {
        ContainerModel containerModel = null;

        try {
            containerModel = trashHandler.getParentContainerModel(this);
        } catch (NoSuchModelException nsme) {
            return null;
        }

        while (containerModel != null) {
            if (containerModel instanceof TrashedModel) {
                TrashedModel trashedModel = (TrashedModel) containerModel;

                return trashedModel.getTrashEntry();
            }

            trashHandler = TrashHandlerRegistryUtil.getTrashHandler(
                    trashHandler.getContainerModelClassName(containerModel.getContainerModelId()));

            if (trashHandler == null) {
                return null;
            }

            containerModel = trashHandler.getContainerModel(containerModel.getParentContainerModelId());
        }
    }

    return null;
}

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;//ww  w.jav  a2 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 {/*from w  w  w .java2 s  .  com*/
            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());
}