<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Zoltan Farkas wrote:
<blockquote
 cite="mid:A483EB3CA9C69D41AEC537D1C7C2CAFF034ACAC8@34093-C3-EVS2.exchange.rackspace.com"
 type="cite">
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.2900.2180" name="GENERATOR">
  <div dir="ltr" align="left"><font face="Arial"><font color="#0000ff"><font
 size="2"><span class="490340614-22122008">Here is a unit test you can
add to PackageBuilderTest:</span></font></font></font></div>
  <div dir="ltr" align="left"><font face="Arial"><font color="#0000ff"><font
 size="2"><span class="490340614-22122008"></span></font></font></font>&nbsp;</div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2">&nbsp;&nbsp;&nbsp; public void testAddPackage() throws IOException {</font></div>
  <div>&nbsp;</div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kbuilder.add(ResourceFactory.newInputStreamResource(this.getClass().getResourceAsStream("mortgages_TEST.pkg")),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResourceType.PKG);</font></div>
  <div>&nbsp;</div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeBase kbase =
KnowledgeBaseFactory.newKnowledgeBase();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StatefulKnowledgeSession session =
kbase.newStatefulKnowledgeSession();<br>
&nbsp;&nbsp;&nbsp; }</font></div>
  <div dir="ltr" align="left">&nbsp;</div>
  <div dir="ltr" align="left">&nbsp;</div>
  <div dir="ltr" align="left"><span class="490340614-22122008"><font
 color="#0000ff" face="Arial" size="2">The unit test uses the
mortgages_TEST from guvnor, you need to add mortgages_TEST.pkg to </font></span></div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2"><span class="490340614-22122008">src/test/resources/org.drools.compiler.
I have attached the mortgages test pkg to this email.</span></font></div>
</blockquote>
perfect, if only more bug reporting was like this :)<br>
<blockquote
 cite="mid:A483EB3CA9C69D41AEC537D1C7C2CAFF034ACAC8@34093-C3-EVS2.exchange.rackspace.com"
 type="cite">
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2"><span class="490340614-22122008"></span></font>&nbsp;</div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2"><span class="490340614-22122008">regards</span></font></div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2"><span class="490340614-22122008"></span></font>&nbsp;</div>
  <div dir="ltr" align="left"><font color="#0000ff" face="Arial"
 size="2"><span class="490340614-22122008">--zoly</span></font></div>
  <div dir="ltr" align="left">&nbsp;</div>
  <br>
  <div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
  <hr tabindex="-1"><font face="Tahoma" size="2"><b>From:</b>
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev-bounces@lists.jboss.org">rules-dev-bounces@lists.jboss.org</a>
[<a class="moz-txt-link-freetext" href="mailto:rules-dev-bounces@lists.jboss.org">mailto:rules-dev-bounces@lists.jboss.org</a>] <b>On Behalf Of </b>Mark
Proctor<br>
  <b>Sent:</b> Monday, December 22, 2008 6:22 AM<br>
  <b>To:</b> Rules Dev List<br>
  <b>Subject:</b> Re: [rules-dev] possible bug, NPE in
PackageBuilder.java<br>
  </font><br>
  </div>
Try changing the code to this, let me know if it fixes the problem and
I'll apply to trunk. any chance you could send us a mini self contained
unit test for this bug?<br>
  <br>
&nbsp;&nbsp;&nbsp; public synchronized void addPackage(final Package newPkg) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PackageRegistry pkgRegistry = this.pkgRegistryMap.get(
newPkg.getName() );<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Package pkg = null;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pkgRegistry != null ) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pkg = pkgRegistry.getPackage();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( pkg == null ) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pkg = newPackage( new PackageDescr( newPkg.getName() )
).getPackage();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
  <br>
Zoltan Farkas wrote:
  <blockquote
 cite="mid:A483EB3CA9C69D41AEC537D1C7C2CAFF0344553B@34093-C3-EVS2.exchange.rackspace.com"
 type="cite">
    <div><font face="Arial" size="2"><span class="239251122-18122008">PackageBuilder.java
    </span></font><font face="Arial" size="2"><span
 class="239251122-18122008">at line 688:</span></font></div>
    <div><font face="Arial" size="2"><span class="239251122-18122008"></span></font>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;
public synchronized void addPackage(final Package newPkg) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Package pkg = this.pkgRegistryMap.get( newPkg.getName()
).getPackage();<br>
    </font></span></div>
    <div><span class="239251122-18122008"></span>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">if
pkgRegistryMap is empty as it should probably be initially adding a new
package will cause a NPE.</font></span></div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">This
fuction assumes that there is always a package in the
packageRegistryMap.</font></span></div>
    <div><span class="239251122-18122008"></span>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">I
am getting a NPE when I am trying something like:</font></span></div>
    <div><span class="239251122-18122008"></span>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kbuilder.add(ResourceFactory.newUrlResource("a valid
url"),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResourceType.PKG);</font></span></div>
    <div><span class="239251122-18122008"></span>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">thanks
for any help</font></span></div>
    <div><span class="239251122-18122008"></span>&nbsp;</div>
    <div><span class="239251122-18122008"><font face="Arial" size="2">--zoly</font></span></div>
    <pre wrap=""><hr size="4" width="90%">
_______________________________________________
rules-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
 href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
 href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
  </pre>
  </blockquote>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
  </pre>
</blockquote>
<br>
</body>
</html>