Zoltan Farkas wrote:
Here is a unit test you can add to PackageBuilderTest:
public void testAddPackage() throws IOException {
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newInputStreamResource(this.getClass().getResourceAsStream("mortgages_TEST.pkg")),
ResourceType.PKG);
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
StatefulKnowledgeSession session =
kbase.newStatefulKnowledgeSession();
}
The unit test uses the mortgages_TEST from guvnor, you need to add
mortgages_TEST.pkg to
src/test/resources/org.drools.compiler. I have attached the mortgages
test pkg to this email.
perfect, if only more bug reporting was like this :)
regards
--zoly
------------------------------------------------------------------------
*From:* rules-dev-bounces(a)lists.jboss.org
[mailto:rules-dev-bounces@lists.jboss.org] *On Behalf Of *Mark Proctor
*Sent:* Monday, December 22, 2008 6:22 AM
*To:* Rules Dev List
*Subject:* Re: [rules-dev] possible bug, NPE in PackageBuilder.java
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?
public synchronized void addPackage(final Package newPkg) {
PackageRegistry pkgRegistry = this.pkgRegistryMap.get(
newPkg.getName() );
Package pkg = null;
if ( pkgRegistry != null ) {
pkg = pkgRegistry.getPackage();
}
if ( pkg == null ) {
pkg = newPackage( new PackageDescr( newPkg.getName() )
).getPackage();
}
Zoltan Farkas wrote:
> PackageBuilder.java at line 688:
>
> public synchronized void addPackage(final Package newPkg) {
> Package pkg = this.pkgRegistryMap.get( newPkg.getName()
> ).getPackage();
>
> if pkgRegistryMap is empty as it should probably be initially adding
> a new package will cause a NPE.
> This fuction assumes that there is always a package in the
> packageRegistryMap.
>
> I am getting a NPE when I am trying something like:
>
> KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();
> kbuilder.add(ResourceFactory.newUrlResource("a valid
> url"),
> ResourceType.PKG);
>
> thanks for any help
>
> --zoly
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-dev
>
------------------------------------------------------------------------
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev