Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

How to get absolute page path of the live copies from the source/master path

Avatar

Level 4

Hello Guys,

 

I have the master page "/content/we-retail/ca/en/experience/climbing-in-the-massif-du-mont-blanc" and I have created live copies for the below markets,

 

au - /content/we-retail/au/en/experience/climbing-in-the-massif-du-mont-blanc

nz - /content/we-retail/nz/en/experience/climbing-in-the-massif-du-mont-blanc

 

I'm trying to get the live copy URL's from the master page. I have tried with the below code, but it's returning up to the market level ("content/we-retail/au/en",/content/we-retail/nz/en) and not the absolute path.

 

I wanted to get the exact path of the live copy URL "/content/we-retail/nz/en/experience/climbing-in-the-massif-du-mont-blanc". Any idea? 

 

String itemPath = "/content/we-retail/ca/en/experience/climbing-in-the-massif-du-mont-blanc";
Resource res = resourceResolver.getResource(itemPath);
RangeIterator rangeIterator = liveRelManager.getLiveRelationships(res,"",null);
while (rangeIterator.hasNext())
{
LiveRelationship liveCopy =(LiveRelationship) rangeIterator.next();
log.debug("LiveCopies URL's..." + liveCopy.getLiveCopy());

}

@arunpatidar26 @Vijayalakshmi_S @VeenaVikraman @Ratna_Kumar @kautuk_sahni @smacdonald2008 @BrijeshYadav 

 

Regards,

Vijay

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 8

Hi @vijays80591732 ,

Use liveCopy.getTargetPath() instead of liveCopy.getLiveCopy() as highlighted below, it will return the absolute path of the live sync resource.

 

https://helpx.adobe.com/experience-manager/6-5/sites/developing/using/reference-materials/javadoc/co...

 

String itemPath = "/content/we-retail/ca/en/experience/climbing-in-the-massif-du-mont-blanc";
Resource res = resourceResolver.getResource(itemPath);
RangeIterator rangeIterator = liveRelManager.getLiveRelationships(res,"",null);
while (rangeIterator.hasNext())
{
LiveRelationship liveCopy =(LiveRelationship) rangeIterator.next();
log.debug("LiveCopies URL's..." + liveCopy.getTargetPath()); //returns the absolute path of the live sync resource.

}

 

Hope this helps!

View solution in original post

3 Replies

Avatar

Correct answer by
Level 8

Hi @vijays80591732 ,

Use liveCopy.getTargetPath() instead of liveCopy.getLiveCopy() as highlighted below, it will return the absolute path of the live sync resource.

 

https://helpx.adobe.com/experience-manager/6-5/sites/developing/using/reference-materials/javadoc/co...

 

String itemPath = "/content/we-retail/ca/en/experience/climbing-in-the-massif-du-mont-blanc";
Resource res = resourceResolver.getResource(itemPath);
RangeIterator rangeIterator = liveRelManager.getLiveRelationships(res,"",null);
while (rangeIterator.hasNext())
{
LiveRelationship liveCopy =(LiveRelationship) rangeIterator.next();
log.debug("LiveCopies URL's..." + liveCopy.getTargetPath()); //returns the absolute path of the live sync resource.

}

 

Hope this helps!