summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java')
-rwxr-xr-xdozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java29
1 files changed, 5 insertions, 24 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java
index 1f359305..6ebd180f 100755
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LdapFilterConfigurator.java
@@ -157,36 +157,17 @@ public class LdapFilterConfigurator extends LdapFilterConfiguratorLayout {
return ret;
}
- public boolean setState(List<LdapFilter> data) {
+ public boolean setState(List<LdapFilter> data, List<Integer> predefSelected) {
if (data == null)
return false;
ArrayList<LdapFilter> filterList = new ArrayList<>(data);
+ Set<LdapFilter> checked = new HashSet<LdapFilter>();
List<LdapFilter> predef = MetaDataCache.getPredefinedLdapFilters();
- Set<LdapFilter> checked = new HashSet<>();
- for (LdapFilter item : data) {
- if (item.filterId == 0)
- continue;
- // Item has a filterId (is predefined), so validate it's in there
- // before marking it checked, or just uncheck it by removing the id
- // so it becomes a custom entry.
- boolean ok = false;
- for (LdapFilter pd : predef) {
- if (pd.filterId == item.filterId) {
- checked.add(pd);
- ok = true;
- break;
- }
- }
- // If it wasn't preselected, add to list now...
- if (!ok) {
- item.filterId = 0;
- }
- }
// Now add remaining filters
for (LdapFilter pd : predef) {
- if (!checked.contains(pd)) {
- filterList.add(pd);
- LOGGER.info("Adding " + pd.filterId);
+ filterList.add(pd);
+ if (predefSelected != null && predefSelected.contains(pd.filterId)) {
+ checked.add(pd);
}
}
tblFilters.setData(filterList, checked, false);