0

ここに画像の説明を入力

上記の構造の親のパス: pdf フォルダーは -> /content/dam/example/corporate/pdf であり、pdf フォルダーの値は でjcr:primarytype あり Sling:OrderedFolder、他の 2 つのフォルダー '2013' '2014'... も同様です。 ここに画像の説明を入力

親の 'pdf' がページ タイプの場合、ページ構造を反復処理し、jcr ノード API を使用して子ノードのプロパティ情報を取得する方法を正確に知っています。

残念ながら、「pdf」は順序付きフォルダータイプです...

今必要なのは、構造を反復処理してすべての PDF パスを取得しArrayList、たとえば、「2013exampleOne.pdf」ノードの/content/dam/example/corporate/pdf/2013exampleOne.pdfパスは 、「2014examplePDFTwo.pdf」のパスは/content/dam/example/corporate/pdf/2014examplePDFTwo.pdf... など.. . (このリストは後で PDF をダウンロードするためにアプリケーションの他の部分をサーバー化する場合がありますが、これは私の現在の質問とは関係ありません...)

これは、試行用の私自身のコードです (注意してください、これは私のサーブレットの一部にすぎません)。

   @Override
        protected void doGet(final SlingHttpServletRequest request,
                final SlingHttpServletResponse response) throws ServletException,
                IOException {
....//some more code
....
....
....
            final ResourceResolver resourceResolver = request.getResourceResolver();
            Node pdfJcrNode = resourceResolver.resolve("/content/dam/example/corporate/pdf").adaptTo(Node.class);

            NodeIterator yearChildrenNodes;
            try {
                yearChildrenNodes = pdfJcrNode.getNodes();
                while(yearChildrenNodes.hasNext()){
                    Node yearItemNode = yearChildrenNodes.nextNode();
                    while(yearItemNode.getNodes().hasNext()){
                        String pdfNodeAssetString = yearItemNode.getNodes().nextNode().getProperty("jcr:primaryType").getString();
                        if(pdfNodeAssetString.equals("dam:Asset")){
                            pdfPathList.add(yearItemNode.getNodes().nextNode().getPath().toString());
                        }
                    }
                }
            } catch (RepositoryException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
....
....
....
....//some more code
}

繰り返しますが、親フォルダー「pdf」のパスは/content/dam/example/corporate/pdf

私を助けるための提案はありますか?ありがとう

ps: 参考になるコード例を提供してください、乾杯

4

1 に答える 1