<div dir="ltr">JSR 365 is not yet final, the FAB just started yesterday, but it had to be a rather drastic change to still remove it from the CDI 2 Spec and RI, otherwise letting 375 extend it sounds like a good idea.<br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p style="margin:0px;border-collapse:collapse"><font face="arial, helvetica, sans-serif" size="1"><span lang="EN-US">Werner </span></font></p><span lang="EN-GB"><div style="font-family:arial,helvetica,sans-serif"><br></div></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Wed, Apr 26, 2017 at 6:56 PM,  <span dir="ltr">&lt;<a href="mailto:cdi-dev-request@lists.jboss.org" target="_blank">cdi-dev-request@lists.jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send cdi-dev mailing list submissions to<br>
        <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.<wbr>org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:cdi-dev-owner@lists.jboss.org">cdi-dev-owner@lists.jboss.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of cdi-dev digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
   1. Re: Types of Principal object (arjan tijms)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Wed, 26 Apr 2017 18:56:10 +0200<br>
From: arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;<br>
Subject: Re: [cdi-dev] Types of Principal object<br>
To: Werner Keil &lt;<a href="mailto:werner.keil@gmail.com">werner.keil@gmail.com</a>&gt;<br>
Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;CAE=-<a href="mailto:AhD65_mWbOBM0JL-c_UzL4p-k_76_T_Y3E08PZNFpJJTHA@mail.gmail.com">AhD65_mWbOBM0JL-c_UzL4p-<wbr>k_76_T_Y3E08PZNFpJJTHA@mail.<wbr>gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Hi,<br>
<br>
We might do sub-types of Principal, and leave the base Principal at CDI<br>
(since we can&#39;t change that now in CDI 2.0).<br>
<br>
But we are also short of time. I&#39;m not even sure TBH when the deadline for<br>
the JSR 375 PR is.<br>
<br>
Kind regards,<br>
Arjan Tijms<br>
<br>
<br>
<br>
<br>
<br>
On Wed, Apr 26, 2017 at 6:51 PM, Werner Keil &lt;<a href="mailto:werner.keil@gmail.com">werner.keil@gmail.com</a>&gt; wrote:<br>
<br>
&gt; If Soteria could handle something like that independent of the underlying<br>
&gt; CDI implementation, it would be great. At the moment it does not seem to<br>
&gt; require Weld, so unless it redefined the whole &quot;AbstractBean&quot;<br>
&gt; functionality, not sure, if we can do it there, but I would certainly love<br>
&gt; to see it there if possible.<br>
&gt;<br>
&gt; Kind Regards,<br>
&gt; Werner<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Apr 26, 2017 at 6:41 PM, arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Apr 26, 2017 at 6:14 PM, Werner Keil &lt;<a href="mailto:werner.keil@gmail.com">werner.keil@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Not sure, if I follow you on that?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; java.security.Principal is not part of the CDI spec at all and only used<br>
&gt;&gt;&gt; by a special subclass of<br>
&gt;&gt;&gt; AbstractEEBean&lt;T&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I think what Romain intended here is that the build-in Bean&lt;T&gt; for<br>
&gt;&gt; Principal is removed from CDI and moved to e.g. the Java EE Security spec.<br>
&gt;&gt; In case of Weld that would be org.jboss.weld.bean.builtin<br>
&gt;&gt; .ee.PrincipalBean<br>
&gt;&gt;<br>
&gt;&gt; (see <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.jbo" rel="noreferrer" target="_blank">http://grepcode.com/file/<wbr>repo1.maven.org/maven2/org.jbo</a><br>
&gt;&gt; ss.weld.servlet/weld-servlet/<wbr>2.3.0.Beta3/org/jboss/weld/<br>
&gt;&gt; bean/builtin/ee/PrincipalBean.<wbr>java#PrincipalBean)<br>
&gt;&gt;<br>
&gt;&gt; The Principal type itself is of course not part of CDI, but part of Java<br>
&gt;&gt; SE.<br>
&gt;&gt;<br>
&gt;&gt; Btw, a CDI extension can easily scan the application for occurrences of<br>
&gt;&gt; Injection Points that have a Principal subtype as their target, and then<br>
&gt;&gt; dynamically add a specific Bean&lt;T&gt; for that. This is what we do in<br>
&gt;&gt; OmniFaces as well.<br>
&gt;&gt;<br>
&gt;&gt; See<br>
&gt;&gt;<br>
&gt;&gt; * Collecting types: <a href="https://github.com/omnifaces/omnifaces/blob/develop/" rel="noreferrer" target="_blank">https://github.com/omnifaces/<wbr>omnifaces/blob/develop/</a><br>
&gt;&gt; src/main/java/org/omnifaces/<wbr>cdi/param/ParamExtension.java#<wbr>L61<br>
&gt;&gt;<br>
&gt;&gt; * Adding a Bean&lt;T&gt; for each encountered type: <a href="https://github.com/omnif" rel="noreferrer" target="_blank">https://github.com/omnif</a><br>
&gt;&gt; aces/omnifaces/blob/develop/<wbr>src/main/java/org/omnifaces/<br>
&gt;&gt; cdi/param/ParamExtension.java#<wbr>L74<br>
&gt;&gt;<br>
&gt;&gt; Kind regards,<br>
&gt;&gt; Arjan Tijms<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The problem seems the generic T which Java at this point is unable to<br>
&gt;&gt;&gt; know about at runtime.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It makes no difference, if you had<br>
&gt;&gt;&gt; PrincipalBean extends AbstractEEBean&lt;Principal&gt;<br>
&gt;&gt;&gt; or a<br>
&gt;&gt;&gt; StringBean extends AbstractBuiltInBean&lt;String&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Even created a JUnit test in<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://github.com/unitsofmeasurement/uom-se/blob/master/src" rel="noreferrer" target="_blank">https://github.com/<wbr>unitsofmeasurement/uom-se/<wbr>blob/master/src</a><br>
&gt;&gt;&gt; /test/java/tec/uom/se/<wbr>AbsUnitTest.java<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Which under Java 8 returns<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &quot;java.lang.reflect.<wbr>TypeVariable&lt;D&gt;&quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; No sign of &quot;Length&quot; which is what you&#39;d hoped for (maybe we did not dig<br>
&gt;&gt;&gt; deep enough, maybe it won&#39;t work until a future Java version?)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Werner<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, Apr 26, 2017 at 5:46 PM, &lt;<a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.<wbr>org</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Send cdi-dev mailing list submissions to<br>
&gt;&gt;&gt;&gt;         <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; To subscribe or unsubscribe via the World Wide Web, visit<br>
&gt;&gt;&gt;&gt;         <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; or, via email, send a message with subject or body &#39;help&#39; to<br>
&gt;&gt;&gt;&gt;         <a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.<wbr>org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; You can reach the person managing the list at<br>
&gt;&gt;&gt;&gt;         <a href="mailto:cdi-dev-owner@lists.jboss.org">cdi-dev-owner@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; When replying, please edit your Subject line so it is more specific<br>
&gt;&gt;&gt;&gt; than &quot;Re: Contents of cdi-dev digest...&quot;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Today&#39;s Topics:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;    1. Re: Types of Principal object (Romain Manni-Bucau)<br>
&gt;&gt;&gt;&gt;    2. Re: Types of Principal object (Werner Keil)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ------------------------------<wbr>------------------------------<wbr>----------<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Message: 1<br>
&gt;&gt;&gt;&gt; Date: Wed, 26 Apr 2017 17:41:08 +0200<br>
&gt;&gt;&gt;&gt; From: Romain Manni-Bucau &lt;<a href="mailto:rmannibucau@gmail.com">rmannibucau@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Subject: Re: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; To: arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt;         &lt;CACLE=7OK-<wbr>JWXptMQxM8BUAvE2ab5gOwNiNBHCDb<wbr>jy=<a href="mailto:UNkuEGQg@mail.gm">UNkuEGQg@mail.gm</a><br>
&gt;&gt;&gt;&gt; <a href="http://ail.com" rel="noreferrer" target="_blank">ail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; that&#39;s why security API needs a more typed API acting as an handler and<br>
&gt;&gt;&gt;&gt; not<br>
&gt;&gt;&gt;&gt; as a contextual instance, it would allow to unwrap the actual instance<br>
&gt;&gt;&gt;&gt; (like most specs do) but at CDI level it should also be possible. If<br>
&gt;&gt;&gt;&gt; not we<br>
&gt;&gt;&gt;&gt; have this built-in bean never working until you add another not<br>
&gt;&gt;&gt;&gt; mandatory<br>
&gt;&gt;&gt;&gt; spec - for CDI level. In other words either Principal is removed from<br>
&gt;&gt;&gt;&gt; CDI<br>
&gt;&gt;&gt;&gt; spec or it stays but it should be extended to be made usable IMHO.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Romain Manni-Bucau<br>
&gt;&gt;&gt;&gt; @rmannibucau &lt;<a href="https://twitter.com/rmannibucau" rel="noreferrer" target="_blank">https://twitter.com/<wbr>rmannibucau</a>&gt; |  Blog<br>
&gt;&gt;&gt;&gt; &lt;<a href="https://blog-rmannibucau.rhcloud.com" rel="noreferrer" target="_blank">https://blog-rmannibucau.<wbr>rhcloud.com</a>&gt; | Old Blog<br>
&gt;&gt;&gt;&gt; &lt;<a href="http://rmannibucau.wordpress.com" rel="noreferrer" target="_blank">http://rmannibucau.wordpress.<wbr>com</a>&gt; | Github &lt;<br>
&gt;&gt;&gt;&gt; <a href="https://github.com/rmannibucau" rel="noreferrer" target="_blank">https://github.com/rmannibucau</a><wbr>&gt; |<br>
&gt;&gt;&gt;&gt; LinkedIn &lt;<a href="https://www.linkedin.com/in/rmannibucau" rel="noreferrer" target="_blank">https://www.linkedin.com/in/<wbr>rmannibucau</a>&gt; | JavaEE Factory<br>
&gt;&gt;&gt;&gt; &lt;<a href="https://javaeefactory-rmannibucau.rhcloud.com" rel="noreferrer" target="_blank">https://javaeefactory-<wbr>rmannibucau.rhcloud.com</a>&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2017-04-26 17:11 GMT+02:00 arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt; Hi,<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; We discussed this very issue in the Security API EG as well. In the<br>
&gt;&gt;&gt;&gt; &gt; Security API the actual type *MUST* be retained as per the spec<br>
&gt;&gt;&gt;&gt; definition.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; The problem in CDI, at least in Weld, is that a proxy is injected.<br>
&gt;&gt;&gt;&gt; This<br>
&gt;&gt;&gt;&gt; &gt; happens via the build-in bean &quot;PrincipalBean extends AbstractEEBean&quot;,<br>
&gt;&gt;&gt;&gt; where<br>
&gt;&gt;&gt;&gt; &gt; AbstractEEBean does:<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; public abstract class AbstractEEBean&lt;T&gt; extends<br>
&gt;&gt;&gt;&gt; &gt; AbstractStaticallyDecorableBui<wbr>ltInBean&lt;T&gt; {<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;     private final T proxy;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;     protected AbstractEEBean(Class&lt;T&gt; type, Callable&lt;T&gt; callable,<br>
&gt;&gt;&gt;&gt; &gt; BeanManagerImpl beanManager) {<br>
&gt;&gt;&gt;&gt; &gt;         super(beanManager, type);<br>
&gt;&gt;&gt;&gt; &gt;         this.proxy = new ProxyFactory&lt;T&gt;(beanManager.<wbr>getContextId(),<br>
&gt;&gt;&gt;&gt; &gt; type, getTypes(), this).create(new EnterpriseTargetBeanInstance(<wbr>type,<br>
&gt;&gt;&gt;&gt; new<br>
&gt;&gt;&gt;&gt; &gt; CallableMethodHandler(<wbr>callable)));<br>
&gt;&gt;&gt;&gt; &gt;     }<br>
&gt;&gt;&gt;&gt; &gt;     // ...<br>
&gt;&gt;&gt;&gt; &gt; }<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; I&#39;m not even sure if it&#39;s possible to downcast the proxy to the<br>
&gt;&gt;&gt;&gt; required<br>
&gt;&gt;&gt;&gt; &gt; runtime type.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Also note that the Principal can change during the request. The<br>
&gt;&gt;&gt;&gt; simplest<br>
&gt;&gt;&gt;&gt; &gt; case is when during an http request HttpServletRequest#logout is<br>
&gt;&gt;&gt;&gt; called.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Kind regards,<br>
&gt;&gt;&gt;&gt; &gt; Arjan Tijms<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; On Wed, Apr 26, 2017 at 3:54 PM, John Ament &lt;<br>
&gt;&gt;&gt;&gt; <a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Hey guys<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; I raised a bug against the Weld guys, but think its worth an EG<br>
&gt;&gt;&gt;&gt; &gt;&gt; discussion.  When a Principal object is injected, the only type it<br>
&gt;&gt;&gt;&gt; has is<br>
&gt;&gt;&gt;&gt; &gt;&gt; Principal.  It does not retain the actual type used at runtime.<br>
&gt;&gt;&gt;&gt; This threw<br>
&gt;&gt;&gt;&gt; &gt;&gt; me off on some Keycloak integration I&#39;m working on (in $dayjob).  So<br>
&gt;&gt;&gt;&gt; I was<br>
&gt;&gt;&gt;&gt; &gt;&gt; wondering, is this expected from our POV or should it retain the<br>
&gt;&gt;&gt;&gt; types of<br>
&gt;&gt;&gt;&gt; &gt;&gt; the actual runtime instance?<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; John<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; NOTICE: This e-mail message and any attachments may contain<br>
&gt;&gt;&gt;&gt; confidential,<br>
&gt;&gt;&gt;&gt; &gt;&gt; proprietary, and/or privileged information which should be treated<br>
&gt;&gt;&gt;&gt; &gt;&gt; accordingly. If you are not the intended recipient, please notify the<br>
&gt;&gt;&gt;&gt; &gt;&gt; sender immediately by return e-mail, delete this message, and<br>
&gt;&gt;&gt;&gt; destroy all<br>
&gt;&gt;&gt;&gt; &gt;&gt; physical and electronic copies. Thank you.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Note that for all code provided on this list, the provider licenses<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt; code under the Apache License, Version 2 (<br>
&gt;&gt;&gt;&gt; <a href="http://www.apache.org/license" rel="noreferrer" target="_blank">http://www.apache.org/license</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; s/LICENSE-2.0.html). For all other ideas provided on this list, the<br>
&gt;&gt;&gt;&gt; &gt;&gt; provider waives all patent and other intellectual property rights<br>
&gt;&gt;&gt;&gt; inherent<br>
&gt;&gt;&gt;&gt; &gt;&gt; in such information.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Note that for all code provided on this list, the provider licenses<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt; code under the Apache License, Version 2 (<a href="http://www.apache.org/" rel="noreferrer" target="_blank">http://www.apache.org/</a><br>
&gt;&gt;&gt;&gt; &gt; licenses/LICENSE-2.0.html). For all other ideas provided on this list,<br>
&gt;&gt;&gt;&gt; &gt; the provider waives all patent and other intellectual property rights<br>
&gt;&gt;&gt;&gt; &gt; inherent in such information.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; -------------- next part --------------<br>
&gt;&gt;&gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt;&gt;&gt; URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/2017042" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>2017042</a><br>
&gt;&gt;&gt;&gt; 6/ad930662/attachment-0001.<wbr>html<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Message: 2<br>
&gt;&gt;&gt;&gt; Date: Wed, 26 Apr 2017 17:44:04 +0200<br>
&gt;&gt;&gt;&gt; From: Werner Keil &lt;<a href="mailto:werner.keil@gmail.com">werner.keil@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Subject: Re: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; To: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt;         &lt;CAAGawe1dmVUmgnrnmtV_oS0==<wbr>fttYOe44ZhG4YfO+yme2=<a href="mailto:oT_A@mail.gm">oT_A@<wbr>mail.gm</a><br>
&gt;&gt;&gt;&gt; <a href="http://ail.com" rel="noreferrer" target="_blank">ail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Seems the title of the thread was also not &quot;reified&quot; in this case.<br>
&gt;&gt;&gt;&gt; Sometimes reply just works, but if it was lost, sorry for that.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Werner<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Wed, Apr 26, 2017 at 5:41 PM, Werner Keil &lt;<a href="mailto:werner.keil@gmail.com">werner.keil@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt; We had similar challenges and discussions even before JSR 363 about<br>
&gt;&gt;&gt;&gt; &gt; knowing what type of quantity you&#39;re dealing with types like<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Unit&lt;Q extends Quantity &lt;<a href="http://unitsofmeasurement.git" rel="noreferrer" target="_blank">http://unitsofmeasurement.git</a><br>
&gt;&gt;&gt;&gt; <a href="http://hub.io/unit-api/site/apidocs/javax/measure/Quantity.html" rel="noreferrer" target="_blank">hub.io/unit-api/site/apidocs/<wbr>javax/measure/Quantity.html</a>&gt;&lt;<wbr>Q&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; I can only confirm Arjan&#39;s impression. And I had numerous<br>
&gt;&gt;&gt;&gt; conversations<br>
&gt;&gt;&gt;&gt; &gt; with Andrew Kennedy, the Chief Architect behind the F# Units of<br>
&gt;&gt;&gt;&gt; Measurement<br>
&gt;&gt;&gt;&gt; &gt; support and other .NET libraries about it. Where he mentioned<br>
&gt;&gt;&gt;&gt; shortcomings<br>
&gt;&gt;&gt;&gt; &gt; of the Java language especially the lack of Reified Generics (<br>
&gt;&gt;&gt;&gt; &gt; <a href="http://stackoverflow.com/questions/31876372/what-is-reification" rel="noreferrer" target="_blank">http://stackoverflow.com/<wbr>questions/31876372/what-is-<wbr>reification</a>),<br>
&gt;&gt;&gt;&gt; which<br>
&gt;&gt;&gt;&gt; &gt; C#, F# or other .NET languages got, but Java won&#39;t at least not until<br>
&gt;&gt;&gt;&gt; Java<br>
&gt;&gt;&gt;&gt; &gt; 10, 11 or even later.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; I tried a lot between 2010 and now but so far none of these Reflection<br>
&gt;&gt;&gt;&gt; &gt; tricks and approaches were stable enough, so not sure, if it&#39;ll work<br>
&gt;&gt;&gt;&gt; any<br>
&gt;&gt;&gt;&gt; &gt; better in this case (unless you implement CDI in C#;-)<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Werner<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; On Wed, Apr 26, 2017 at 5:29 PM, &lt;<a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.<wbr>org</a>&gt;<br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Send cdi-dev mailing list submissions to<br>
&gt;&gt;&gt;&gt; &gt;&gt;         <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; To subscribe or unsubscribe via the World Wide Web, visit<br>
&gt;&gt;&gt;&gt; &gt;&gt;         <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; or, via email, send a message with subject or body &#39;help&#39; to<br>
&gt;&gt;&gt;&gt; &gt;&gt;         <a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.<wbr>org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; You can reach the person managing the list at<br>
&gt;&gt;&gt;&gt; &gt;&gt;         <a href="mailto:cdi-dev-owner@lists.jboss.org">cdi-dev-owner@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; When replying, please edit your Subject line so it is more specific<br>
&gt;&gt;&gt;&gt; &gt;&gt; than &quot;Re: Contents of cdi-dev digest...&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Today&#39;s Topics:<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;    1. Types of Principal object (John Ament)<br>
&gt;&gt;&gt;&gt; &gt;&gt;    2. Re: Types of Principal object (Romain Manni-Bucau)<br>
&gt;&gt;&gt;&gt; &gt;&gt;    3. Re: Types of Principal object (Matej Novotny)<br>
&gt;&gt;&gt;&gt; &gt;&gt;    4. Re: Types of Principal object (arjan tijms)<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<wbr>------------------------------<br>
&gt;&gt;&gt;&gt; ----------<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message: 1<br>
&gt;&gt;&gt;&gt; &gt;&gt; Date: Wed, 26 Apr 2017 13:54:57 +0000<br>
&gt;&gt;&gt;&gt; &gt;&gt; From: John Ament &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Subject: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; &gt;&gt; To: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt; &gt;&gt;         &lt;<wbr>CY4PR04MB048607BF779F8680ED5CE<wbr>53898110@CY4PR04MB0486.namprd<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="http://04.prod.outlook.com" rel="noreferrer" target="_blank">04.prod.outlook.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Hey guys<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; I raised a bug against the Weld guys, but think its worth an EG<br>
&gt;&gt;&gt;&gt; &gt;&gt; discussion.  When a Principal object is injected, the only type it<br>
&gt;&gt;&gt;&gt; has is<br>
&gt;&gt;&gt;&gt; &gt;&gt; Principal.  It does not retain the actual type used at runtime.<br>
&gt;&gt;&gt;&gt; This threw<br>
&gt;&gt;&gt;&gt; &gt;&gt; me off on some Keycloak integration I&#39;m working on (in $dayjob).  So<br>
&gt;&gt;&gt;&gt; I was<br>
&gt;&gt;&gt;&gt; &gt;&gt; wondering, is this expected from our POV or should it retain the<br>
&gt;&gt;&gt;&gt; types of<br>
&gt;&gt;&gt;&gt; &gt;&gt; the actual runtime instance?<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; John<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ______________________________<wbr>__<br>
&gt;&gt;&gt;&gt; &gt;&gt; NOTICE: This e-mail message and any attachments may contain<br>
&gt;&gt;&gt;&gt; confidential,<br>
&gt;&gt;&gt;&gt; &gt;&gt; proprietary, and/or privileged information which should be treated<br>
&gt;&gt;&gt;&gt; &gt;&gt; accordingly. If you are not the intended recipient, please notify the<br>
&gt;&gt;&gt;&gt; &gt;&gt; sender immediately by return e-mail, delete this message, and<br>
&gt;&gt;&gt;&gt; destroy all<br>
&gt;&gt;&gt;&gt; &gt;&gt; physical and electronic copies. Thank you.<br>
&gt;&gt;&gt;&gt; &gt;&gt; -------------- next part --------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt;&gt;&gt; &gt;&gt; URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/2017042" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>2017042</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; 6/b6740722/attachment-0001.<wbr>html<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message: 2<br>
&gt;&gt;&gt;&gt; &gt;&gt; Date: Wed, 26 Apr 2017 16:38:01 +0200<br>
&gt;&gt;&gt;&gt; &gt;&gt; From: Romain Manni-Bucau &lt;<a href="mailto:rmannibucau@gmail.com">rmannibucau@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Subject: Re: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; &gt;&gt; To: John Ament &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt; &gt;&gt;         &lt;CACLE=7N=<a href="mailto:pkvZDX3ULCFAK2Fhw8-bH0pbOsqctqsbkPhKk8i1VA@mail.gm">pkvZDX3ULCFAK2Fhw8-<wbr>bH0pbOsqctqsbkPhKk8i1VA@mail.<wbr>gm</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="http://ail.com" rel="noreferrer" target="_blank">ail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Hi John,<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; agree CDI/security integration (mainly through Principal bean) is<br>
&gt;&gt;&gt;&gt; &gt;&gt; completely unusable in practise cause Principal type is too simple<br>
&gt;&gt;&gt;&gt; (name<br>
&gt;&gt;&gt;&gt; &gt;&gt; only) and casting is needed in 99.99% of apps. AFAIK It is tracked at<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="https://issues.jboss.org/browse/CDI-597" rel="noreferrer" target="_blank">https://issues.jboss.org/<wbr>browse/CDI-597</a>.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Romain Manni-Bucau<br>
&gt;&gt;&gt;&gt; &gt;&gt; @rmannibucau &lt;<a href="https://twitter.com/rmannibucau" rel="noreferrer" target="_blank">https://twitter.com/<wbr>rmannibucau</a>&gt; |  Blog<br>
&gt;&gt;&gt;&gt; &gt;&gt; &lt;<a href="https://blog-rmannibucau.rhcloud.com" rel="noreferrer" target="_blank">https://blog-rmannibucau.<wbr>rhcloud.com</a>&gt; | Old Blog<br>
&gt;&gt;&gt;&gt; &gt;&gt; &lt;<a href="http://rmannibucau.wordpress.com" rel="noreferrer" target="_blank">http://rmannibucau.wordpress.<wbr>com</a>&gt; | Github &lt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="https://github.com/rmannibucau" rel="noreferrer" target="_blank">https://github.com/rmannibucau</a><wbr>&gt; |<br>
&gt;&gt;&gt;&gt; &gt;&gt; LinkedIn &lt;<a href="https://www.linkedin.com/in/rmannibucau" rel="noreferrer" target="_blank">https://www.linkedin.com/in/<wbr>rmannibucau</a>&gt; | JavaEE Factory<br>
&gt;&gt;&gt;&gt; &gt;&gt; &lt;<a href="https://javaeefactory-rmannibucau.rhcloud.com" rel="noreferrer" target="_blank">https://javaeefactory-<wbr>rmannibucau.rhcloud.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; 2017-04-26 15:54 GMT+02:00 John Ament &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; :<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Hey guys<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; I raised a bug against the Weld guys, but think its worth an EG<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; discussion.  When a Principal object is injected, the only type it<br>
&gt;&gt;&gt;&gt; has<br>
&gt;&gt;&gt;&gt; &gt;&gt; is<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Principal.  It does not retain the actual type used at runtime.<br>
&gt;&gt;&gt;&gt; This<br>
&gt;&gt;&gt;&gt; &gt;&gt; threw<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; me off on some Keycloak integration I&#39;m working on (in $dayjob).<br>
&gt;&gt;&gt;&gt; So I<br>
&gt;&gt;&gt;&gt; &gt;&gt; was<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; wondering, is this expected from our POV or should it retain the<br>
&gt;&gt;&gt;&gt; types<br>
&gt;&gt;&gt;&gt; &gt;&gt; of<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; the actual runtime instance?<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; John<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; NOTICE: This e-mail message and any attachments may contain<br>
&gt;&gt;&gt;&gt; &gt;&gt; confidential,<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; proprietary, and/or privileged information which should be treated<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; accordingly. If you are not the intended recipient, please notify<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; sender immediately by return e-mail, delete this message, and<br>
&gt;&gt;&gt;&gt; destroy<br>
&gt;&gt;&gt;&gt; &gt;&gt; all<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; physical and electronic copies. Thank you.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Note that for all code provided on this list, the provider<br>
&gt;&gt;&gt;&gt; licenses the<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; code under the Apache License, Version 2 (<a href="http://www.apache.org/" rel="noreferrer" target="_blank">http://www.apache.org/</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; licenses/LICENSE-2.0.html). For all other ideas provided on this<br>
&gt;&gt;&gt;&gt; list,<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; the provider waives all patent and other intellectual property<br>
&gt;&gt;&gt;&gt; rights<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; inherent in such information.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; -------------- next part --------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt;&gt;&gt; &gt;&gt; URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/2017042" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>2017042</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; 6/19976ebd/attachment-0001.<wbr>html<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message: 3<br>
&gt;&gt;&gt;&gt; &gt;&gt; Date: Wed, 26 Apr 2017 10:48:40 -0400 (EDT)<br>
&gt;&gt;&gt;&gt; &gt;&gt; From: Matej Novotny &lt;<a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Subject: Re: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; &gt;&gt; To: John Ament &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt; &gt;&gt;         &lt;<a href="mailto:1098875365.1348630.1493218120014.JavaMail.zimbra@redhat.com">1098875365.1348630.<wbr>1493218120014.JavaMail.zimbra@<wbr>redhat.com</a><br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Content-Type: text/plain; charset=utf-8<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Hey John,<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; just to shed some light.<br>
&gt;&gt;&gt;&gt; &gt;&gt; One of the reasons it works this way is because the types the actual<br>
&gt;&gt;&gt;&gt; &gt;&gt; Principal has might not be proxyable.<br>
&gt;&gt;&gt;&gt; &gt;&gt; And spec requires all built-in beans to be decorable - e.g. you need<br>
&gt;&gt;&gt;&gt; them<br>
&gt;&gt;&gt;&gt; &gt;&gt; to be proxyable (although the added value of principal decorator is<br>
&gt;&gt;&gt;&gt; ...eh,<br>
&gt;&gt;&gt;&gt; &gt;&gt; disputable at best?).<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Therefore, it is safer/viable to create a proxyable wrapper object<br>
&gt;&gt;&gt;&gt; which<br>
&gt;&gt;&gt;&gt; &gt;&gt; implements Principal only and delegetas calls (that&#39;s what Weld<br>
&gt;&gt;&gt;&gt; does).<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Otherwise I agree it could be nice to ahve a way to cast the object<br>
&gt;&gt;&gt;&gt; as<br>
&gt;&gt;&gt;&gt; &gt;&gt; the pure Principal interface doesn&#39;t help much.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Matej<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ----- Original Message -----<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; From: &quot;John Ament&quot; &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; To: &quot;cdi-dev&quot; &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Sent: Wednesday, April 26, 2017 3:54:57 PM<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Subject: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Hey guys<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; I raised a bug against the Weld guys, but think its worth an EG<br>
&gt;&gt;&gt;&gt; &gt;&gt; discussion.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; When a Principal object is injected, the only type it has is<br>
&gt;&gt;&gt;&gt; Principal.<br>
&gt;&gt;&gt;&gt; &gt;&gt; It<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; does not retain the actual type used at runtime. This threw me off<br>
&gt;&gt;&gt;&gt; on<br>
&gt;&gt;&gt;&gt; &gt;&gt; some<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Keycloak integration I&#39;m working on (in $dayjob). So I was<br>
&gt;&gt;&gt;&gt; wondering, is<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; this expected from our POV or should it retain the types of the<br>
&gt;&gt;&gt;&gt; actual<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; runtime instance?<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; John<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; NOTICE: This e-mail message and any attachments may contain<br>
&gt;&gt;&gt;&gt; &gt;&gt; confidential,<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; proprietary, and/or privileged information which should be treated<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; accordingly. If you are not the intended recipient, please notify<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt; sender<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; immediately by return e-mail, delete this message, and destroy all<br>
&gt;&gt;&gt;&gt; &gt;&gt; physical<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; and electronic copies. Thank you.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Note that for all code provided on this list, the provider<br>
&gt;&gt;&gt;&gt; licenses the<br>
&gt;&gt;&gt;&gt; &gt;&gt; code<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; under the Apache License, Version 2<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/<wbr>licenses/LICENSE-2.0.html</a>). For all other<br>
&gt;&gt;&gt;&gt; ideas<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; provided on this list, the provider waives all patent and other<br>
&gt;&gt;&gt;&gt; &gt;&gt; intellectual<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; property rights inherent in such information.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message: 4<br>
&gt;&gt;&gt;&gt; &gt;&gt; Date: Wed, 26 Apr 2017 17:11:11 +0200<br>
&gt;&gt;&gt;&gt; &gt;&gt; From: arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Subject: Re: [cdi-dev] Types of Principal object<br>
&gt;&gt;&gt;&gt; &gt;&gt; To: John Ament &lt;<a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Message-ID:<br>
&gt;&gt;&gt;&gt; &gt;&gt;         &lt;CAE=-<wbr>AhA0PiXZpSKmy0XYoMxCFuyxjV3Wt=<wbr>jjFzhC=G+LOc9TDA@mail.<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="http://gmail.com" rel="noreferrer" target="_blank">gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; We discussed this very issue in the Security API EG as well. In the<br>
&gt;&gt;&gt;&gt; &gt;&gt; Security API the actual type *MUST* be retained as per the spec<br>
&gt;&gt;&gt;&gt; &gt;&gt; definition.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; The problem in CDI, at least in Weld, is that a proxy is injected.<br>
&gt;&gt;&gt;&gt; This<br>
&gt;&gt;&gt;&gt; &gt;&gt; happens via the build-in bean &quot;PrincipalBean extends AbstractEEBean&quot;,<br>
&gt;&gt;&gt;&gt; &gt;&gt; where<br>
&gt;&gt;&gt;&gt; &gt;&gt; AbstractEEBean does:<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; public abstract class AbstractEEBean&lt;T&gt; extends<br>
&gt;&gt;&gt;&gt; &gt;&gt; AbstractStaticallyDecorableBui<wbr>ltInBean&lt;T&gt; {<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;     private final T proxy;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;     protected AbstractEEBean(Class&lt;T&gt; type, Callable&lt;T&gt; callable,<br>
&gt;&gt;&gt;&gt; &gt;&gt; BeanManagerImpl beanManager) {<br>
&gt;&gt;&gt;&gt; &gt;&gt;         super(beanManager, type);<br>
&gt;&gt;&gt;&gt; &gt;&gt;         this.proxy = new ProxyFactory&lt;T&gt;(beanManager.<wbr>getContextId(),<br>
&gt;&gt;&gt;&gt; &gt;&gt; type,<br>
&gt;&gt;&gt;&gt; &gt;&gt; getTypes(), this).create(new EnterpriseTargetBeanInstance(<wbr>type, new<br>
&gt;&gt;&gt;&gt; &gt;&gt; CallableMethodHandler(<wbr>callable)));<br>
&gt;&gt;&gt;&gt; &gt;&gt;     }<br>
&gt;&gt;&gt;&gt; &gt;&gt;     // ...<br>
&gt;&gt;&gt;&gt; &gt;&gt; }<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; I&#39;m not even sure if it&#39;s possible to downcast the proxy to the<br>
&gt;&gt;&gt;&gt; required<br>
&gt;&gt;&gt;&gt; &gt;&gt; runtime type.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Also note that the Principal can change during the request. The<br>
&gt;&gt;&gt;&gt; simplest<br>
&gt;&gt;&gt;&gt; &gt;&gt; case is when during an http request HttpServletRequest#logout is<br>
&gt;&gt;&gt;&gt; called.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Kind regards,<br>
&gt;&gt;&gt;&gt; &gt;&gt; Arjan Tijms<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; On Wed, Apr 26, 2017 at 3:54 PM, John Ament &lt;<br>
&gt;&gt;&gt;&gt; <a href="mailto:john.ament@spartasystems.com">john.ament@spartasystems.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Hey guys<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; I raised a bug against the Weld guys, but think its worth an EG<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; discussion.  When a Principal object is injected, the only type it<br>
&gt;&gt;&gt;&gt; has<br>
&gt;&gt;&gt;&gt; &gt;&gt; is<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Principal.  It does not retain the actual type used at runtime.<br>
&gt;&gt;&gt;&gt; This<br>
&gt;&gt;&gt;&gt; &gt;&gt; threw<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; me off on some Keycloak integration I&#39;m working on (in $dayjob).<br>
&gt;&gt;&gt;&gt; So I<br>
&gt;&gt;&gt;&gt; &gt;&gt; was<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; wondering, is this expected from our POV or should it retain the<br>
&gt;&gt;&gt;&gt; types<br>
&gt;&gt;&gt;&gt; &gt;&gt; of<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; the actual runtime instance?<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; John<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; NOTICE: This e-mail message and any attachments may contain<br>
&gt;&gt;&gt;&gt; &gt;&gt; confidential,<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; proprietary, and/or privileged information which should be treated<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; accordingly. If you are not the intended recipient, please notify<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; sender immediately by return e-mail, delete this message, and<br>
&gt;&gt;&gt;&gt; destroy<br>
&gt;&gt;&gt;&gt; &gt;&gt; all<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; physical and electronic copies. Thank you.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; Note that for all code provided on this list, the provider<br>
&gt;&gt;&gt;&gt; licenses the<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; code under the Apache License, Version 2 (<a href="http://www.apache.org/" rel="noreferrer" target="_blank">http://www.apache.org/</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; licenses/LICENSE-2.0.html). For all other ideas provided on this<br>
&gt;&gt;&gt;&gt; list,<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; the provider waives all patent and other intellectual property<br>
&gt;&gt;&gt;&gt; rights<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt; inherent in such information.<br>
&gt;&gt;&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; -------------- next part --------------<br>
&gt;&gt;&gt;&gt; &gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt;&gt;&gt; &gt;&gt; URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/2017042" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>2017042</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; 6/206ff811/attachment.html<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Note that for all code provided on this list, the provider licenses<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt; code under the Apache License, Version 2 (<br>
&gt;&gt;&gt;&gt; <a href="http://www.apache.org/license" rel="noreferrer" target="_blank">http://www.apache.org/license</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; s/LICENSE-2.0.html).  For all other ideas provided on this list, the<br>
&gt;&gt;&gt;&gt; &gt;&gt; provider waives all patent and other intellectual property rights<br>
&gt;&gt;&gt;&gt; inherent<br>
&gt;&gt;&gt;&gt; &gt;&gt; in such information.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; End of cdi-dev Digest, Vol 77, Issue 8<br>
&gt;&gt;&gt;&gt; &gt;&gt; ******************************<wbr>********<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; -------------- next part --------------<br>
&gt;&gt;&gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt;&gt;&gt; URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/2017042" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>2017042</a><br>
&gt;&gt;&gt;&gt; 6/ebea1962/attachment.html<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ------------------------------<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; cdi-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Note that for all code provided on this list, the provider licenses the<br>
&gt;&gt;&gt;&gt; code under the Apache License, Version 2 (<a href="http://www.apache.org/license" rel="noreferrer" target="_blank">http://www.apache.org/license</a><br>
&gt;&gt;&gt;&gt; s/LICENSE-2.0.html).  For all other ideas provided on this list, the<br>
&gt;&gt;&gt;&gt; provider waives all patent and other intellectual property rights inherent<br>
&gt;&gt;&gt;&gt; in such information.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; End of cdi-dev Digest, Vol 77, Issue 10<br>
&gt;&gt;&gt;&gt; ******************************<wbr>*********<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt; cdi-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Note that for all code provided on this list, the provider licenses the<br>
&gt;&gt;&gt; code under the Apache License, Version 2 (<a href="http://www.apache.org/license" rel="noreferrer" target="_blank">http://www.apache.org/license</a><br>
&gt;&gt;&gt; s/LICENSE-2.0.html). For all other ideas provided on this list, the<br>
&gt;&gt;&gt; provider waives all patent and other intellectual property rights inherent<br>
&gt;&gt;&gt; in such information.<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20170426/b488a2eb/attachment.html" rel="noreferrer" target="_blank">http://lists.jboss.org/<wbr>pipermail/cdi-dev/attachments/<wbr>20170426/b488a2eb/attachment.<wbr>html</a><br>
<br>
------------------------------<br>
<br>
______________________________<wbr>_________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/<wbr>licenses/LICENSE-2.0.html</a>).  For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br>
<br>
End of cdi-dev Digest, Vol 77, Issue 17<br>
******************************<wbr>*********<br>
</blockquote></div><br></div></div>