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

DeepakA angeshwar at gmail.com
Sat Nov 21 11:19:20 EST 2009


It works in Drools 5.0 after setting a value for Namespace in PackageDescr






DeepakA wrote:
> 
> 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-tp26455685p26458012.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list