<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 12 November 2015 at 15:20, Stan Silvert <span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class="">
<div>On 11/12/2015 8:59 AM, Stian Thorgersen
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Not sure why this is turning into a lengthy
discussion, but null in the representation has a meaning. If you
look at how it's implemented the lack of a value (it's set to
null) results in setting the default value only if creating a
new entity. If updating an existing entity a null value is
simply ignored. If you initialize these in the representation
you will end up overriding existing values. The idea is that
someone can update a single value without having to include all
existing values.</div>
</blockquote></span>
So at the beginning I said it would be rare for us to want the
default to be null. That's where I was mistaken. It's good that we
had the discussion because I needed to know that null has that
meaning.<br>
<br>
Part of this is Java's fault. A Boolean with three values isn't
really Boolean. George Boole is probably rolling over in his grave.</div></blockquote><div><br></div><div>Not really. It's a object reference so can be set to null. It's incredible useful and without it Java would be horrible. You'd have to have a separate boolean (isMyBooleanSet?)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div><div class="h5"><br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On 12 November 2015 at 14:45, Stan
Silvert <span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span>
<div>On 11/12/2015 8:41 AM, Stian Thorgersen wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">The bug is simply caused by not
checking for null</div>
</blockquote>
</span> Seriously? So every time you call a getter on a
Representation you have to check for null?<br>
<br>
If a Boolean should not be null then initialize it
properly or use boolean.
<div>
<div><br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On 12 November 2015 at
14:40, Stan Silvert <span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>On 11/12/2015 8:33 AM, Stian Thorgersen
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">RepresentationToModel</div>
</blockquote>
The bug happened before
RepresentationToModel could be called.
That's why we need to initialize variables
properly.
<div>
<div><br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On 12
November 2015 at 14:20, Stan
Silvert <span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span>
<div>On 11/12/2015 7:39 AM,
Stian Thorgersen wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
12 November 2015 at
13:12, Stan Silvert
<span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Funny. I
just ran into
that exact NPE
yesterday but
I thought it
was a state
that was
caused by my
new code. So
I only fixed
it in that one
representation
class. But
I'm not ready
to merge that
yet.<br>
<br>
We really need
to go through
all the
representations
and set
defaults for
all instance
variables of
type Boolean.
It's probably
rare that we
would want
that default
to be null.
Even if it
should be null
we should say
so explicitly.</div>
</div>
</blockquote>
<div><br>
</div>
<div>-1 We want them
to be null. We set
defaults elsewhere</div>
</div>
</div>
</div>
</blockquote>
</span> Where?
<div>
<div><br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div><span><font color="#888888"><br>
<br>
Stan</font></span>
<div>
<div><br>
<br>
On 11/12/2015
5:42 AM, Stian
Thorgersen
wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">That's
a bug. It's
failing on "if
(rep.isServiceAccountsEnabled()
..)",
but serviceAccountsEnabled
in the
representation
can be null,
which would
result in this
NPE.
<div><br>
</div>
<div>Can you
create a JIRA
please? If you
did a PR as
well that'd be
even better :)</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
12 November
2015 at 10:58,
Juraj Janosik
<span dir="ltr"><<a href="mailto:juraj.janosik77@gmail.com" target="_blank">juraj.janosik77@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>
<div>Hi,<br>
<br>
</div>
I want to
announce an
issue with "<a href="http://keycloak.github.io/docs/rest-api/index.html#_update_the_client" target="_blank">Update the client</a>" via Admin REST API.<br>
</div>
<div><br>
<u>Description:</u>
I want to
change the
description
for existing
client #3.<br>
<br>
<u>Note:</u>
From the
documentation
("<a href="http://keycloak.github.io/docs/rest-api/index.html#_update_the_client" target="_blank">Update the client</a>"), body parameter attributes <br>
are required
in schema
"ClientRepresentation".<br>
</div>
<div>Description
of schema
"ClientRepresentation"
notes for any
mandatory
attribute.<br>
<br>
Are some
parameters
mandatory for
successfuly
running of
this scenario
?<br>
<br>
</div>
<u>Tested
scenario:</u><br>
<u>Tested
data:</u><br>
"Update
Client":<br>
"method":"PUT","url":"<URL>:<PORT>/auth/admin/realms/<REALM>/clients/3"<br>
<div>"headers":<br>
[["Content-Type","application/json"],<br>
<div>["Authorization","Bearer
<ACCESS_TOKEN>]]</div>
</div>
<div>"body":<br>
"{<br>
"id":"3",<br>
"clientId":"testclient-3",<br>
"name":
"testclient-3",<br>
"description":
"TESTCLIENT-3
v.2"<br>
}"<br>
</div>
<br>
</div>
<u>Test
Result:</u>
Status Code:
500 Internal
Server Error<br>
<br>
</div>
<u>Some parts
from console
logs:</u><br>
10:35:31,591
ERROR
[io.undertow.request]
(default
task-18)
UT005023:
Exception
handling
request to
/auth/admin/realms/universities/clients/3:
java.lang.RuntimeException:
request path:
/auth/admin/realms/universities/clients/3<br>
...<br>
at
org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:61)<br>
... 29
more<br>
<b>Caused by:
java.lang.NullPointerException</b><br>
at
org.keycloak.services.resources.admin.ClientResource.update(ClientResource.java:106)<br>
<br>
<br>
</div>
Thanks a lot.<br>
<br>
</div>
Best Regards,<br>
</div>
Juraj<br>
<div>
<div>
<div>
<div>
<div>
<div><br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
keycloak-user
mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
keycloak-user mailing list
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a></pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
keycloak-user
mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div></div>