+
Skip to content

Improve handling of enum types for Keycloak options #40993

Open
@mabartos

Description

@mabartos

Description

ATM, using the external Enum type as Keycloak option type is hard due to limitations of possible mapping of enum values to Strings.

SmallRye Config uses a mapping mechanism to normalize these enum values, so f.e. enum value PROTOCOL_DEPENDENT is mapped to 'protocol-dependent' String. We should do the same for our codebase as it improves handling of our enum values as no toString() overrides are not necessary and we'll have a consistent way on how to deal with them.

Moreover, we can leverage Quarkus-specific enum types and does not have to maintain them on our own. If Quarkus adds some other value to an enum, Keycloak users might use it and we don't need to provide the next enum value to our own enum type - decreasing maintenance of these values as it's usually only a 1:1 mapping of these values. During upgrades of Quarkus and changing some of these enum values, we would see failed test HelpCommandDistTest that shows us what has changed and we can react more quickly.

Motivation

Improve maintanance
Decrease types duplications

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载