You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Patrick Balm (Created) (JIRA)" <ji...@apache.org> on 2012/03/30 14:40:29 UTC

[jira] [Created] (CMIS-519) getContentChanges shows unexpected result after adding new entry to repository based on changeToken

getContentChanges shows unexpected result after adding new entry to repository based on changeToken
---------------------------------------------------------------------------------------------------

                 Key: CMIS-519
                 URL: https://issues.apache.org/jira/browse/CMIS-519
             Project: Chemistry
          Issue Type: Bug
          Components: opencmis-server-inmemory, opencmis-workbench
    Affects Versions: OpenCMIS 0.7.0
         Environment: dev-trunk (local machine)
http://localhost:8080/chemistry-opencmis-server-inmemory-0.7.0-SNAPSHOT/services/RepositoryService
snapshot local build on 29-Mar-2012
            Reporter: Patrick Balm


I am working on a mechanism to replay/record the changes (changeLog) in the repository based on getContentChanges
but the result I expect is different than what is returned.

Is it me, am I going about it the wrong way?
Or is it a bug?

TEST LOG:

OpenCMIS In-Memory (0.7.0-SNAPSHOT trunk (from yesterday;29-03-2012)
Testing with 0.6.0 Workbench
------------------

******************************************
1. cleared repository
removed all entries 
******************************************
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getContentChanges>
         <ns:repositoryId>A1</ns:repositoryId>
      </ns:getContentChanges>
   </soapenv:Body>
</soapenv:Envelope>

response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Header>
      <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <Created>2012-03-30T12:08:23Z</Created>
            <Expires>2012-03-31T12:08:23Z</Expires>
         </Timestamp>
      </Security>
   </S:Header>
   <S:Body>
      <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
         <objects>
            <hasMoreItems>false</hasMoreItems>
            <numItems>0</numItems>
         </objects>
      </getContentChangesResponse>
   </S:Body>
</S:Envelope>

******************************************
2. add first document (via Workbench) to repository and ask for changes
******************************************

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getContentChanges>
         <ns:repositoryId>A1</ns:repositoryId>
      </ns:getContentChanges>
   </soapenv:Body>
</soapenv:Envelope>

response:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Header>
      <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <Created>2012-03-30T12:11:27Z</Created>
            <Expires>2012-03-31T12:11:27Z</Expires>
         </Timestamp>
      </Security>
   </S:Header>
   <S:Body>
      <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
         <objects>
            <objects>
               <ns2:properties>
                  <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
                  <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
                     <ns2:value>1733920</ns2:value>
                  </ns2:propertyInteger>
                  <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
                  <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
                  <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
                     <ns2:value>3jr-jamie.jpg</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
                     <ns2:value>image/jpeg</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
                  <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
                     <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
                     <ns2:value>1333109462175</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
                  <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
                  <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
                     <ns2:value>136</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
                     <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
                     <ns2:value>3jr-jamie.jpg</ns2:value>
                  </ns2:propertyString>
               </ns2:properties>
               <ns2:changeEventInfo>
                  <ns2:changeType>updated</ns2:changeType>
                  <ns2:changeTime>2012-03-30T14:11:27.869+02:00</ns2:changeTime>
               </ns2:changeEventInfo>
            </objects>
            <hasMoreItems>false</hasMoreItems>
            <numItems>1</numItems>
         </objects>
      </getContentChangesResponse>
   </S:Body>
</S:Envelope>

******************************************
3. Appears to be what I expected 
now I have added second document via Workbench
******************************************
now query for changeToken=1333109462175 (taken from 1st entry)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getContentChanges>
         <ns:repositoryId>A1</ns:repositoryId>
        <ns:changeToken>1333109462175</ns:changeToken>         
      </ns:getContentChanges>
   </soapenv:Body>
</soapenv:Envelope>

response:

I receive both entries instead of expected single entry with changeToken=1333109462175



<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Header>
      <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <Created>2012-03-30T12:16:35Z</Created>
            <Expires>2012-03-31T12:16:35Z</Expires>
         </Timestamp>
      </Security>
   </S:Header>
   <S:Body>
      <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
         <objects>
            <objects>
               <ns2:properties>
                  <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
                  <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
                     <ns2:value>1733920</ns2:value>
                  </ns2:propertyInteger>
                  <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
                  <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
                  <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
                     <ns2:value>3jr-jamie.jpg</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
                     <ns2:value>image/jpeg</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
                  <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
                     <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
                     <ns2:value>1333109462175</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
                  <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
                  <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
                     <ns2:value>136</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
                     <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
                     <ns2:value>3jr-jamie.jpg</ns2:value>
                  </ns2:propertyString>
               </ns2:properties>
               <ns2:changeEventInfo>
                  <ns2:changeType>updated</ns2:changeType>
                  <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
               </ns2:changeEventInfo>
            </objects>
            <objects>
               <ns2:properties>
                  <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
                  <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
                     <ns2:value>31378</ns2:value>
                  </ns2:propertyInteger>
                  <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
                  <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
                  <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
                     <ns2:value>jboss-securejmx.pdf</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
                     <ns2:value>application/pdf</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
                  <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
                     <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
                     <ns2:value>1333109666669</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
                  <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
                     <ns2:value>unknown</ns2:value>
                  </ns2:propertyString>
                  <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
                  <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
                     <ns2:value>137</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
                     <ns2:value>true</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
                     <ns2:value>false</ns2:value>
                  </ns2:propertyBoolean>
                  <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
                     <ns2:value>cmis:document</ns2:value>
                  </ns2:propertyId>
                  <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
                     <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
                  </ns2:propertyDateTime>
                  <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
                     <ns2:value>jboss-securejmx.pdf</ns2:value>
                  </ns2:propertyString>
               </ns2:properties>
               <ns2:changeEventInfo>
                  <ns2:changeType>updated</ns2:changeType>
                  <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
               </ns2:changeEventInfo>
            </objects>
            <hasMoreItems>false</hasMoreItems>
            <numItems>2</numItems>
         </objects>
      </getContentChangesResponse>
   </S:Body>
</S:Envelope>

Is this what should be expected and am I looking at it from a wrong/different standpoint?
Or can it be a bug?

TIA

/patrick


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CMIS-519) getContentChanges shows unexpected result after adding new entry to repository based on changeToken

