diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfiguration.java index 66063c490..af8aef206 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfiguration.java @@ -30,19 +30,21 @@ public class CustomPropertiesConfiguration implements ApplicationListener(); + HashMap reloaded = new HashMap<>(); ceadService.getAllDefinitions().forEach(def -> { def.updateExamplesList(); // totally non-ooo, but @PostLoad wasn't working and JPA/Hibernate is doing some reflection crap - overrides.put(def.getName(), def); + reloaded.put(def.getName(), def); }); // We only want to add to an override from the config file if the incoming override (by name) isn't already in // the list of overrides (ie DB > file config) for (RelyingPartyOverrideProperty rpop : this.overridesFromConfigFile) { - if (!this.overrides.containsKey(rpop.getName())) { - this.overrides.put(rpop.getName(), rpop); + if (!reloaded.containsKey(rpop.getName())) { + reloaded.put(rpop.getName(), rpop); } } + + this.overrides = reloaded; } public List> getAttributes() { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/CustomEntityAttributesDefinitionsController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/CustomEntityAttributesDefinitionsController.java index 33811f28e..fa83d2b45 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/CustomEntityAttributesDefinitionsController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/CustomEntityAttributesDefinitionsController.java @@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; -import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration; import edu.internet2.tier.shibboleth.admin.ui.domain.CustomEntityAttributeDefinition; import edu.internet2.tier.shibboleth.admin.ui.service.CustomEntityAttributesDefinitionService; @@ -24,9 +23,6 @@ public class CustomEntityAttributesDefinitionsController { @Autowired private CustomEntityAttributesDefinitionService caService; - - @Autowired - private CustomPropertiesConfiguration customPropertiesConfiguration; @PostMapping("/attribute") @Transactional @@ -71,7 +67,7 @@ public ResponseEntity update(@RequestBody CustomEntityAttributeDefinition def @GetMapping("/attributes") @Transactional(readOnly = true) public ResponseEntity getAll() { - return ResponseEntity.ok(customPropertiesConfiguration.getOverrides()); + return ResponseEntity.ok(caService.getAllDefinitions()); } @GetMapping("/attribute/{name}")