0

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;
            }

        });
}

アドバイスをありがとう!

4

1 に答える 1