2

OpenCMIS を使用して、屋外でファイルのコンテンツ タイプを更新しようとしています。

CMIS ワークベンチは、タイプ ウィンドウにタイプを表示し、スイッチ「ポリシー制御可能」のみを無効にします。ローカル名はdocument、クエリ名は 、prefix:document基本タイプはcmis:documentです。

Groovy コンソールで、次のことを試しました。

Folder folder = (Folder) session.getObjectByPath("/Sites/mySite");

CmisObject o = session.getObject(aNodeRef);
cmis.printObjectSummary(o);

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "D:prefix:document");
properties.put(PropertyIds.NAME, "itsanewname!");

println("\n\nFrom "+PropertyIds.OBJECT_TYPE_ID+" cmis:document to " + " D:prefix:document:\n\n\n");

o.updateProperties(properties);
cmis.printObjectSummary(o);

名前は問題なく更新されますが、コンテンツ タイプはそのままcmis:documentです。

このコードは、ミスター・ポッツ自身の次の例に書かれています:

properties.put(PropertyIds.OBJECT_TYPE_ID, "D:sc:whitepaper,P:sc:webable,P:sc:productRelated");
properties.put(PropertyIds.NAME, filename);
properties.put("sc:isActive", true);
GregorianCalendar publishDate = new GregorianCalendar(2007,4,1,5,0);
properties.put("sc:published", publishDate);

ただし、彼はこのサンプル スニペットを使用して、ノードを更新するのではなく、ノードを作成します。

また、屋外にリンクされているJavaアプリケーションでこのコードを試しましたが、役に立ちませんでした。

4

2 に答える 2

4

CMIS を介して作成されたオブジェクトのタイプは変更できません。cmis:objectTypeId プロパティの定義を見ると、その更新可能性が「READWRITE」ではなく「ONCREATE」に設定されていることがわかります。

ジェフ

于 2013-05-14T21:25:20.843 に答える