private ExperienceFragmentSocialVariation findExperienceFragmentSocialVariation() { Page variantPage = currentPage.getPageManager().getPage(variantPath); if (variantPage == null) return null; ExperienceFragmentSocialVariation socialVariant = variantPage.adaptTo(ExperienceFragmentSocialVariation.class); return socialVariant; }
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 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; }
@PostConstruct private void initModel() { resultsSize = currentStyle.get(PN_RESULTS_SIZE, PROP_RESULTS_SIZE_DEFAULT); searchTermMinimumLength = currentStyle.get(PN_SEARCH_TERM_MINIMUM_LENGTH, PROP_SEARCH_TERM_MINIMUM_LENGTH_DEFAULT); PageManager pageManager = currentPage.getPageManager(); Resource currentResource = request.getResource(); if (pageManager != null) { Page containingPage = pageManager.getContainingPage(currentResource); if(containingPage != null) { relativePath = StringUtils.substringAfter(currentResource.getPath(), containingPage.getPath()); } } }
/** * If the given resource points to an AEM page, delete the page using PageManager. * Otherwise delete the resource using ResourceResolver. * @param resource Resource to delete */ @SuppressWarnings({ "null", "unused" }) public static void deletePageOrResource(Resource resource) { Page configPage = resource.adaptTo(Page.class); if (configPage != null) { try { log.trace("! Delete page {}", configPage.getPath()); PageManager pageManager = configPage.getPageManager(); pageManager.delete(configPage, false); } catch (WCMException ex) { throw convertWCMException("Unable to delete configuration page at " + resource.getPath(), ex); } } else { try { log.trace("! Delete resource {}", resource.getPath()); resource.getResourceResolver().delete(resource); } catch (PersistenceException ex) { throw convertPersistenceException("Unable to delete configuration resource at " + resource.getPath(), ex); } } }
private String getSearchRootPagePath(String searchRoot, Page currentPage) { String searchRootPagePath = null; PageManager pageManager = currentPage.getPageManager(); if (StringUtils.isNotEmpty(searchRoot) && pageManager != null) { Page rootPage = pageManager.getPage(searchRoot);
@Override public List<NavigationItem> getItems() { if (items == null) { PageManager pageManager = currentPage.getPageManager(); Page rootPage = pageManager.getPage(navigationRootPage); if (rootPage != null) {