From 145f18d6a69f99e47ad1af7ea5b73587d9144836 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Mon, 8 Oct 2018 16:51:28 -0700 Subject: [PATCH] [SHIBUI-905][SHIBUI-916] Added custom attributes to json schema generation. --- .../MetadataSourcesUiDefinitionController.groovy | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataSourcesUiDefinitionController.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataSourcesUiDefinitionController.groovy index 0471e40dd..9d790f362 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataSourcesUiDefinitionController.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataSourcesUiDefinitionController.groovy @@ -1,6 +1,8 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import com.fasterxml.jackson.databind.ObjectMapper +import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomAttributesConfiguration +import groovy.json.JsonOutput import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.core.io.ResourceLoader @@ -34,10 +36,22 @@ class MetadataSourcesUiDefinitionController { @Autowired ObjectMapper jacksonObjectMapper + @Autowired + CustomAttributesConfiguration customAttributesConfiguration + @GetMapping ResponseEntity getUiDefinitionJsonSchema() { try { def parsedJson = jacksonObjectMapper.readValue(this.jsonSchemaUrl, Map) + def widget = parsedJson["properties"]["attributeRelease"]["widget"] + def data = [] + customAttributesConfiguration.getAttributes().each { + def attribute = [:] + attribute["key"] = it["name"] + attribute["label"] = it["displayName"] + data << attribute + } + widget["data"] = data return ResponseEntity.ok(parsedJson) } catch (Exception e) {