private boolean versionExists() { for (VersionHistorySummary versionHistorySummary : pageManager.getVersionHistorySummaries(getAbstractPage())) { if (versionHistorySummary.getVersion() == versionNumber) return true; } return false; }
private DavResourceLocator[] getVersionContentResourceLocators() { DavResourceLocator locator = getLocator(); ContentEntityObject contentEntityObject = getContentEntityObject(); List<VersionHistorySummary> versionHistorySummaries = getPageManager().getVersionHistorySummaries(contentEntityObject); StringBuffer contentPathBuffer = new StringBuffer(); List<DavResourceLocator> pageResourceLocators = new ArrayList<DavResourceLocator>(); String parentResourcePath = getParentResourcePath(); for (VersionHistorySummary versionHistorySummary : versionHistorySummaries) { contentPathBuffer.setLength(0); contentPathBuffer.append(parentResourcePath) .append('/').append(AbstractVersionsResource.DISPLAY_NAME) .append('/').append(AbstractVersionContentResource.DISPLAY_NAME_PREFIX).append(versionHistorySummary.getVersion()).append(AbstractVersionContentResource.DISPLAY_NAME_SUFFIX); DavResourceLocator pageResourceLocator = locator.getFactory().createResourceLocator( locator.getPrefix(), locator.getWorkspacePath(), contentPathBuffer.toString(), false ); pageResourceLocators.add(pageResourceLocator); } return pageResourceLocators.toArray(new DavResourceLocator[pageResourceLocators.size()]); } }
public String execute(Map parameters, String body, RenderContext renderContext) throws MacroException { Map<String, Object> contextMap = getDefaultVelocityContext(); PageContext context = (PageContext) renderContext; ContentEntityObject ceo = context.getEntity(); if (ceo instanceof AbstractPage) { AbstractPage page = (AbstractPage) ceo; List previousVersions = pageManager.getVersionHistorySummaries(page); // Remove the current version, that's rendered separately previousVersions.remove(0); contextMap.put("page", page); contextMap.put("previousVersions", previousVersions); contextMap.put("space", page.getSpace()); return getRenderedTemplate(contextMap); } else { return RenderUtils.blockError( getConfluenceActionSupportTextStatic(), StringUtils.EMPTY); } }