chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Santa Maria <paulsm1...@yahoo.com.INVALID>
Subject Unable to update a custom integer property in DotCMIS
Date Fri, 04 Dec 2015 20:11:16 GMT
I have a DotCMIS 0.7 app talking to a FileNet P8 5.2 repository.  I'm able to read and write
most custom properties (String, Float, DateTime, etc.) ... but not "Integer".
I can *read* the custom integer property ("RGBInteger"), but when I try to update it (to an
existing document), or add it (to a new document), it's always set to "null" in the repository.
SAMPLE CODE:    Public Sub TestIntegerProp(ByVal docName As String, ByVal propName As String)

        ' Perform query
        Dim strSQL = "select * from RGBClass2 where cmis:name like '" & docName
& "%'"
        Dim queryResults As IItemEnumerable(Of IQueryResult) = m_Session.Query(strSQL,
False)

        ' Fetch document
        Dim qr As IQueryResult = queryResults(0)
          <= POST /fncmis/resources/RGBOS/Query HTTP/1.1
        Dim docId As String = qr.GetPropertyValueByQueryName("cmis:objectId").ToString()
        Dim cmisDoc As IDocument = m_Session.GetObject(docId)
          <= GET /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?filter=&includeAllowableActions=true&includeACL=false
HTTP/1.1
             GET /fncmis/resources/RGBOS/Type/RGBClass2 HTTP/1.1

        ' Read property
        Dim cmisProp As IProperty = FindProperty(propName, cmisDoc.Properties)
          <= OK: the property is "100"

        ' Update property
        Dim cmisProperties As IDictionary(Of String, Object) = New Dictionary(Of String,
Object)
        cmisProperties.Add(propName, 12345)

        ' Update document
        Dim cmisObj As IObjectId = cmisDoc.UpdateProperties(cmisProperties)
          <= PUT /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?changeToken=9
HTTP/1.1
             GET /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?filter=&includeAllowableActions=true&includeACL=false
HTTP/1.1
          <= No error: but this sets the property to "Nothing" (???)

This is the XML when I query the document:    RGBInteger =>
       ...
       <cmis:propertyInteger propertyDefinitionId="RGBInteger" localName="RGBInteger"
displayName="RGBInteger" queryName="RGBInteger">
         <cmis:value>100</cmis:value>
       </cmis:propertyInteger>
       <= READ - GOOD!  See correct value of "100"
But this is the XML when I try to update the document:
   RGBInteger =>
       ...
       <cmis:propertyInteger propertyDefinitionId="RGBInteger" localName="RGBInteger"
displayName="RGBInteger" queryName="RGBInteger"/>

The problem occurs for *all* integer custom properties I try to update: either single-valued
(like above) or multi-valued.
The problem seems similar to this post:
https://forums.alfresco.com/forum/developer-discussions/alfresco-api/dotcmis-custom-type-property-fails-integers-08202014-2009
  <= Unfortunately, no resolution...
Q: Any suggestions what might be going wrong?
Thank you in advance


 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message