-
Bug
-
Resolution: Done
-
Undefined
-
None
-
False
-
-
False
-
-
Before reporting an issue
[X] I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
admin/api
Describe the bug
Hi,
Using the quarkus-rest-client builder from a custom provider leads to an NPE :
var service = QuarkusRestClientBuilder.newBuilder().baseUri(URI.create(url)).build(MyService.class);
The NPE is related to admin events in OrganizationResource and OrganizationsResources constructors and are easy to fix:
```java
public OrganizationResource() {
// needed for registering to the JAX-RS stack
this(null, null, null);
}
public OrganizationResource(KeycloakSession session, OrganizationModel organization, AdminEventBuilder adminEvent) {
this.session = session;
this.provider = session == null ? null : session.getProvider(OrganizationProvider.class);
this.organization = organization;
// prevent NPE on adminEvent
this.adminEvent = adminEvent == null ? null : adminEvent.resource(ResourceType.ORGANIZATION);
}
```
and
```java
public OrganizationsResource()
// needed for registering to the JAX-RS stack
this(null, null, null);
}
public OrganizationsResource(KeycloakSession session, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent) {
this.session = session;
this.provider = session == null ? null : session.getProvider(OrganizationProvider.class);
this.auth = auth;
// prevent NPE on adminEvent
this.adminEvent = adminEvent == null ? null : adminEvent.resource(ResourceType.ORGANIZATION);
}
```
Here are the dependencies declared in the custom provider (added in keycloak-quarkus-server / keycloak-quarkus-server-deployment):
```
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client-jackson</artifactId>
<scope>provided</scope>
</dependency>
```
Organization/Organizations classes are not used the provider and I don't know why the quarkus rest client instantiate this classes with the default constructor, so maybe there is a better solution to prevent the NPE.
Best regards.
Version
26
Regression
[ ] The issue is a regression
Expected behavior
No NPE when using quarkus-rest-client
Actual behavior
NPE when using the quarkus rest builder
How to Reproduce?
Add quarkus-rest-client / quarkus-rest-client-jackson dependencies in a keycloak distribution and try to instantiate a service client with QuarkusRestClientBuilder.
Anything else?
No response
- links to