Posted by "Patrick Balm (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CMIS-519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243079#comment-13243079 ] 

Patrick Balm commented on CMIS-519:
-----------------------------------

Haha, I totally did not consider checking the source code before posting this :|
Thanks for the response.

I used the In-Memory server for this because my regular DMS has too many entries and I was trying to establish
a behaviour pattern for changeLog events.


                
> getContentChanges shows unexpected result after adding new entry to repository based on changeToken
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CMIS-519
>                 URL: https://issues.apache.org/jira/browse/CMIS-519
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-server-inmemory, opencmis-workbench
>    Affects Versions: OpenCMIS 0.7.0
>         Environment: dev-trunk (local machine)
> http://localhost:8080/chemistry-opencmis-server-inmemory-0.7.0-SNAPSHOT/services/RepositoryService
> snapshot local build on 29-Mar-2012
>            Reporter: Patrick Balm
>
> I am working on a mechanism to replay/record the changes (changeLog) in the repository based on getContentChanges
> but the result I expect is different than what is returned.
> Is it me, am I going about it the wrong way?
> Or is it a bug?
> TEST LOG:
> OpenCMIS In-Memory (0.7.0-SNAPSHOT trunk (from yesterday;29-03-2012)
> Testing with 0.6.0 Workbench
> ------------------
> ******************************************
> 1. cleared repository
> removed all entries 
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:08:23Z</Created>
>             <Expires>2012-03-31T12:08:23Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>0</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 2. add first document (via Workbench) to repository and ask for changes
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:11:27Z</Created>
>             <Expires>2012-03-31T12:11:27Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:11:27.869+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>1</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 3. Appears to be what I expected 
> now I have added second document via Workbench
> ******************************************
> now query for changeToken=1333109462175 (taken from 1st entry)
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>         <ns:changeToken>1333109462175</ns:changeToken>         
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> I receive both entries instead of expected single entry with changeToken=1333109462175
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:16:35Z</Created>
>             <Expires>2012-03-31T12:16:35Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>31378</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>application/pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109666669</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>137</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>2</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> Is this what should be expected and am I looking at it from a wrong/different standpoint?
> Or can it be a bug?
> TIA
> /patrick

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CMIS-519) getContentChanges shows unexpected result after adding new entry to repository based on changeToken

Posted by "Jens Hübel (Updated JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CMIS-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jens Hübel updated CMIS-519:
----------------------------


The getContentChanges() method is not implemented, sorry. The source code has a comment like:
        // dummy implementation using hard coded values

