Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
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!