Skip to content
Snippets Groups Projects
Commit 695a7c78 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#293 - handle if categories or tags are added, modified or deleted during one session

parent b75d4ab1
No related branches found
No related tags found
No related merge requests found
Pipeline #796 passed
...@@ -23,17 +23,38 @@ public class FilterHelpersService ...@@ -23,17 +23,38 @@ public class FilterHelpersService
public FilterConfiguration getFilterConfiguration(HttpServletRequest request) public FilterConfiguration getFilterConfiguration(HttpServletRequest request)
{ {
FilterConfiguration filterConfiguration;
Object sessionFilterConfiguration = request.getSession().getAttribute("filterConfiguration"); Object sessionFilterConfiguration = request.getSession().getAttribute("filterConfiguration");
if(sessionFilterConfiguration == null) if(sessionFilterConfiguration == null)
{ {
filterConfiguration = FilterConfiguration.DEFAULT; FilterConfiguration filterConfiguration = FilterConfiguration.DEFAULT;
filterConfiguration.setFilterCategories(getFilterCategories()); filterConfiguration.setFilterCategories(getFilterCategories());
filterConfiguration.setFilterTags(getFilterTags()); filterConfiguration.setFilterTags(getFilterTags());
return filterConfiguration; return filterConfiguration;
} }
return (FilterConfiguration)sessionFilterConfiguration; // update categories and tags
FilterConfiguration filterConfiguration = (FilterConfiguration)sessionFilterConfiguration;
filterConfiguration.setFilterCategories(updateObjects(filterConfiguration.getFilterCategories(), getFilterCategories()));
filterConfiguration.setFilterTags(updateObjects(filterConfiguration.getFilterTags(), getFilterTags()));
return filterConfiguration;
}
private List<FilterObject> updateObjects(List<FilterObject> oldObjects, List<FilterObject> newObjects)
{
for(FilterObject newObject : newObjects)
{
for(FilterObject existingObject : oldObjects)
{
if(existingObject.getID().equals(newObject.getID()))
{
newObject.setInclude(existingObject.isInclude());
break;
}
}
}
return newObjects;
} }
public List<FilterObject> getFilterCategories() public List<FilterObject> getFilterCategories()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment