[rules-users] help on drools guvnor

pritha.ghosh at wipro.com pritha.ghosh at wipro.com
Wed Jul 17 09:04:57 EDT 2013


Hi,

I am not able to run rules from .pkg resources.

Knowledgesession is getting populated with package and rules inside the packages but when I am firing ksession.fireAllRules(); no rules are getting executed.

Below is my program

final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

        // Use this line if calling rule defined using guvnor package
        org.drools.io.impl.UrlResource urlResource;
            try {
                  urlResource = (org.drools.io.impl.UrlResource) org.drools.io.ResourceFactory
                  .newUrlResource(new java.net.URL("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/OBSPOC/OBSSNAP/OBSPOC_OBSSNAP.pkg"));


                  urlResource.setBasicAuthentication("enabled");
                  urlResource.setUsername("admin");
                  urlResource.setPassword("admin");
                  kbuilder.add(urlResource,ResourceType.PKG);
            }
             catch (MalformedURLException e) {
                        System.out.println("malformed URL");
                        e.printStackTrace();
                  }
            catch (Exception e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
            }
            // create the knowledge base
            KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();




        // Check the builder for errors
        if (kbuilder.hasErrors()) {
                        System.out.println(kbuilder.getErrors().toString() + "********");
                        throw new RuntimeException("Unable to compile the rule file.");
       }else{
                        System.out.println(".....Rule File is Read Successfully....");
        }

        // get the compiled packages (which are serializable)
        final Collection pkgs = kbuilder
                                        .getKnowledgePackages();

        // add the packages to a knowledgebase (deploy the knowledge packages).
      //  final KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
         kbase.addKnowledgePackages(pkgs);


        final StatefulKnowledgeSession ksession = kbase
                                        .newStatefulKnowledgeSession();

        ksession.addEventListener(new DebugAgendaEventListener());
        ksession.addEventListener(new DebugWorkingMemoryEventListener());

         EmployeeMap employeeMap = new EmployeeMap();
        employeeMap.setEmployeeCountry("INDIA");
        employeeMap.setEmployeeID(1);
        employeeMap.setEmployeeName("USERP");

        ksession.insert(employeeMap);
     ksession.fireAllRules();


        ksession.dispose();


Thanks,
Pritha

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130717/89528b99/attachment-0001.html 


More information about the rules-users mailing list