Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
The current types Map<String, List<String>> relatedEntities and Map<String, Object> primaryFilters have issues. The List<String> value of the related entities map could have multiple identical strings in it, which doesn't make sense. A more major issue is that we cannot allow primary filter values to be overwritten, because otherwise we will be unable to find those primary filter entries when we want to delete an entity (without doing a nearly full scan).
I propose changing related entities to Map<String, Set<String>> and primary filters to Map<String, Set<Object>>. The basic methods to add primary filters and related entities are of the form add(key, value) and will not need to change.