使用PortCMIS为多种类型添加辅助字段

时间:2017-05-24 13:37:56

标签: vb.net cmis

我有一个对象列表,它们是给定文档类型的一部分,还有一些属于多个类型的辅助字段。 当我查看示例时,我应该能够将字段添加到属性字典中。但我目前不明白如何添加多种类型。 我找到了一个引用select语句的例子,但这对我来说并不是特别好......

IBackendField对象包含字段的名称,方面和值。

AbsoluteId类似于" P:cm:indexControl_cmis:name"
然后,Id将是" cmis:name"

然后提供此函数返回的属性列表作为PortCMIS的CreateDocument函数的第一个参数。

我与之交谈的Alfresco服务器也希望看到P:cm:generalclassifiable,但我不确定如何添加它。

Private Function ProcessValues(ByVal fields As List(Of IBackendField)) As Dictionary(Of String, Object)
        Dim secondaryTypesadded As Boolean = False
        Dim properties = New Dictionary(Of String, Object)
        Dim secondaryTypes = New List(Of String)

        For Each f As IBackendField In fields
            If f.IsPrimary Then
                properties.Add(f.Id, ProcessValue(f))
            Else
                secondaryTypes.Add(Left(f.AbsoluteId, InStr(f.AbsoluteId, "_") - 1))  
                secondaryTypesadded = True
            End If
        Next

        If secondaryTypesadded Then
            properties(PropertyIds.SecondaryObjectTypeIds) = secondaryTypes
        End If

        For Each f As IBackendField In fields
            If Not f.IsPrimary Then
                properties.Add(f.Id, ProcessValue(f))
            End If
        Next

        Return properties
    End Function

0 个答案:

没有答案