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

mix:referenceable

JCRがらみの話は、いまいち、良い情報を探すのが大変なのでメモしていこう。Node.getUUID()を利用したければ、Nodeを作るときに、”mix:referenceable”をaddMixinをしておけばよいらしい。Nodeを探すときには”jcr:uuid”を属性として考えてすればいいのかな・・・。

ポートレットフィルタ問題の修正

コミット。とりあえず、苦情をくれた人から、喜びのメールを受け取ったので、問題はないのだろう。いや~、修正していて、いわれた問題以外にもフィルタチェーンのリリースのときにフィルタのリリースを呼び出せていないことが判明・・・。それも修正してあります。これで、1.0からいろんな問題が修正されて、いいものになったかな。marevol.comのリポジトリではバージョン1.0.1-20061016で取得可能です。