keycloak-config-cli icon indicating copy to clipboard operation
keycloak-config-cli copied to clipboard

Error when RoleRepresentation.getDescription() returns no description

Open schuerg opened this issue 1 year ago • 1 comments

Current Behavior

An error is thrown when org.keycloak.representations.idm.RoleRepresentation.getDescription() returns null.

It happens, when roles have no description.

This happens here https://github.com/adorsys/keycloak-config-cli/blob/main/src/main/java/de/adorsys/keycloak/config/util/KeycloakUtil.java#L50

Cannot invoke "String.equals(Object)" because the return value of "org.keycloak.representations.idm.RoleRepresentation.getDescription()" is null
	at de.adorsys.keycloak.config.util.KeycloakUtil.isDefaultRole(KeycloakUtil.java:50)

Here is the complete error log with stacktrace:

2023-12-15 13:24:21.809  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-12-15 13:24:21.852 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Failed to execute CommandLineRunner
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771)
	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:752)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
	at de.adorsys.keycloak.config.KeycloakConfigApplication.main(KeycloakConfigApplication.java:35)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "org.keycloak.representations.idm.RoleRepresentation.getDescription()" is null
	at de.adorsys.keycloak.config.util.KeycloakUtil.isDefaultRole(KeycloakUtil.java:50)
	at de.adorsys.keycloak.config.service.RoleImportService.deleteRealmRolesMissingInImport(RoleImportService.java:262)
	at de.adorsys.keycloak.config.service.RoleImportService.doImport(RoleImportService.java:94)
	at de.adorsys.keycloak.config.service.RealmImportService.configureRealm(RealmImportService.java:199)
	at de.adorsys.keycloak.config.service.RealmImportService.updateRealm(RealmImportService.java:192)
	at de.adorsys.keycloak.config.service.RealmImportService.updateRealmIfNecessary(RealmImportService.java:150)
	at de.adorsys.keycloak.config.service.RealmImportService.doImport(RealmImportService.java:141)
	at de.adorsys.keycloak.config.KeycloakConfigRunner.run(KeycloakConfigRunner.java:79)
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:768)
	... 13 common frames omitted

Expected Behavior

Should execute without error.

Environment

  • Keycloak Version: 21.1.2
  • keycloak-config-cli Version: docker.io/adorsys/keycloak-config-cli:5.10.0-21.1.1

schuerg avatar Dec 15 '23 13:12 schuerg