[rules-users] exception while adding a packageDescr to a PackageBuilder

DeepakA angeshwar at gmail.com
Sat Nov 21 08:25:36 EST 2009


I can confirm that adding a PackageDescr to PackageBuilder works with
drools-4.0.7
but throws a NullPointerException with Drools 5.0 & Drools 5.1.0.M1 





DeepakA wrote:
> 
> I am trying to add a rule to a package.
> First I create a PackageDescr, then I create a RuleDescr 
> and set some properties in it
> 
> com.deepak.development.Trade class is loaded into the working memory
> before I try to create this rule
> 
> Upon doing a DrlDump, I get the following (which is correctly formed; if I
> copy paste this in a drl file, the rule gets executed as expected)
> 
> 
> rule "Added new Rule" 
> 	 when
> 		trade : com.deepak.development.Trade(  )
> 
> 	 then
> System.out.println("Whatever");end
> 
> 
> //////////////////////////
> // CODE
> //////////////////////////
> 
> 
> //Create a PackageDescr
> //packages[0] is the package that is already available, 
> //since I create a new PackageDescr with same name, 
> //I expect the new rule to be appended to the existing package
> 
> final PackageDescr packageDescr = new PackageDescr(new
> Package(packages[0].getName()).getName());
> 
> //Create a RuleDescr		
> 	
> RuleDescr ruleDescr = new RuleDescr("Added new Rule"); 
> String consequence = "System.out.println(\"Whatever\");";
> AndDescr lhs = new AndDescr(); 
> ruleDescr.setLhs( lhs );
> 						
> final PatternDescr pattern = new PatternDescr(
> com.deepak.development.Trade.class.getName(),"trade");
> lhs.addDescr( pattern );
> ruleDescr.setConsequence( consequence );
>             
> PackageBuilder builder = new PackageBuilder(packages[0]); 
> packageDescr.addRule( ruleDescr );
>                         
> DrlDumper drlDumper = new DrlDumper();
> System.out.println("Dumping Package Descriptor for all rules: "+
> drlDumper.dump(packageDescr)); 
> 
> //Nullpointer Exception caught
> builder.addPackage(packageDescr);
> ruleBase.addPackage(builder.getPackage());
> 
> 
> Doing a debug in eclipse I can see that a NullPointerException is caught
> in the line ###builder.addPackage(packageDescr)###
> 
> Is there any other property I need to set in packageDescr before it can be
> added to a builder?
> I can see the following in the debug section of eclipse 
> 
> PackageStore.read(String) line: 58
> 
> The following is shown in the Variables side (in eclispe debug mode)
> [corresponds to PackageStore]
> 
> 
> this	PackageStore  (id=13923)	
> 	errors	ArrayList<E>  (id=15898)	
> 		elementData	Object[10]  (id=19840)	
> 		modCount	0	
> 		size	0	
> 	javaDialectRuntimeData	null	
> resourceName	"java/lang/Object.class" (id=13925)	
> 	count	22	
> 	hash	0	
> 	offset	0	
> 	value	 (id=15896)	
> clazz	null	
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/exception-while-adding-a-packageDescr-to-a-PackageBuilder-tp26455685p26456520.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list