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:* [email protected] [mailto:[email protected]] *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
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

------------------------------------------------------------------------

_______________________________________________
rules-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

_______________________________________________
rules-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to