From 762fe329d28141e978dd4b60737f7a310871fc19 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Thu, 16 Sep 2021 14:08:27 -0700 Subject: [PATCH] SHIBUI-2059 Missing json for bundles with attribute release --- .../service/JsonSchemaBuilderService.groovy | 26 ++++++++++++++----- .../JsonSchemaComponentsConfiguration.java | 4 +-- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JsonSchemaBuilderService.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JsonSchemaBuilderService.groovy index 6ebdcf7be..a45448016 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JsonSchemaBuilderService.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JsonSchemaBuilderService.groovy @@ -1,29 +1,41 @@ package edu.internet2.tier.shibboleth.admin.ui.service import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.domain.AttributeBundle import edu.internet2.tier.shibboleth.admin.ui.domain.IRelyingPartyOverrideProperty import edu.internet2.tier.shibboleth.admin.ui.security.model.User import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService +import lombok.NoArgsConstructor import org.springframework.beans.factory.annotation.Autowired /** * @author Bill Smith (wsmith@unicon.net) */ +@NoArgsConstructor class JsonSchemaBuilderService { + @Autowired + AttributeBundleService attributeBundleService @Autowired CustomPropertiesConfiguration customPropertiesConfiguration + @Autowired UserService userService - JsonSchemaBuilderService(UserService userService) { - this.userService = userService - } - void addReleaseAttributesToJson(Object json) { - json['enum'] = customPropertiesConfiguration.getAttributes().collect { + List result = new ArrayList<>() + List resultNames = new ArrayList<>() + attributeBundleService.findAll().forEach({ bundle -> + result.add(bundle.getAttributes()) + resultNames.add(bundle.getName()) + }) + + result.addAll(customPropertiesConfiguration.getAttributes().collect { it['name'] - } + }) + + json['enum'] = result + json['enumNames'] = resultNames } void addRelyingPartyOverridesToJson(Object json) { @@ -79,4 +91,4 @@ class JsonSchemaBuilderService { serviceEnabled.remove('description') } } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/JsonSchemaComponentsConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/JsonSchemaComponentsConfiguration.java index 97d88f5a7..d483319f3 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/JsonSchemaComponentsConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/JsonSchemaComponentsConfiguration.java @@ -100,6 +100,6 @@ public JsonSchemaResourceLocationRegistry jsonSchemaResourceLocationRegistry(Res @Bean public JsonSchemaBuilderService jsonSchemaBuilderService(UserService userService) { - return new JsonSchemaBuilderService(userService); + return new JsonSchemaBuilderService(); } -} +} \ No newline at end of file