protected String getOriginalTitle(String title, String prefix) { if (!title.startsWith(prefix)) { return title; } title = title.substring(prefix.length()); long trashEntryId = GetterUtil.getLong(title); if (trashEntryId <= 0) { return title; } try { TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(trashEntryId); if (trashEntry == null) { TrashVersion trashVersion = TrashVersionLocalServiceUtil.getTrashVersion(trashEntryId); title = trashVersion.getTypeSettingsProperty("title"); } else { title = trashEntry.getTypeSettingsProperty("title"); } } catch (Exception e) { if (_log.isDebugEnabled()) { _log.debug("No trash entry or trash version exists with ID " + trashEntryId); } } return title; }
@Override public List<TrashEntry> getEntries(Hits hits) { List<TrashEntry> entries = new ArrayList<TrashEntry>(); 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)); try { TrashEntry entry = TrashEntryLocalServiceUtil.fetchEntry(entryClassName, classPK); if (entry == null) { String userName = GetterUtil.getString(document.get(Field.REMOVED_BY_USER_NAME)); Date removedDate = document.getDate(Field.REMOVED_DATE); entry = new TrashEntryImpl(); entry.setClassName(entryClassName); entry.setClassPK(classPK); entry.setUserName(userName); entry.setCreateDate(removedDate); String rootEntryClassName = GetterUtil.getString(document.get(Field.ROOT_ENTRY_CLASS_NAME)); long rootEntryClassPK = GetterUtil.getLong(document.get(Field.ROOT_ENTRY_CLASS_PK)); TrashEntry rootTrashEntry = TrashEntryLocalServiceUtil.fetchEntry(rootEntryClassName, rootEntryClassPK); if (rootTrashEntry != null) { entry.setRootEntry(rootTrashEntry); } } entries.add(entry); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn( "Unable to find trash entry for " + entryClassName + " with primary key " + classPK); } } } return entries; }
@Override public boolean isInTrashExplicitly() throws SystemException { if (!isInTrash()) { return false; } TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(getModelClassName(), getTrashEntryClassPK()); if (trashEntry != null) { return true; } return false; }
@Override public TrashEntry getTrashEntry() throws PortalException { if (!isInTrash()) { return null; } 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; }