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

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
4 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