1

Apache Sling と CRX/CQ5 と JCR などを使用する場合...

JCR で CQ5 ページ ノードを繰り返し処理し、ページの名前を変更することは可能ですか。

現在、特定のパスにあるすべての子ページ内のプロパティを変更できるスクリプトがあります。

NodeIterator および Node クラスを使用して、特定のパスで各ページ (タイトルと任意のプロパティだけでなく、パスを形成する名前) の名前を変更する方法を必死に探しています。

例:

-content/xproject/shared/cars/a/abegro-assam
-content/xproject/shared/cars/m/motofuel-iss

次と同等のことをしたい:

while(cars.hasNext()) {
   Node node = cars.nextNode();

   //this is the functionality I want somehow...
   node.setName("some-other-name");

   //similar to how we would set JCR properties
   node.setProperty("someProperty", "someValue");
}

CQ5/Sling/Apache/CRX スタック内でこの機能を見つけることができる場所を教えてください。これは非常に役立ちます。

そのノード以外の他のクラスに adaptTo() できる可能性があることは承知していますが、続行する方法については絶望的に確信が持てません。

4

2 に答える 2

0
void rename(Node node, String newName) throws RepositoryException 
{
    node.getSession().move(node.getPath(), node.getParent().getPath() + "/" + newName);
    // Don't forget - not necessarily here at this place:
    // node.getSession().save();
}
于 2015-02-12T12:51:07.050 に答える