Jackrabbit ととか、S2JCR とか久々に見ているのだけど、忘れすぎていてよくわからない・・・。Jackrabbit もバージョンが 1.4.5 とかなっているし・・・。ひとまず、現状を把握できるようにがんばろ・・・。
カテゴリー: JCR
ノードタイプ
あまり仕様書を見ていないのも悪いのだが、nt:fileとかノードタイプを使おうと思い、そのノードを作って、nt:fileの定義にない、nameとかプロパティにセットすると、Exceptionを食らう。つまり、定義していないものは使えんということなのね。というわけで、デフォルトのnt:unstructuredを利用することにする。うむむ、まだまだ謎多し。
nt:fileとnt:resource
CMSとかで、ファイルを保存するときには、nt:fileとnt:resourceを使うみたい。っで、作ったやつはどう呼び出すのだろうか・・・。
//create the file node - see section 6.7.22.6 of the spec Node fileNode = folderNode.addNode (file.getName (), "nt:file"); //create the mandatory child node - jcr:content Node resNode = fileNode.addNode ("jcr:content", "nt:resource"); resNode.setProperty ("jcr:mimeType", mimeType); resNode.setProperty ("jcr:encoding", encoding); resNode.setProperty ("jcr:data", new FileInputStream (file)); Calendar lastModified = Calendar.getInstance (); lastModified.setTimeInMillis (file.lastModified ()); resNode.setProperty ("jcr:lastModified", lastModified);