本文整理汇总了Java中com.day.cq.wcm.api.PageManager类的典型用法代码示例。如果您正苦于以下问题:Java PageManager类的具体用法?Java PageManager怎么用?Java PageManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PageManager类属于com.day.cq.wcm.api包,在下文中一共展示了PageManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: create
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@Override
public IndexEntry create(String path, @Nonnull ResourceResolver resolver) {
String[] indexRules = getIndexRules(PRIMARY_TYPE_VALUE);
if (ArrayUtils.isNotEmpty(indexRules)) {
PageManager pageManager = resolver.adaptTo(PageManager.class);
if (pageManager != null) {
Page page = pageManager.getPage(path);
if (page != null) {
IndexEntry ret = new IndexEntry("idx", "page", path);
Resource res = page.getContentResource();
if (res != null) {
ret.addContent(getProperties(res, indexRules));
}
return ret;
}
}
}
else {
LOG.warn("Could not load indexRules for " + PRIMARY_TYPE_VALUE);
}
return null;
}
开发者ID:deveth0,项目名称:elasticsearch-aem,代码行数:23,代码来源:PageContentBuilder.java
示例2: getLocalizedPage
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
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;
}
开发者ID:Adobe-Marketing-Cloud,项目名称:aem-core-wcm-components,代码行数:21,代码来源:LanguageNavigationImpl.java
示例3: isApplicable
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
private boolean isApplicable(SlingHttpServletRequest request) {
Object appliable = request.getAttribute(REQUEST_PROPERTY_AEM_DATALAYER_APPLICABLE);
if (appliable == null) {
Resource resource = request.getResource();
PageManager pMgr = resource.getResourceResolver().adaptTo(PageManager.class);
Page page = pMgr.getContainingPage(resource);
AEMDataLayerConfig config = AEMDataLayerConfig.getDataLayerConfig(page);
if (config != null) {
DataLayer dataLayer = new DataLayer(config, page);
request.setAttribute(DataLayerConstants.REQUEST_PROPERTY_AEM_DATALAYER, dataLayer);
request.setAttribute(REQUEST_PROPERTY_AEM_DATALAYER_APPLICABLE, new Boolean(true));
return true;
} else {
request.setAttribute(REQUEST_PROPERTY_AEM_DATALAYER_APPLICABLE, new Boolean(false));
return false;
}
} else {
return new Boolean(true).equals(appliable);
}
}
开发者ID:PerficientDigital,项目名称:AEM-DataLayer,代码行数:21,代码来源:AEMDataLayerInterceptorFilter.java
示例4: extractPageDetails
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
public Map extractPageDetails(Map pathInfo,PageManager pageManager, Resource componentResource, String currentPage) throws Exception{
Map pageDetails = new HashMap();
String path = pathInfo.get(PATH_DETAILS_LIST_PATH_PROPERTY_NAME).toString();
Page page = pageManager.getPage(path);
if (null != page){
pageDetails = extractBasicPageDetails(page, componentResource, currentPage);
Collection paths = (Collection)pathInfo.get(PATH_DETAILS_LIST_PATHS_PROPERTY_NAME);
if(paths != null) {
Collection pageChildrenDetails = new ArrayList();
for (Map childPathInfo : paths) {
pageChildrenDetails.add(extractPageDetails(childPathInfo, pageManager, componentResource, currentPage));
}
pageDetails.put(PAGE_LIST_CONTEXT_PROPERTY_NAME,pageChildrenDetails);
}
}
return pageDetails;
}
开发者ID:DantaFramework,项目名称:AEM,代码行数:19,代码来源:AddPageDetailsContextProcessor.java
示例5: getItems
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@Override
public List 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;
}
开发者ID:Adobe-Marketing-Cloud,项目名称:aem-core-wcm-components,代码行数:17,代码来源:LanguageNavigationImpl.java
示例6: updateDataLayer
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@Override
public void updateDataLayer(DataLayer dataLayer) {
com.perficient.aem.datalayer.api.Product product = new com.perficient.aem.datalayer.api.Product();
ProductInfo productInfo = product.getProductInfo();
productInfo.setDescription(productData.getDescription());
productInfo.setProductID(productData.getPath());
productInfo.setProductImage(dataLayer.getConfig().getUrlPrefix() + productData.getImageUrl());
productInfo.setProductName(productData.getTitle());
productInfo.setProductThumbnail(dataLayer.getConfig().getUrlPrefix() + productData.getThumbnailUrl());
Page page = resource.getResourceResolver().adaptTo(PageManager.class).getContainingPage(resource);
productInfo.setProductURL(DataLayerUtil.getSiteUrl(page, dataLayer.getConfig()));
productInfo.setSku(productData.getSKU());
product.setProductInfo(productInfo);
dataLayer.addProduct(product);
Component component = new Component();
component.getComponentInfo().setComponentID(resource.getPath());
component.addAttribute("type", "product");
dataLayer.addComponent(component);
}
开发者ID:PerficientDigital,项目名称:AEM-DataLayer,代码行数:22,代码来源:ProductComponent.java
示例7: process
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@Override
public void process(final ExecutionContext executionContext, TemplateContentModel contentModel)
throws ProcessException {
try {
SlingHttpServletRequest request = (SlingHttpServletRequest) executionContext.get(SLING_HTTP_REQUEST);
ResourceResolver resourceResolver = request.getResourceResolver();
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
if (contentModel.has(LIST_PROPERTIES_KEY + DOT + PAGEREFS_CONTENT_KEY_NAME)) {
Collection pathList = contentModel.getAs(LIST_PROPERTIES_KEY + DOT + PAGEREFS_CONTENT_KEY_NAME, Collection.class);
List allPageDetailList = new ArrayList();
String currentPage = GeneralRequestObjects.getCurrentPage(request).getPath();
for (Map pathInfo: pathList) {
allPageDetailList.add(extractPageDetails(pathInfo, pageManager, request.getResource(), currentPage));
}
contentModel.set(PAGE_DETAILS_LIST_CONTEXT_PROPERTY_NAME, allPageDetailList);
}
} catch (Exception e) {
throw new ProcessException(e);
}
}
开发者ID:DantaFramework,项目名称:AEM,代码行数:21,代码来源:AddPageDetailsContextProcessor.java
示例8: findCities
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
public List findCities(String basePath, String relPath) {
List cities = new ArrayList();
Resource resource = resourceResolver.getResource(basePath);
Page page = resourceResolver.adaptTo(PageManager.class).getContainingPage(resource);
Iterator cityPages = page.listChildren();
while (cityPages.hasNext()) {
Page cityPage = cityPages.next();
ValueMap cityProps = cityPage.getContentResource().getValueMap();
City city = new City();
city.name = cityProps.get("jcr:title", String.class);
city.id = cityPage.getName();
Resource cityView = cityPage.getContentResource().getChild(relPath);
Download download = new Download(cityView.getChild("image"));
city.imageSrc = download.getHref();
cities.add(city);
}
return cities;
}
开发者ID:sinnerschrader,项目名称:aem-react,代码行数:23,代码来源:CityFinderModel.java
示例9: getSearchContentResource
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
private Resource getSearchContentResource(SlingHttpServletRequest request, Page currentPage) {
Resource searchContentResource = null;
RequestPathInfo requestPathInfo = request.getRequestPathInfo();
Resource resource = request.getResource();
String relativeContentResource = requestPathInfo.getSuffix();
if (StringUtils.startsWith(relativeContentResource, "/")) {
relativeContentResource = StringUtils.substring(relativeContentResource, 1);
}
if (StringUtils.isNotEmpty(relativeContentResource)) {
searchContentResource = resource.getChild(relativeContentResource);
if (searchContentResource == null) {
PageManager pageManager = resource.getResourceResolver().adaptTo(PageManager.class);
if (pageManager != null) {
Template template = currentPage.getTemplate();
if (template != null) {
Resource templateResource = request.getResourceResolver().getResource(template.getPath());
if (templateResource != null) {
searchContentResource = templateResource.getChild(NN_STRUCTURE + "/" + relativeContentResource);
}
}
}
}
}
return searchContentResource;
}
开发者ID:Adobe-Marketing-Cloud,项目名称:aem-core-wcm-components,代码行数:26,代码来源:SearchResultServlet.java
示例10: getRedirectTarget
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
private Page getRedirectTarget(@Nonnull Page page) {
Page result = page;
String redirectTarget;
PageManager pageManager = page.getPageManager();
Set 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;
}
开发者ID:Adobe-Marketing-Cloud,项目名称:aem-core-wcm-components,代码行数:18,代码来源:PageListItemImpl.java
示例11: SimilarProductsCollector
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
SimilarProductsCollector(ResourceResolver resolver, CommerceSession session, String relationshipType, String relationshipTitle,
List contextProducts) {
this.resolver = resolver;
this.pageManager = resolver.adaptTo(PageManager.class);
this.commerceSession = session;
this.relationshipType = relationshipType;
this.relationshipTitle = relationshipTitle;
matchTagSets = new ArrayList();
exclusionSKUs = new ArrayList();
for (Product product : contextProducts) {
List matchTags = new ArrayList();
Collections.addAll(matchTags, product.getProperty("cq:tags", String[].class));
matchTagSets.add(matchTags);
try {
exclusionSKUs.add(product.getBaseProduct().getSKU());
} catch (CommerceException e) {
exclusionSKUs.add(product.getSKU()); // not perfect, but better than nothing
}
}
this.relationships = new HashMap();
}
开发者ID:Adobe-Marketing-Cloud,项目名称:aem-sample-we-retail,代码行数:26,代码来源:SimilarProductsCollector.java
示例12: init
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@PostConstruct
// PostConstructs are called after all the injection has occurred, but before the Model object is returned for use.
private void init() {
// Note that @PostConstruct code will always be executed on Model instantiation.
// If the work done in PostConstruct is expensive and not always used in the consumption of the model, it is
// better to lazy-execute the logic in the getter and persist the result in model state if it is requested again.
page = resourceResolver.adaptTo(PageManager.class).getContainingPage(resource);
final Map map = new HashMap();
// Injected fields can be used to define logic
map.put("path", page.getPath());
map.put("type", "cq:Page");
Query query = queryBuilder.createQuery(PredicateGroup.create(map), resourceResolver.adaptTo(Session.class));
final SearchResult result = query.getResult();
this.size = result.getHits().size();
}
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-samples,代码行数:18,代码来源:SampleSlingModelExporter.java
示例13: setUp
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
@Before
public void setUp() {
when(this.request.getResource()).thenReturn(this.resource);
when(this.request.getResourceResolver()).thenReturn(this.resourceResolver);
when(this.request.getAttribute(ComponentContext.CONTEXT_ATTR_NAME)).thenReturn(this.componentContext);
when(this.request.getAttribute(WCMMode.REQUEST_ATTRIBUTE_NAME)).thenReturn(WCMMode.PREVIEW);
when(this.request.adaptTo(XSSAPI.class)).thenReturn(this.xssApi);
when(this.resource.getResourceResolver()).thenReturn(this.resourceResolver);
when(this.resourceResolver.adaptTo(PageManager.class)).thenReturn(this.pageManager);
when(this.resourceResolver.adaptTo(Designer.class)).thenReturn(this.designer);
when(this.componentContext.getPage()).thenReturn(this.currentPage);
when(this.componentContext.getCell()).thenReturn(this.cell);
when(this.pageManager.getContainingPage(this.resource)).thenReturn(this.resourcePage);
when(this.designer.getDesign(any(Page.class))).thenReturn(this.design);
when(this.design.getStyle(this.cell)).thenReturn(this.style);
}
开发者ID:wcm-io,项目名称:wcm-io-cq5,代码行数:17,代码来源:AemObjectInjectorRequestTest.java
示例14: getReplicationStatusResource
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public Resource getReplicationStatusResource(String path, ResourceResolver resourceResolver) {
final Page page = resourceResolver.adaptTo(PageManager.class).getContainingPage(path);
final Asset asset = DamUtil.resolveToAsset(resourceResolver.getResource(path));
Resource resource;
String type;
if (page != null) {
type = "Page";
resource = page.getContentResource();
} else if (asset != null) {
type = "Asset";
Resource assetResource = resourceResolver.getResource(asset.getPath());
resource = assetResource.getChild(JcrConstants.JCR_CONTENT);
} else {
type = "Resource";
resource = resourceResolver.getResource(path);
}
log.trace(type + "'s resource that tracks replication status is " + resource.getPath());
return resource;
}
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:27,代码来源:ReplicationStatusManagerImpl.java
示例15: isWorkflowPackage
import com.day.cq.wcm.api.PageManager; //导入依赖的package包/类
/**
* {@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;
}
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:27,代码来源:WorkflowPackageManagerImpl.java
注:本文中的com.day.cq.wcm.api.PageManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。
|