What should an empty collection name mean? (was ACTSFW-69)
Original author Hadrien Benjamin Grasland @hgraslan.
Browsing through the recent test framework patches, I observed that different framework components have different ideas on what it means to read from or write into a WhiteBoard object whose name is the empty string (""):
Some Algorithms, such as the DigitizationAlgorithm, take this as a configuration error. They will crash at initialization time if asked to use this "null collection".
Other Algorithms, such as the ExtrapolationAlgorithm, take this as a valid configuration meaning that the relevant data should be silently ignored (neither read nor written).
The WhiteBoard itself considers the empty string to be a valid object name. It will happily create an object named "" as long as no collection with this name already exists, potentially leading to confusing errors.
For usability reasons, I think we should converge on a single, universally honored convention on what a whiteboard object named "" really means.
Because this name is the default value of most Algorithm configurations, I would spontaneously go down the path of behaviour #1 (closed) and take it as a usage error (the user forgot to set the name of the whiteboard object when configuring the Algorithm). In this world view, algorithms should bomb on this object name at initialization time, and the WhiteBoard should bomb on it as well in case the check was forgotten by the Algorithm writer.
What do y'all think?