So there is some response generated so that people can at least test the wire protcol. Honestly I never thought that this functionality is useful for the InMemory server, because the content is so volatile. Your feedback indicates that there is some demand so I will think about a better implementation in future. For the moment the behavior is "as designed". I recommend you to use one of the other open source implementations that are available provding a better implementation. 
                
> getContentChanges shows unexpected result after adding new entry to repository based on changeToken
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CMIS-519
>                 URL: https://issues.apache.org/jira/browse/CMIS-519
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-server-inmemory, opencmis-workbench
>    Affects Versions: OpenCMIS 0.7.0
>         Environment: dev-trunk (local machine)
> http://localhost:8080/chemistry-opencmis-server-inmemory-0.7.0-SNAPSHOT/services/RepositoryService
> snapshot local build on 29-Mar-2012
>            Reporter: Patrick Balm
>
> I am working on a mechanism to replay/record the changes (changeLog) in the repository based on getContentChanges
> but the result I expect is different than what is returned.
> Is it me, am I going about it the wrong way?
> Or is it a bug?
> TEST LOG:
> OpenCMIS In-Memory (0.7.0-SNAPSHOT trunk (from yesterday;29-03-2012)
> Testing with 0.6.0 Workbench
> ------------------
> ******************************************
> 1. cleared repository
> removed all entries 
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:08:23Z</Created>
>             <Expires>2012-03-31T12:08:23Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>0</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 2. add first document (via Workbench) to repository and ask for changes
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:11:27Z</Created>
>             <Expires>2012-03-31T12:11:27Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:11:27.869+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>1</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 3. Appears to be what I expected 
> now I have added second document via Workbench
> ******************************************
> now query for changeToken=1333109462175 (taken from 1st entry)
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>         <ns:changeToken>1333109462175</ns:changeToken>         
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> I receive both entries instead of expected single entry with changeToken=1333109462175
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:16:35Z</Created>
>             <Expires>2012-03-31T12:16:35Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>31378</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>application/pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109666669</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>137</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>2</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> Is this what should be expected and am I looking at it from a wrong/different standpoint?
> Or can it be a bug?
> TIA
> /patrick

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Resolved] (CMIS-519) getContentChanges shows unexpected result after adding new entry to repository based on changeToken

Posted by "Jens Hübel (Resolved JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CMIS-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jens Hübel resolved CMIS-519.
-----------------------------

    Resolution: Won't Fix
    
