Delete a node
//Below code delete 'textRenderer' node if present under /content/projectname
private static final String TEXT_RENDERER_NODE_URL = "/content/projectname";
rendererNode = currentSession.getNode(TEXT_RENDERER_NODE_URL);
if(rendererNode.hasNode("textRenderer"))
{
Node delNode = currentSession.getNode(TEXT_RENDERER_NODE_URL + "/textRenderer");
delNode.remove();
currentSession.save();
}
Ensure to save the session after any node modification.
--------------Similar Posts:----------
-------------------------------------------
Add a node
//Below code adds 'textRenderer' node of type 'cq:Page' under /content/projectname
private static final String TEXT_RENDERER_NODE_URL = "/content/projectname";
Node fileNode = rendererNode.addNode("textRenderer", "cq:Page");
fileNode.addMixin("rep:AccessControllable");
currentSession.save();
=======================================
Recursively fetching the nodes under CQ node
Below code recursively iterates over a root node and populate the node attributes.
// Node- the root node to be iterated
// Session - current session
public static void visitRecursively(Node node, Session currentSession) {
try{
// get all child nodes
NodeIterator list = node.getNodes();
while(list.hasNext()) {
// get child node
Node childNode = list.nextNode();
// Verify child node for cqPage type
if((childNode.hasProperty("jcr:primaryType")) && (childNode.getProperty("jcr:primaryType").getValue().getString()).equals("cq:Page") ){
Node jcrNode = childNode.getNode("jcr:content");
// Iterate some of the page properties
String articleTitle="";String jcrDesc="";String jcrTitle="";String keywords="";
if(jcrNode.hasProperty("articleTitle")){
articleTitle = jcrNode.getProperty("articleTitle").getString();
log.info("articleTitle--->"+articleTitle);
}
if(jcrNode.hasProperty("jcr:description")){
jcrDesc = jcrNode.getProperty("jcr:description").getString();
log.info("jcr:description--->"+jcrDesc);
}
if(jcrNode.hasProperty("jcr:title")){
jcrTitle = jcrNode.getProperty("jcr:title").getString();
log.info("jcr:title--->"+jcrTitle);
}
if(jcrNode.hasProperty("keywords")){
keywords = jcrNode.getProperty("keywords").getString();
log.info("keywords--->"+keywords);
}
String pagePropertiesString = "articleTitle--->"+articleTitle + "jcr:description--->"+jcrDesc+"jcr:title--->"+jcrTitle + "keywords--->"+keywords ;
log.info("Page Properties :---> Node "+ childNode.getName()+ "Properties : " + pagePropertiesString );
}
visitRecursively(childNode,currentSession);
}
}
catch (RepositoryException rpe){
log.info("Exception in recursive listing:");
}
}