4

Alfresco3.3からいくつかのデータを抽出するOpenCMISベースのアプリケーションを書いています。

またはなどの標準のCMISプロパティで正常に動作します。ただし、CMISAtomPubフィードに「Alfrescoextensions」として存在するAlfresco固有のプロパティにアクセスできません。cmis:namecmis:contentStreamMimeType

<cmisra:object>
  <cmis:properties>
    <cmis:propertyString propertyDefinitionId="cmis:name" displayName="Name" queryName="cmis:name">
      <cmis:value>test document</cmis:value>
    </cmis:propertyString>
    <cmis:propertyString propertyDefinitionId="cmis:contentStreamMimeType" displayName="Content Stream MIME Type" queryName="cmis:contentStreamMimeType">
      <cmis:value>text/html</cmis:value>
    </cmis:propertyString>
    ...
    <alf:aspects>
      ...
      <alf:properties>
        <cmis:propertyString propertyDefinitionId="cm:description" displayName="Description" queryName="cm:description">
          <cmis:value>This is just a test document</cmis:value>
        </cmis:propertyString>
      </alf:properties>
    </alf:aspects>
  </cmis:properties>
</cmisra:object>

cm:descripcionOpenCMISを使用しての値を取得する方法はありますか?

私の推測では、のDocumentType代わりにインターフェイスを使用してからDocument、そのgetExtensions()メソッドを呼び出す必要があります。しかし、DocumentTypeのインスタンスを取得する方法がわかりません。

どんな助けでも本当にありがたいです。

よろしく


編集: Florianの答えはすでにうまくいきましたが、CMISSQLでもこれらのプロパティの値を取得できることに気づきました。

select d.*, t.*, a.*
from   cmis:document d
join   cm:titled t on d.cmis:objectid = t.cmis:objectid
join   cm:author a on d.cmis:objectid = a.cmis:objectid
where  t.cm:description like ...
4

1 に答える 1

3

OpenCMISの高レベルAPIはまだすべての拡張機能にアクセスできないのではないかと思います。それは私たちのやることリストにあります。今のところ、低レベルのAPIを使用する必要があります。このようなものが機能するはずです:

ObjectData doc = session.getBinding().getObjectService().getObject(...);
org.w3c.dom.Node domNode = (org.w3c.dom.Node) doc.getProperties().getExtensions().get(0); // <alf:aspects>
domNode.getFirstChild() ... 
于 2010-06-08T17:42:10.330 に答える