Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list
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 @Veena_Vikram @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
Community Advisor

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

0 Replies

Avatar

Correct answer by
Community Advisor

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!