From 8bb03ef61e738fa35abe5d1747297e3e4b17b5f2 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 9 Jun 2021 17:21:13 -0700 Subject: [PATCH] SHIBUI-1946 Added a flag so that the front end would get the list of custom entity attribute definitions AND the list of RelyingPartyOverrideProperties (from any config file) together and be able to differentiate which ones from the DB and which were from a file. --- ...CustomEntityAttributesDefinitionsController.java | 13 +++++++++---- .../ui/domain/CustomEntityAttributeDefinition.java | 5 +++++ .../ui/domain/IRelyingPartyOverrideProperty.java | 2 ++ .../ui/domain/RelyingPartyOverrideProperty.java | 5 +++++ 4 files changed, 21 insertions(+), 4 deletions(-) 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 56183dfdb..33811f28e 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 @@ -1,7 +1,5 @@ package edu.internet2.tier.shibboleth.admin.ui.controller; -import java.util.List; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -17,8 +15,8 @@ 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.domain.EntityDescriptor; import edu.internet2.tier.shibboleth.admin.ui.service.CustomEntityAttributesDefinitionService; @Controller @@ -26,6 +24,9 @@ public class CustomEntityAttributesDefinitionsController { @Autowired private CustomEntityAttributesDefinitionService caService; + + @Autowired + private CustomPropertiesConfiguration customPropertiesConfiguration; @PostMapping("/attribute") @Transactional @@ -63,10 +64,14 @@ public ResponseEntity update(@RequestBody CustomEntityAttributeDefinition def return ResponseEntity.ok(result); } + /** + * @return List of IRelyingPartyOverrideProperty objects. This will include all of the CustomEntityAttributeDefinition + * and the RelyingPartyOverrideProperties from any configuration file that was read in at startup. + */ @GetMapping("/attributes") @Transactional(readOnly = true) public ResponseEntity getAll() { - return ResponseEntity.ok(caService.getAllDefinitions()); + return ResponseEntity.ok(customPropertiesConfiguration.getOverrides()); } @GetMapping("/attribute/{name}") diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/CustomEntityAttributeDefinition.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/CustomEntityAttributeDefinition.java index f049787a8..d5450e31a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/CustomEntityAttributeDefinition.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/CustomEntityAttributeDefinition.java @@ -56,6 +56,11 @@ public Set getDefaultValues() { return customAttrListDefinitions; } + @Override + public Boolean getFromConfigFile() { + return Boolean.FALSE; + } + @Override public String getPersistType() { return attributeType.toString(); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/IRelyingPartyOverrideProperty.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/IRelyingPartyOverrideProperty.java index 0c700a1af..8a217f36c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/IRelyingPartyOverrideProperty.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/IRelyingPartyOverrideProperty.java @@ -19,6 +19,8 @@ public interface IRelyingPartyOverrideProperty { public String getDisplayType(); + public Boolean getFromConfigFile(); + public String getHelpText(); public String getInvert(); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/RelyingPartyOverrideProperty.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/RelyingPartyOverrideProperty.java index 1cc75c98b..3a8a85ac6 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/RelyingPartyOverrideProperty.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/RelyingPartyOverrideProperty.java @@ -24,4 +24,9 @@ public class RelyingPartyOverrideProperty implements IRelyingPartyOverrideProper private String name; private String persistType; private String persistValue; + + @Override + public Boolean getFromConfigFile() { + return Boolean.TRUE; + } } \ No newline at end of file