Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
OpenCMIS 0.7.0
-
None
-
None
-
dev-trunk (local machine)
http://localhost:8080/chemistry-opencmis-server-inmemory-0.7.0-SNAPSHOT/services/RepositoryService
snapshot local build on 29-Mar-2012
Description
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