Fix control apps to update the ControlPoint/ControlMeasure ChooserName and DateTime.
This is a bug that was introduced following the ControlNetVersioner refactor of the fy18_CNetImprovements sprint.
The problem is that the ControlPoint/ControlMeasure choosername/datetime values are no longer being updated when a mutation is made to a controlpoint/measure.
Previously when a control net was being written we would call GetChooserName() and GetDateTime() on ControlPoint/ControlMeasure, which would update these values on write if they were empty.
This was not, however, the correct way that these values should have been updated.
These values should be updated only when a modification is made to the point or measure. This process should be delegated to the app modifying the point/measure and should not be the responsibility of the ControlNetVersioner to handle on write.
The ControlNetVersioner currently maintains this behavior but it needs to be changed.
Instead, the choosername/datetime needs to be updated by the app mutating the point/measure. These values should not be updated by apps reading a network, but should only be updated when actual mutations are made to these objects.
#3 Updated by Lynn Weller 9 months ago
I haven't thought through this completely, but there are likely more cases than the two listed that would indicate a network has been been updated/modified in some form.
The one that immediately came to mind is when a measure is added to an existing point, whether manually by a user via qnet, or automatically via the program cnteadd. For this case the point lat/lon/radius will not change, but the number of measures associated with the point will change. None of the existing measures will have mods to line/sample information, but a new measure is being added, so the point has been modified and at the very least the datetime information should be updated.
Does this make sense? Do I understand what the issue is and how it is trying to be addressed? If so, a developer should somehow scour control net apps and determine what other modifications may constitute an update beyond two listed.