Resource pageA; //LiveCopy of Page B; LiveRelationshipManager liveRelationshipManager = resourceResolver.adaptTo(LiveRelationshipManager.class); PageManager pageManager = resourceResolver.adaptTo(PageManager.class); LiveRelationship liveRelationship = liveRelationshipManager.getLiveRelationship(pageA, false); String pageBPath = liveRelationship.getSourcePath(); Page pageB = pageManager.getPage(pageBPath);
/** * Gets site root page of the current site. * @return Site root page for the current site. */ public Page getRootPage() { if (siteRootPage == null) { siteRootPage = pageManager.getPage(getRootPath()); } return siteRootPage; }
/** * Get page relative to site root. * @param relativePath Path relative to site root * @return Page instance or null if not found */ public Page getRelativePage(String relativePath) { String path = getRootPath(); if (path == null) { return null; } StringBuilder sb = new StringBuilder(path); if (!relativePath.startsWith("/")) { sb.append("/"); } sb.append(relativePath); return pageManager.getPage(sb.toString()); }
/** * If the provided {@code path} identifies a {@link Page}, this method will generate the correct URL for the page. Otherwise the * original {@code String} is returned. * * @param request the current request, used to determine the server's context path * @param pageManager the page manager * @param path the page path * @return the URL of the page identified by the provided {@code path}, or the original {@code path} if this doesn't identify a * {@link Page} */ @Nonnull public static String getURL(@Nonnull SlingHttpServletRequest request, @Nonnull PageManager pageManager, @Nonnull String path) { Page page = pageManager.getPage(path); if (page != null) { return getURL(request, page); } return path; }
private Page getOrCreateLogDir(ResourceResolver resolver) throws WCMException { PageManager pageManager = resolver.adaptTo(PageManager.class); Page historyPage = pageManager.getPage(HISTORY_PATH); if (historyPage == null) { boolean autoCommit = true; historyPage = pageManager .create("/etc/cqsm", "history", "/apps/cqsm/core/templates/historyTemplate", "History", autoCommit); } return historyPage; }
private Page getOrCreateLogDir(ResourceResolver resolver) throws WCMException { PageManager pageManager = resolver.adaptTo(PageManager.class); Page historyPage = pageManager.getPage(HISTORY_PATH); if (historyPage == null) { boolean autoCommit = true; historyPage = pageManager .create("/etc/cqsm", "history", "/apps/cqsm/core/templates/historyTemplate", "History", autoCommit); } return historyPage; }
private Page getLocalizedPage(Page page, Page languageRoot) { Page localizedPage; String path = languageRoot.getPath(); String relativePath = page.getPath(); if (relativePath.startsWith(path)) { localizedPage = page; } else { String separator = "/"; int i = relativePath.indexOf(separator); int occurrence = StringUtils.countMatches(path, separator) + 1; while (--occurrence > 0 && i != -1) { i = relativePath.indexOf(separator, i + 1); } relativePath = (i > 0) ? relativePath.substring(i) : ""; path = path.concat(relativePath); PageManager pageManager = page.getPageManager(); localizedPage = pageManager.getPage(path); } return localizedPage; } }
private ExperienceFragmentSocialVariation findExperienceFragmentSocialVariation() { Page variantPage = currentPage.getPageManager().getPage(variantPath); if (variantPage == null) return null; ExperienceFragmentSocialVariation socialVariant = variantPage.adaptTo(ExperienceFragmentSocialVariation.class); return socialVariant; }
private Page getRedirectTarget(@Nonnull Page page) { Page result = page; String redirectTarget; PageManager pageManager = page.getPageManager(); Set<String> redirectCandidates = new LinkedHashSet<>(); redirectCandidates.add(page.getPath()); while (result != null && StringUtils.isNotEmpty((redirectTarget = result.getProperties().get(PageImpl.PN_REDIRECT_TARGET, String.class)))) { result = pageManager.getPage(redirectTarget); if (result != null) { if (!redirectCandidates.add(result.getPath())) { LOGGER.warn("Detected redirect loop for the following pages: {}.", redirectCandidates.toString()); break; } } } return result; }
@Override public List<NavigationItem> getItems() { if (items == null) { PageManager pageManager = currentPage.getPageManager(); rootPage = pageManager.getPage(navigationRoot); if (rootPage != null) { int rootPageLevel = rootPage.getDepth(); startLevel = rootPageLevel + 1; structureDepth += rootPageLevel; items = getItems(rootPage); } else { items = Collections.emptyList(); } } return items; }
/** * Get absolute parent of given path. * If the path is below <code>/content/versionhistory</code> or <code>/content/launches</code> the path level is * adjusted accordingly. * This is a replacement for {@link Page#getAbsoluteParent(int)}. * @param page Page * @param parentLevel Parent level * @param resourceResolver Resource resolver * @return Absolute parent page or null if path is invalid */ public static Page getAbsoluteParent(Page page, int parentLevel, ResourceResolver resourceResolver) { PageManager pageManager = resourceResolver.adaptTo(PageManager.class); String absoluteParentPath = getAbsoluteParent(page.getPath(), parentLevel, resourceResolver); if (StringUtils.isEmpty(absoluteParentPath)) { return null; } return pageManager.getPage(absoluteParentPath); }
Page listPage = resourceResolver.adaptTo(PageManager.class).getPage(fullListPath); if (listPage == null) { return null;
private boolean currentPageIsRedirectTarget(Page page) { boolean currentPageIsRedirectTarget = false; Resource contentResource = page.getContentResource(); if (contentResource != null) { ValueMap valueMap = contentResource.getValueMap(); String redirectTarget = valueMap.get(PageImpl.PN_REDIRECT_TARGET, String.class); if(StringUtils.isNotBlank(redirectTarget)) { PageManager pageManager = resourceResolver.adaptTo(PageManager.class); if (pageManager != null) { Page redirectPage = pageManager.getPage(redirectTarget); if (currentPage.equals(redirectPage)) { currentPageIsRedirectTarget = true; } } } } return currentPageIsRedirectTarget; }
@Override public Page getRootPage(Resource resource) { String pagePath = getRootPagePath(resource.getPath()); if (pagePath != null) { PageManager pageManager = resource.getResourceResolver().adaptTo(PageManager.class); Page rootPage = pageManager.getPage(pagePath); if (rootPage == null) { log.debug("Page Root not found at [ {} ]", pagePath); } else if (!rootPage.isValid()) { log.debug("Page Root invalid at [ {} ]", pagePath); } else { return rootPage; } } return null; }
Page listPage = resourceResolver.adaptTo(PageManager.class).getPage(fullListPath); if (listPage == null) { return null;
/** * Returns the target page for the given internal content link reference. * Checks validity of page. * @param targetPath Repository path * @return Target page or null if target reference is invalid. */ private Page getTargetPage(String targetPath, InternalLinkResolverOptions options) { if (StringUtils.isEmpty(targetPath)) { return null; } // Rewrite target to current site context String rewrittenPath; if (options.isRewritePathToContext()) { rewrittenPath = urlHandler.rewritePathToContext(SyntheticNavigatableResource.get(targetPath, resourceResolver)); } else { rewrittenPath = targetPath; } if (StringUtils.isEmpty(rewrittenPath)) { return null; } // Get target page referenced by target path and check for acceptance Page targetPage = pageManager.getPage(rewrittenPath); if (acceptPage(targetPage, options)) { return targetPage; } else { return null; } }
/** * {@inheritDoc} */ public final boolean isWorkflowPackage(final ResourceResolver resourceResolver, final String path) { final PageManager pageManager = resourceResolver.adaptTo(PageManager.class); final Page workflowPackagesPage = pageManager.getPage(path); if (workflowPackagesPage == null) { return false; } final Resource contentResource = workflowPackagesPage.getContentResource(); if (contentResource == null) { return false; } if (!contentResource.isResourceType(WORKFLOW_PAGE_RESOURCE_TYPE)) { return false; } if (contentResource.getChild(NN_VLT_DEFINITION) == null) { return false; } return true; }
page = pageManager.getPage(url);
/** * {@inheritDoc} */ public final boolean isWorkflowPackage(final ResourceResolver resourceResolver, final String path) { final PageManager pageManager = resourceResolver.adaptTo(PageManager.class); final Page workflowPackagesPage = pageManager.getPage(path); if (workflowPackagesPage == null) { return false; } final Resource contentResource = workflowPackagesPage.getContentResource(); if (contentResource == null) { return false; } if (!contentResource.isResourceType(WORKFLOW_PAGE_RESOURCE_TYPE)) { return false; } if (contentResource.getChild(NN_VLT_DEFINITION) == null) { return false; } return true; }
@Override public JobResult process(Job job) { final String path = (String) job.getProperty(SlingConstants.PROPERTY_PATH); ResourceResolver resolver = null; try { resolver = resolverFactory.getAdministrativeResourceResolver(null); final PageManager pm = resolver.adaptTo(PageManager.class); final Page page = pm.getPage(path); final String actionType; if (page != null && page.getContentResource() != null) { actionType = page.getContentResource().getResourceType(); consumeMessage(actionType, page.getContentResource()); } else { LOG.debug("Empty resource type for action page: " + path); } } catch (Exception e) { LOG.error(e.getMessage(), e); } finally { if (resolver != null) { resolver.close(); } } return JobResult.OK; }