diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverUiDefinitionController.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverUiDefinitionController.groovy index e8c383aeb..4da9b949f 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverUiDefinitionController.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverUiDefinitionController.groovy @@ -37,7 +37,7 @@ class MetadataResolverUiDefinitionController { @GetMapping(value = "/{resolverType}") ResponseEntity getUiDefinitionJsonSchema(@PathVariable String resolverType) { - switch (SchemaType.valueOf(resolverType)) { + switch (SchemaType.getSchemaType(resolverType)) { case SchemaType.FILESYSTEM_METADATA_RESOLVER: jsonSchemaLocation = filesystemMetadataProviderSchema(this.jsonSchemaResourceLocationRegistry) break diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/jsonschema/JsonSchemaResourceLocation.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/jsonschema/JsonSchemaResourceLocation.java index 2f37723af..69c8e4d9a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/jsonschema/JsonSchemaResourceLocation.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/jsonschema/JsonSchemaResourceLocation.java @@ -119,5 +119,14 @@ String getJsonType() { public static List getResolverTypes() { return Stream.of(SchemaType.values()).map(SchemaType::getJsonType).filter(it -> it.endsWith("Resolver")).collect(Collectors.toList()); } + + public static SchemaType getSchemaType(String jsonType) { + List schemaTypes = Stream.of(SchemaType.values()).filter(it -> it.getJsonType().equals(jsonType)).collect(Collectors.toList()); + if (schemaTypes.size() != 1) { + throw new RuntimeException("Found two schema types for jsonType (" + jsonType + ")! How did this even happen?"); + } else { + return schemaTypes.get(0); + } + } } } \ No newline at end of file