<div>Hi,</div>
<div>&nbsp;</div>
<div>I have attached zip file with test Case and patch for this class:</div>
<div>&nbsp;</div>
<div><a href="http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java">http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java</a></div>

<div>&nbsp;</div>
<div>Narendra</div>
<div><br>&nbsp;</div>
<div><span class="gmail_quote">On 2/27/08, <b class="gmail_sendername">Mark Proctor</b> &lt;<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div text="#000000" bgcolor="#ffffff"><span class="q">Narendra Valada wrote: 
<blockquote type="cite">
<div><br>Hi,</div>
<div>&nbsp;</div>
<div>It appears that nested inner classes are not implemented correctly. I am getting a compile error even when the rule is rewritten to include the import statement :</div>
<div>&nbsp;</div>
<p>package com.sample</p>
<p>import com.sample.OuterClass.InnerClass.InnerInnerClass;</p></blockquote></span>Yes, most likely we don&#39;t have the logic to reflect on inner inner classes. See this class to understand how we resolve a string name to a Class instance:<br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/ClassObjectType.java" target="_blank">http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/ClassObjectType.java</a><br>
<br>Maybe you can make a test case and a patch for us for the 4.0.x branch. I guess make it generic enough so that it can work with any numbers of nesting. Although I may be concerned on how this might impact reflection lookup. 
<div><span class="e" id="q_1185ba58a984a27f_3"><br>
<blockquote type="cite">
<p><br>rule &quot;Inner Class Test&quot;</p>
<p>when</p>
<p>InnerInnerClass( )</p>
<p>then</p>
<p>System.out.println( &quot;&quot; ); </p>
<p><br>end<br></p>
<p>Narendra</p>
<div><br>&nbsp;</div>
<div><span class="gmail_quote">On 2/22/08, <b class="gmail_sendername">Narendra Valada</b> &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:narendra.valada@gmail.com" target="_blank">narendra.valada@gmail.com</a>&gt; wrote:</span> 
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div>Importing the class was the first thing I tried. That did not work either.</div>
<div>&nbsp;</div>
<div>Thanks,</div>
<div>&nbsp;</div><span>
<div>Narendra<br><br>&nbsp;</div></span>
<div><span>
<div class="gmail_quote">On Fri, Feb 22, 2008 at 5:36 PM, Mark Proctor &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>&gt; wrote:<br>

<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div text="#000000" bgcolor="#ffffff">you need to import the inner classes, look at the HelloWorld example which uses a nested Message object and see how it&#39;s imported. Inner classes definitely work, let me know if inner.inner classes don&#39;t.<br>
<br>Mark<br>Narendra Valada wrote: 
<blockquote type="cite">
<div>
<div>
<div>Hi,</div>
<div>&nbsp;</div>
<div>I have a rule that looks like this :</div>
<div>&nbsp;</div>
<div>
<p>package com.sample</p>
<p><br>rule &quot;Inner Class Test&quot;</p>
<p>when</p>
<p>com.sample.OuterClass.InnerClass.InnerInnerClass( )</p>
<p>then</p>
<p>System.out.println( &quot;&quot; ); </p>
<p><br>end<br></p>
<p>The inner class referenced by this rule is defined like this:</p>
<p>package com.sample;</p>
<p>public class OuterClass {</p>
<p>&nbsp;&nbsp; public class InnerClass {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class InnerInnerClass { }</p>
<p>&nbsp;&nbsp; }</p>
<p>}</p>
<p>I am getting an error &quot;Unable to resolve ObjectType &#39;com.sample.OuterClass.InnerClass.InnerInnerClass&#39;&quot;.</p>
<p>What am I doing wrong? I am using XMLBeans-generated POJOs in my application and these POJOS contain a lot of deeply nested inner classes and these are giving me compile-errors in Drools.</p>
<p>Thanks,</p>
<p>Narendra<br></p></div></div></div><pre><hr width="90%" size="4">
_______________________________________________
rules-users mailing list
<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  </pre></blockquote><br>&nbsp;</div><br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br>
</span></div></blockquote></div><br><pre><hr width="90%" size="4">
_______________________________________________
rules-users mailing list
<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  </pre></blockquote><br></span></div></div><br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br>