Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Use Case:
Pre-condition: There exists an entity instance that has some combination of mandatory attributes and non-mandatory attributes. All of the mandatory attributes have values (otherwise the entity could not have been created) and (for this example) at least some of the non-mandatory attributes have values.
A caller (an application for example) tries to update the entity's attributes, providing a new set of attribute values. The revised set of values contains values for all the mandatory attributes (otherwise the update will be rejected) and contains values for a subset of the non-mandatory attributes, such that a non-mandatory that was set (in the pre-condition above) should be not set as a result of the update. In other words, at least one of the non-mandatory attributes should be cleared.
Post-condition: I think the expected outcome is that the entity has attribute values for all mandatory attributes and has attribute values for the non-mandatory attributes that were were set by the update or that were already set (in the pre-condition) and were not cleared by the update. It should not have values for non-mandatory attributes that were either not already set or that were set and were cleared by the update.
I think what currently happens is that attribute values are not actually cleared as described above - i.e. they remain in the graph and will continue to be seen on a subsequent retrieval of the entity.