As part of the requirements of location based access implemented as part of the datafilter module, we want to enhance the feature that was implemented in
RA-1516 to support multiple locations, currently it supports a single location. In theory, we want the user to select from only a predefined set of locations they have been granted access to, if there is only one, just default to that.
We need to have a plugin mechanism that lets other modules define a set of locations to pick from. The use case for this is that if a user is granted access to say only 4 locations, there is no point in including other locations they don’t have access in the set of locations they can pick from.
Introduce an interface, implementing classes will be registered as spring beans, the ref app will provide a default implementation if none is specified which employs the current logic that uses locations defined by the user property that was added in
RA-1516. In the event there are multiple registered beans implementing this interface, a GP should used to pick the preferred bean, the GP value would be a bean Id or the preferred type.