> getContentChanges shows unexpected result after adding new entry to repository based on changeToken
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CMIS-519
>                 URL: https://issues.apache.org/jira/browse/CMIS-519
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-server-inmemory, opencmis-workbench
>    Affects Versions: OpenCMIS 0.7.0
>         Environment: dev-trunk (local machine)
> http://localhost:8080/chemistry-opencmis-server-inmemory-0.7.0-SNAPSHOT/services/RepositoryService
> snapshot local build on 29-Mar-2012
>            Reporter: Patrick Balm
>
> I am working on a mechanism to replay/record the changes (changeLog) in the repository based on getContentChanges
> but the result I expect is different than what is returned.
> Is it me, am I going about it the wrong way?
> Or is it a bug?
> TEST LOG:
> OpenCMIS In-Memory (0.7.0-SNAPSHOT trunk (from yesterday;29-03-2012)
> Testing with 0.6.0 Workbench
> ------------------
> ******************************************
> 1. cleared repository
> removed all entries 
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:08:23Z</Created>
>             <Expires>2012-03-31T12:08:23Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>0</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 2. add first document (via Workbench) to repository and ask for changes
> ******************************************
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:11:27Z</Created>
>             <Expires>2012-03-31T12:11:27Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:11:27.869+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>1</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> ******************************************
> 3. Appears to be what I expected 
> now I have added second document via Workbench
> ******************************************
> now query for changeToken=1333109462175 (taken from 1st entry)
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns:getContentChanges>
>          <ns:repositoryId>A1</ns:repositoryId>
>         <ns:changeToken>1333109462175</ns:changeToken>         
>       </ns:getContentChanges>
>    </soapenv:Body>
> </soapenv:Envelope>
> response:
> I receive both entries instead of expected single entry with changeToken=1333109462175
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>    <S:Header>
>       <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
>          <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>             <Created>2012-03-30T12:16:35Z</Created>
>             <Expires>2012-03-31T12:16:35Z</Expires>
>          </Timestamp>
>       </Security>
>    </S:Header>
>    <S:Body>
>       <getContentChangesResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/core/200908/">
>          <objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>1733920</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>image/jpeg</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109462175</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>136</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:11:02.175Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>3jr-jamie.jpg</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <objects>
>                <ns2:properties>
>                   <ns2:propertyBoolean queryName="cmis:isLatestMajorVersion" displayName="Is Latest Major Version" localName="cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:contentStreamId" displayName="Stream Id" localName="cmis:contentStreamId" propertyDefinitionId="cmis:contentStreamId"/>
>                   <ns2:propertyInteger queryName="cmis:contentStreamLength" displayName="Content Length" localName="cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength">
>                      <ns2:value>31378</ns2:value>
>                   </ns2:propertyInteger>
>                   <ns2:propertyString queryName="cmis:versionSeriesCheckedOutBy" displayName="Checked Out By" localName="cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/>
>                   <ns2:propertyId queryName="cmis:objectTypeId" displayName="Type-Id" localName="cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyId queryName="cmis:versionSeriesCheckedOutId" displayName="Checked Out Id" localName="cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"/>
>                   <ns2:propertyString queryName="cmis:name" displayName="Name" localName="cmis:name" propertyDefinitionId="cmis:name">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:contentStreamMimeType" displayName="Mime Type" localName="cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType">
>                      <ns2:value>application/pdf</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyId queryName="cmis:versionSeriesId" displayName="Version Series Id" localName="cmis:versionSeriesId" propertyDefinitionId="cmis:versionSeriesId"/>
>                   <ns2:propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="cmis:creationDate" propertyDefinitionId="cmis:creationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:changeToken" displayName="Change Token" localName="cmis:changeToken" propertyDefinitionId="cmis:changeToken">
>                      <ns2:value>1333109666669</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:versionLabel" displayName="Version Label" localName="cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"/>
>                   <ns2:propertyBoolean queryName="cmis:isLatestVersion" displayName="Is Latest Version" localName="cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isVersionSeriesCheckedOut" displayName="Checked Out" localName="cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyString queryName="cmis:lastModifiedBy" displayName="Modified By" localName="cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:createdBy" displayName="Created By" localName="cmis:createdBy" propertyDefinitionId="cmis:createdBy">
>                      <ns2:value>unknown</ns2:value>
>                   </ns2:propertyString>
>                   <ns2:propertyString queryName="cmis:checkinComment" displayName="Checkin Comment" localName="cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"/>
>                   <ns2:propertyId queryName="cmis:objectId" displayName="Object Id" localName="cmis:objectId" propertyDefinitionId="cmis:objectId">
>                      <ns2:value>137</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyBoolean queryName="cmis:isMajorVersion" displayName="Is Major Version" localName="cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
>                      <ns2:value>true</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyBoolean queryName="cmis:isImmutable" displayName="Immutable" localName="cmis:isImmutable" propertyDefinitionId="cmis:isImmutable">
>                      <ns2:value>false</ns2:value>
>                   </ns2:propertyBoolean>
>                   <ns2:propertyId queryName="cmis:baseTypeId" displayName="Base-Type-Id" localName="cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId">
>                      <ns2:value>cmis:document</ns2:value>
>                   </ns2:propertyId>
>                   <ns2:propertyDateTime queryName="cmis:lastModificationDate" displayName="Modification Date" localName="cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
>                      <ns2:value>2012-03-30T12:14:26.669Z</ns2:value>
>                   </ns2:propertyDateTime>
>                   <ns2:propertyString queryName="cmis:contentStreamFileName" displayName="File Name" localName="cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName">
>                      <ns2:value>jboss-securejmx.pdf</ns2:value>
>                   </ns2:propertyString>
>                </ns2:properties>
>                <ns2:changeEventInfo>
>                   <ns2:changeType>updated</ns2:changeType>
>                   <ns2:changeTime>2012-03-30T14:16:35.129+02:00</ns2:changeTime>
>                </ns2:changeEventInfo>
>             </objects>
>             <hasMoreItems>false</hasMoreItems>
>             <numItems>2</numItems>
>          </objects>
>       </getContentChangesResponse>
>    </S:Body>
> </S:Envelope>
> Is this what should be expected and am I looking at it from a wrong/different standpoint?
> Or can it be a bug?
> TIA
> /patrick

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira