<div dir="ltr">Apologies for not testing this sooner, but I can confirm that 1.2.0-Final fixes this issue.<div><br></div><div>- Matt</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 8, 2015 at 6:55 AM, Matthew Casperson <span dir="ltr">&lt;<a href="mailto:matthew.casperson@autogeneral.com.au" target="_blank">matthew.casperson@autogeneral.com.au</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I can&#39;t make any promises, but I will certainly try :)<div><br></div><div>- Matt</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Thu, May 7, 2015 at 2:08 PM, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Just tried upgrading to 1.2.0.Beta1 from 1.0.4 and can confirm there&#39;s a problem.<br>
<br>
If we get a fix in master can you try it out before we release 1.2.0.Final next week?<br>
<span><br>
----- Original Message -----<br>
&gt; From: &quot;Matthew Casperson&quot; &lt;<a href="mailto:matthew.casperson@autogeneral.com.au" target="_blank">matthew.casperson@autogeneral.com.au</a>&gt;<br>
</span><div><div>&gt; To: &quot;Stian Thorgersen&quot; &lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt;, <a href="mailto:mposolda@redhat.com" target="_blank">mposolda@redhat.com</a><br>
&gt; Cc: <a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a><br>
&gt; Sent: Wednesday, May 6, 2015 10:51:50 PM<br>
&gt; Subject: Re: [keycloak-dev] Problem upgrading from 1.2.0.Beta1 to CR1<br>
&gt;<br>
&gt; &gt; By the way, are you using H2 in production?<br>
&gt; We are still developing the platforms that rely on Keycloak. H2 has worked<br>
&gt; well (we have low traffic with internal users only), but moving to MySQL is<br>
&gt; something we&#39;ll be doing.<br>
&gt;<br>
&gt; &gt; What version did you upgrade from?<br>
&gt; The table was upgraded from 1.0.4 to 1.2.0.Beta1, then the error appeared<br>
&gt; attempting to upgrade to CR1.<br>
&gt;<br>
&gt; &gt;Maybe you can try to manually connect to your H2 database and set the<br>
&gt; fields &quot;DIRECT_GRANTS_ONLY&quot; on CLIENT table to non-null value manually<br>
&gt; through SQL.<br>
&gt; I&#39;ll spend some time this week looking at the tables and the offending<br>
&gt; column to see if I can manually update it and get the upgrade working.<br>
&gt;<br>
&gt; On Wed, May 6, 2015 at 9:15 PM, Stian Thorgersen &lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; What version did you upgrade from?<br>
&gt; &gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; From: &quot;Matthew Casperson&quot; &lt;<a href="mailto:matthew.casperson@autogeneral.com.au" target="_blank">matthew.casperson@autogeneral.com.au</a>&gt;<br>
&gt; &gt; &gt; To: <a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt; &gt; Sent: Wednesday, May 6, 2015 12:59:03 AM<br>
&gt; &gt; &gt; Subject: [keycloak-dev] Problem upgrading from 1.2.0.Beta1 to CR1<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I received this error after copying the h2 database from my existing<br>
&gt; &gt; &gt; 1.2.0.Beta1 deployment into a fresh copy of CR1.<br>
&gt; &gt; &gt; Maybe a bug with the upgrade process?<br>
&gt; &gt; &gt; jboss.undertow.deployment.default-server.default-host./auth: Failed to<br>
&gt; &gt; start<br>
&gt; &gt; &gt; service<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)<br>
&gt; &gt; &gt;       [jboss-msc-1.2.2.Final.jar:1.2.2.Final]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt; Caused by: java.lang.RuntimeException: Failed to construct public<br>
&gt; &gt; &gt;<br>
&gt; &gt; org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:160)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2211)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:295)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:236)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:112)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:79)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:220)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:125)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:508)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:88)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)<br>
&gt; &gt; &gt;       [jboss-msc-1.2.2.Final.jar:1.2.2.Final]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)<br>
&gt; &gt; &gt;       [jboss-msc-1.2.2.Final.jar:1.2.2.Final]<br>
&gt; &gt; &gt;       ... 3 more<br>
&gt; &gt; &gt; Caused by: org.keycloak.models.ModelException:<br>
&gt; &gt; &gt; javax.persistence.PersistenceException:<br>
&gt; &gt; &gt; org.hibernate.PropertyAccessException: Null value was assigned to a<br>
&gt; &gt; property<br>
&gt; &gt; &gt; of primitive type setter of<br>
&gt; &gt; &gt; org.keycloak.models.jpa.entities.ClientEntity.directGrantsOnly<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.connections.jpa.PersistenceExceptionConverter.convert(PersistenceExceptionConverter.java:44)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.connections.jpa.PersistenceExceptionConverter.invoke(PersistenceExceptionConverter.java:34)<br>
&gt; &gt; &gt;       at com.sun.proxy.$Proxy57.find(Unknown Source)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.models.jpa.JpaRealmProvider.getRealm(JpaRealmProvider.java:63)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.models.cache.DefaultCacheRealmProvider.getRealm(DefaultCacheRealmProvider.java:163)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.services.managers.ApplianceBootstrap.bootstrap(ApplianceBootstrap.java:40)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.services.managers.ApplianceBootstrap.bootstrap(ApplianceBootstrap.java:31)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.services.resources.KeycloakApplication.setupDefaultRealm(KeycloakApplication.java:160)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.services.resources.KeycloakApplication.&lt;init&gt;(KeycloakApplication.java:85)<br>
&gt; &gt; &gt;       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native<br>
&gt; &gt; Method)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at java.lang.reflect.Constructor.newInstance(Constructor.java:526)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:148)<br>
&gt; &gt; &gt;       ... 18 more<br>
&gt; &gt; &gt; Caused by: javax.persistence.PersistenceException:<br>
&gt; &gt; &gt; org.hibernate.PropertyAccessException: Null value was assigned to a<br>
&gt; &gt; property<br>
&gt; &gt; &gt; of primitive type setter of<br>
&gt; &gt; &gt; org.keycloak.models.jpa.entities.ClientEntity.directGrantsOnly<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1694)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1141)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1068)<br>
&gt; &gt; &gt;       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at java.lang.reflect.Method.invoke(Method.java:606)<br>
&gt; &gt; [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.keycloak.connections.jpa.PersistenceExceptionConverter.invoke(PersistenceExceptionConverter.java:32)<br>
&gt; &gt; &gt;       ... 30 more<br>
&gt; &gt; &gt; Caused by: org.hibernate.PropertyAccessException: Null value was<br>
&gt; &gt; assigned to<br>
&gt; &gt; &gt; a property of primitive type setter of<br>
&gt; &gt; &gt; org.keycloak.models.jpa.entities.ClientEntity.directGrantsOnly<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.property.DirectPropertyAccessor$DirectSetter.set(DirectPropertyAccessor.java:126)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:713)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:362)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:4718)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:188)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:244)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:215)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:140)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:138)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:102)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:186)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4126)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:503)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:468)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1070)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2551)<br>
&gt; &gt; &gt;       at org.hibernate.internal.SessionImpl.get(SessionImpl.java:955)<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1110)<br>
&gt; &gt; &gt;       ... 36 more<br>
&gt; &gt; &gt; Caused by: java.lang.IllegalArgumentException: Can not set boolean field<br>
&gt; &gt; &gt; org.keycloak.models.jpa.entities.ClientEntity.directGrantsOnly to null<br>
&gt; &gt; value<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  sun.reflect.UnsafeBooleanFieldAccessorImpl.set(UnsafeBooleanFieldAccessorImpl.java:80)<br>
&gt; &gt; &gt;       [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at java.lang.reflect.Field.set(Field.java:741) [rt.jar:1.7.0_65]<br>
&gt; &gt; &gt;       at<br>
&gt; &gt; &gt;<br>
&gt; &gt;  org.hibernate.property.DirectPropertyAccessor$DirectSetter.set(DirectPropertyAccessor.java:122)<br>
&gt; &gt; &gt;       ... 58 more<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Matthew Casperson<br>
&gt; &gt; &gt; Senior Front End Developer<br>
&gt; &gt; &gt; Technology, Space &amp; Distribution<br>
&gt; &gt; &gt; Auto &amp; General Holdings Pty Ltd<br>
&gt; &gt; &gt; P: 07) 3377 8751 (Direct: 3377 8751 )<br>
&gt; &gt; &gt; F: 07) 3377 8833<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This email is sent by Auto &amp; General Insurance Company Ltd, Auto &amp;<br>
&gt; &gt; General<br>
&gt; &gt; &gt; Services Pty Ltd, Auto &amp; General Holdings Pty Ltd or a related body<br>
&gt; &gt; &gt; corporate (Auto &amp; General) and is for the intended addressee.<br>
&gt; &gt; &gt; The views expressed in this email and attachments (email) reflect the<br>
&gt; &gt; views<br>
&gt; &gt; &gt; of the stated author but may not reflect views of Auto &amp; General. This<br>
&gt; &gt; email<br>
&gt; &gt; &gt; is confidential and subject to copyright.<br>
&gt; &gt; &gt; It may be privileged. If you are not the intended addressee,<br>
&gt; &gt; confidentiality<br>
&gt; &gt; &gt; and privilege have not been waived and any use, interference with, or<br>
&gt; &gt; &gt; disclosure of this email is unauthorised.<br>
&gt; &gt; &gt; If you are not the intended addressee please immediately notify the<br>
&gt; &gt; sender<br>
&gt; &gt; &gt; and then delete the email. Auto &amp; General does not warrant that this<br>
&gt; &gt; email<br>
&gt; &gt; &gt; is error or virus free.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; keycloak-dev mailing list<br>
&gt; &gt; &gt; <a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
</div></div>&gt; *Matthew Casperson*<br>
&gt; *Senior Front End Developer*<br>
<span>&gt; Technology, Space &amp; Distribution<br>
&gt; Auto &amp; General Holdings Pty Ltd<br>
&gt; P: 07) 3377 8751 (Direct: 3377 8751)<br>
&gt; F: 07) 3377 8833<br>
&gt;<br>
</span>&gt; --<br>
<div><div>&gt;<br>
&gt;<br>
&gt; This email is sent by Auto &amp; General Insurance Company Ltd, Auto &amp; General<br>
&gt; Services Pty Ltd, Auto &amp; General Holdings Pty Ltd or a related body<br>
&gt; corporate (Auto &amp; General) and is for the intended addressee.<br>
&gt; The views expressed in this email and attachments (email) reflect the views<br>
&gt; of the stated author but may not reflect views of Auto &amp; General. This email<br>
&gt; is confidential and subject to copyright.<br>
&gt; It may be privileged. If you are not the intended addressee, confidentiality<br>
&gt; and privilege have not been waived and any use, interference with, or<br>
&gt; disclosure of this email is unauthorised.<br>
&gt; If you are not the intended addressee please immediately notify the sender<br>
&gt; and then delete the email. Auto &amp; General does not warrant that this email<br>
&gt; is error or virus free.<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br></div></div><div><div dir="ltr"><div><div dir="ltr"><div><div class="h5"><div><b><font face="tahoma, sans-serif">Matthew Casperson</font></b></div><div><b><font face="tahoma, sans-serif">Senior Front End Developer</font></b></div><div><font face="tahoma, sans-serif">Technology, Space &amp; Distribution</font></div><div><font face="tahoma, sans-serif">Auto &amp; General Holdings Pty Ltd</font></div></div></div><div><font face="tahoma, sans-serif">P: 07) 3377 </font><span style="font-family:tahoma,sans-serif;font-size:small">8751</span><font face="tahoma, sans-serif"> (Direct: 3377 </font><span style="font-family:tahoma,sans-serif;font-size:small">8751</span><font face="tahoma, sans-serif">)</font></div><div><font face="tahoma, sans-serif">F: 07) 3377 8833<br><br></font></div><img src="https://sites.google.com/a/autogeneral.com.au/logos/_/rsrc/1375661597693/home/autogeneral.gif" style="border:0px none;max-width:100%;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:18px"><br></div></div></div></div>
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><b><font face="tahoma, sans-serif">Matthew Casperson</font></b></div><div><b><font face="tahoma, sans-serif">Senior Front End Developer</font></b></div><div><font face="tahoma, sans-serif">Technology, Space &amp; Distribution</font></div><div><font face="tahoma, sans-serif">Auto &amp; General Holdings Pty Ltd</font></div><div><font face="tahoma, sans-serif">P: 07) 3377 </font><span style="font-family:tahoma,sans-serif;font-size:small">8751</span><font face="tahoma, sans-serif"> (Direct: 3377 </font><span style="font-family:tahoma,sans-serif;font-size:small">8751</span><font face="tahoma, sans-serif">)</font></div><div><font face="tahoma, sans-serif">F: 07) 3377 8833<br><br></font></div><img src="https://sites.google.com/a/autogeneral.com.au/logos/_/rsrc/1375661597693/home/autogeneral.gif" style="border:0px none;max-width:100%;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:18px"><br></div></div></div></div>
</div>

<br>
<pre style="font-family:Menlo,Monaco,&#39;Courier New&#39;,monospace;font-size:12px;white-space:pre-wrap;padding:8.5px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902);word-break:break-all;word-wrap:break-word">This email is sent by Auto &amp; General Insurance Company Ltd, Auto &amp; General Services Pty Ltd, Auto &amp; General Holdings Pty Ltd or a related body corporate (Auto &amp; General) and is for the intended addressee.
The views expressed in this email and attachments (email) reflect the views of the stated author but may not reflect views of Auto &amp; General. This email is confidential and subject to copyright. 
It may be privileged. If you are not the intended addressee, confidentiality and privilege have not been waived and any use, interference with, or disclosure of this email is unauthorised. 
If you are not the intended addressee please immediately notify the sender and then delete the email. Auto &amp; General does not warrant that this email is error or virus free.</pre>