Node をその子とともに JCR リポジトリ内の別の Node に移動しようとしていますが、次のエラーが発生し続けます。
ワークスペース "default" 内のノード "/A/B[2]" に対して、同名の兄弟を許可するノード定義が見つかりませんでした。
私がそれを正しく理解していれば、そこにすでに存在する ID を使用して宛先パスにノードを作成しようとしていることを伝えようとしています。しかし、そうではありません!
私の構造は 2 つの親で構成され、それぞれに 1 つの子があります。
A --> B
C --> D
D を B に移動しようとしているので、その後の構造は次のようになります。
A --> B --> D
ハ
これが私のコードです。パスが正しく設定されていることを願っています:
private void moveNode(final Node movedNode, final Node destinationNode)
throws RepositoryException {
System.out.println(movedNode.getPath()); // prints "/C/D"
System.out.println(destinationNode.getPath()); // prints "/A/B"
modeshape.execute(new JcrHandler<Object>() {
@Override
public Object execute(Session session) throws RepositoryException {
session.move(movedNode.getPath(), destinationNode.getPath());
return null;
}
});
}
アドバイスをありがとう!