Thanks Shane, I hadn&#39;t thought of that (should have). Sounds like the entities being in different archives is not only the best way to do things, but also the only way to do it without having to write a bunch of hacks.<br>

<br><div class="gmail_quote">On Fri, Oct 12, 2012 at 4:50 PM, Shane Bryzak <span dir="ltr">&lt;<a href="mailto:sbryzak@redhat.com" target="_blank">sbryzak@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">

Sure - the biggest problem with this relates to configuration.  We use<br>
processAnnotatedType() to pick up the entity beans and perform automatic<br>
configuration during the startup process.  To do this, obviously the<br>
entity beans must be in a bean archive with a beans.xml - but we can&#39;t<br>
put a beans.xml in the main jar file as it may not have any dependency<br>
on CDI. Since we have producer methods (and other configuration related<br>
code) for the main IDM module beans in the core module, we cannot just<br>
place a beans.xml in the IDM module, (which by itself wouldn&#39;t require a<br>
hard dependency on the CDI jar library) because we would then get<br>
deployment errors for ambiguous injection points.  The easiest solution<br>
for this is to simply place the entity beans for the default schema in<br>
their own separate jar file, which contains a beans.xml.  This way, it<br>
can be used both in an SE environment and a JEE environment without any<br>
problems.<br>
<div class="HOEnZb"><div class="h5"><br>
On 12/10/12 00:54, Pete Muir wrote:<br>
&gt; Shane, can you elaborate on why we can&#39;t package the entity beans in the main jar, but make them only enabled optionally (e.g. via the applications persistence.xml)?<br>
&gt;<br>
&gt; On 10 Oct 2012, at 21:07, Shane Bryzak wrote:<br>
&gt;<br>
&gt;&gt; On 11/10/12 00:22, Douglas Campos wrote:<br>
&gt;&gt;&gt; On Oct 9, 2012, at 7:52 PM, Shane Bryzak wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 10/10/12 08:05, Douglas Campos wrote:<br>
&gt;&gt;&gt;&gt;&gt; On Oct 9, 2012, at 4:49 PM, Shane Bryzak wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; If the goal is to make available a simple schema for just some<br>
&gt;&gt;&gt;&gt;&gt;&gt; developers that wanted it, the best way to do this is to provide an<br>
&gt;&gt;&gt;&gt;&gt;&gt; additional, optional jar file containing just the simple schema entity<br>
&gt;&gt;&gt;&gt;&gt;&gt; beans (call it picketlink-idm-defaultschema or something like this)<br>
&gt;&gt;&gt;&gt;&gt;&gt; rather than provide an entirely new implementation.  This way we avoid<br>
&gt;&gt;&gt;&gt;&gt;&gt; the burden of having to maintain two implementations, and also avoid the<br>
&gt;&gt;&gt;&gt;&gt;&gt; aforementioned problem of having unwanted entity beans in the<br>
&gt;&gt;&gt;&gt;&gt;&gt; distribution for developers that don&#39;t want to use the simple schema.<br>
&gt;&gt;&gt;&gt;&gt; So we go from complex to simple? Did you mean the opposite?<br>
&gt;&gt;&gt;&gt; I don&#39;t understand the question, sorry?<br>
&gt;&gt;&gt; Optional jar file for the simple schema? shouldn&#39;t it be the opposite?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt; No no - the point I&#39;ve been (seemingly unsuccessfully) trying to make is<br>
&gt;&gt; that we *must not* include any entity beans by default.  If we did it<br>
&gt;&gt; would cause a multitude of problems for our users.  If we do want to<br>
&gt;&gt; provide a default schema that some of our users *may* elect to use<br>
&gt;&gt; instead of providing their own, it must be in a separate jar file.<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; security-dev mailing list<br>
&gt;&gt; <a href="mailto:security-dev@lists.jboss.org">security-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/security-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/security-dev</a><br>
<br>
<br>
_______________________________________________<br>
security-dev mailing list<br>
<a href="mailto:security-dev@lists.jboss.org">security-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/security-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/security-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jason Porter<br><a href="http://lightguard-jp.blogspot.com" target="_blank">http://lightguard-jp.blogspot.com</a><br><a href="http://twitter.com/lightguardjp" target="_blank">http://twitter.com/lightguardjp</a><br>

<br>Software Engineer<br>Open Source Advocate<br>Author of Seam Catch - Next Generation Java Exception Handling<br><br>PGP key id: 926CCFF5<br>PGP key available at: <a href="http://keyserver.net" target="_blank">keyserver.net</a>, <a href="http://pgp.mit.edu" target="_blank">pgp.mit.edu</a><br>