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

[AEM Gems Webinar] Accelerating Experience Manager as a Cloud Service development with Rapid Development Environments
SOLVED

traverse node in jcr;content

Avatar

Level 1

Hi for migration project . I extracted the zip files in content/dam/dcl/migration now I need to move the extracted  files  in jcr-content add metadata using xml file, create versions, etc..

I am having difficult time traversing the jcr:content. to accomplish the move this is  a gatekeeper class in my workflow launcher.

resource - is dam/dcl/migration..i have attached the screen shot of the node structure i need to traverse.

Please help me this is an urgent issue that needs to be fixed.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor
0 Replies

Avatar

Administrator

Hi

The Links mentioned by Bsloki will definitely solve your problem.

Few more reference links for deeper knowledge and expanding our knowledge spectrum are mentioned below:- 

Link:- http://cq-ops.tumblr.com/post/43179911102/how-to-efficiently-copy-large-amounts-of-content  (How to efficiently copy large amount of content between CQ repositories).

Link:- https://helpx.adobe.com/experience-manager/using/graniteAPI.html (Moving DAM Assets using the Adobe Experience Manager Granite AssetManager API)

Link:- https://helpx.adobe.com/experience-manager/using/querying-experience-manager-data-using1.html (Traversing all the JCR nodes)

//

javax.jcr.NodeIterator nodeIter = result.getNodes();

while ( nodeIter.hasNext() ) {
 
  //For each node-- create a customer instance
cust = new Customer();
         
 javax.jcr.Node node = nodeIter.nextNode();
           
 //Set all Customer object fields
 cust.setCustFirst(node.getProperty("firstName").getString());
 cust.setCustLast(node.getProperty("lastName").getString());
 cust.setCustAddress(node.getProperty("address").getString());
 cust.setCustDescription(node.getProperty("desc").getString());
           
  //Push Customer to the list
  custList.add(cust);
  }

 

 

I hope this would help you.

 

Thanks and Regards

Kautuk Sahni

Avatar

Correct answer by
Community Advisor

Use Asset API [1] to get the metadata, renditions etc

[1] https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/dam/api/Asset.html