<!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> </div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial"
size="2"> public void testAddPackage() throws IOException {</font></div>
<div> </div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial"
size="2"> KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
kbuilder.add(ResourceFactory.newInputStreamResource(this.getClass().getResourceAsStream("mortgages_TEST.pkg")),<br>
ResourceType.PKG);</font></div>
<div> </div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial"
size="2"> KnowledgeBase kbase =
KnowledgeBaseFactory.newKnowledgeBase();<br>
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
StatefulKnowledgeSession session =
kbase.newStatefulKnowledgeSession();<br>
}</font></div>
<div dir="ltr" align="left"> </div>
<div dir="ltr" align="left"> </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> </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> </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"> </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>
public synchronized void addPackage(final Package newPkg) {<br>
PackageRegistry pkgRegistry = this.pkgRegistryMap.get(
newPkg.getName() );<br>
Package pkg = null;<br>
if ( pkgRegistry != null ) {<br>
pkg = pkgRegistry.getPackage();<br>
}<br>
<br>
if ( pkg == null ) {<br>
pkg = newPackage( new PackageDescr( newPkg.getName() )
).getPackage();<br>
}<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> </div>
<div><span class="239251122-18122008"><font face="Arial" size="2">
public synchronized void addPackage(final Package newPkg) {<br>
Package pkg = this.pkgRegistryMap.get( newPkg.getName()
).getPackage();<br>
</font></span></div>
<div><span class="239251122-18122008"></span> </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> </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> </div>
<div><span class="239251122-18122008"><font face="Arial" size="2">
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
kbuilder.add(ResourceFactory.newUrlResource("a valid
url"),<br>
ResourceType.PKG);</font></span></div>
<div><span class="239251122-18122008"></span> </div>
<div><span class="239251122-18122008"><font face="Arial" size="2">thanks
for any help</font></span></div>
<div><span class="239251122-18122008"></span> </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>