Affects Version/s: OpenCMIS 0.7.0
Fix Version/s: None
There is a method: public ObjectId AbstractCmisObject.updateProperties(Map<String, ?> properties, boolean refresh) for which the Javadoc (on CmisObject) says:
@param refresh indicates if the object should be refresh after the update
@return the object id of the updated object (a repository might have created a new object)
One would logically expect then, if you supply refresh=true, that when the update operation upon this object has completed, that it will then contain those property values just set. This would imply that if a new object id is returned for the object containing those updated values, that the AbstractCmisObject object will be updated to point to that new id?
That does not appear to be the case within the method implementation, which appears to refresh the object with the property values from the old object id.
Even if it's intended that the AbstractCmisObject not be pointed to the updated id, it would then seem prudent to check if a new id was issued, and skip the refresh call in that case?