java.lang.NullPointerException at at org.drools.rule.builder
shivakatula Jan 11, 2008 9:41 AMHi,
I have the following in drl file.
package com.framework.service.remote.rules; import com.framework.service.util.FSSInputOutputVO; import com.framework.service.EssRuleConditionService; import com.framework.service.util.CurrentLeg; import com.framework.service.util.NextLeg; import com.framework.service.util.PreviousLeg; import com.framework.service.util.SecondNextLeg; import com.framework.service.util.SecondPreviousLeg; import java.util.ArrayList; import java.util.List; import java.lang.Boolean; function List depStationFun68307cu() { EssRuleConditionService essRuleConditionService = new EssRuleConditionService(); essRuleConditionService.setDepStation("21618"); essRuleConditionService.setDepStation("21872"); essRuleConditionService.setDepStation("21381"); essRuleConditionService.setDepStation("22379"); essRuleConditionService.setDepStation("22605"); essRuleConditionService.setDepStation("22131"); essRuleConditionService.setDepStation("21915"); return essRuleConditionService.getDepStation(); } function List depStationFun68308cu() { EssRuleConditionService essRuleConditionService = new EssRuleConditionService(); essRuleConditionService.setDepStation("20932"); essRuleConditionService.setDepStation("21078"); essRuleConditionService.setDepStation("21148"); essRuleConditionService.setDepStation("19342"); essRuleConditionService.setDepStation("21783"); essRuleConditionService.setDepStation("21370"); essRuleConditionService.setDepStation("21304"); essRuleConditionService.setDepStation("21097"); return essRuleConditionService.getDepStation(); } function List depStationFun68309cu() { EssRuleConditionService essRuleConditionService = new EssRuleConditionService(); essRuleConditionService.setDepStation("21972"); essRuleConditionService.setDepStation("21299"); essRuleConditionService.setDepStation("21890"); essRuleConditionService.setDepStation("21080"); essRuleConditionService.setDepStation("21357"); essRuleConditionService.setDepStation("19505"); essRuleConditionService.setDepStation("21624"); essRuleConditionService.setDepStation("20992"); essRuleConditionService.setDepStation("22425"); essRuleConditionService.setDepStation("22137"); essRuleConditionService.setDepStation("21747"); essRuleConditionService.setDepStation("22432"); essRuleConditionService.setDepStation("21528"); return essRuleConditionService.getDepStation(); } function List depStationFun68312cu() { EssRuleConditionService essRuleConditionService = new EssRuleConditionService(); essRuleConditionService.setDepStation("21299"); essRuleConditionService.setDepStation("21747"); essRuleConditionService.setDepStation("21890"); essRuleConditionService.setDepStation("21972"); return essRuleConditionService.getDepStation(); } rule "68307" dialect "java" when currentLeg : CurrentLeg() nextLeg : NextLeg() previousLeg : PreviousLeg() secondNextLeg : SecondNextLeg() secondPreviousLeg : SecondPreviousLeg() eval(currentLeg.getORGSTN().size()!=0 && depStationFun68307cu().containsAll(currentLeg.getORGSTN())) then currentLeg.setDataProcessedByDrool(new Boolean(true)); currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68307"); currentLeg.setEssRuleActionId("21444"); currentLeg.setPartId("47004404"); currentLeg.setEssAction("47004404"); currentLeg.setFLTTYPES("47004404"); currentLeg.setSRVSVDSVCCOD("47004404"); currentLeg.setASSIGNSVCCODE("47004404"); currentLeg.setASSIGNFLTTYPE("47004404"); currentLeg.setFssBoardDailyLegId(""); end rule "68308" dialect "java" when currentLeg : CurrentLeg() nextLeg : NextLeg() previousLeg : PreviousLeg() secondNextLeg : SecondNextLeg() eval(currentLeg.getORGSTN().size()!=0 && depStationFun68308cu().containsAll(currentLeg.getORGSTN())) then currentLeg.setDataProcessedByDrool(new Boolean(true)); currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68308"); currentLeg.setEssRuleActionId("41899"); currentLeg.setPartId("47004405"); currentLeg.setEssAction("47004405"); currentLeg.setFLTTYPES("47004405"); currentLeg.setSRVSVDSVCCOD("47004405"); currentLeg.setASSIGNSVCCODE("47004405"); currentLeg.setASSIGNFLTTYPE("47004405"); currentLeg.setFssBoardDailyLegId(""); end rule "68309" dialect "java" when currentLeg : CurrentLeg() nextLeg : NextLeg() previousLeg : PreviousLeg() secondNextLeg : SecondNextLeg() eval(currentLeg.getORGSTN().size()!=0 && depStationFun68309cu().containsAll(currentLeg.getORGSTN())) then currentLeg.setDataProcessedByDrool(new Boolean(true)); currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68309"); currentLeg.setEssRuleActionId("21446"); currentLeg.setPartId("47004406"); currentLeg.setEssAction("47004406"); currentLeg.setFLTTYPES("47004406"); currentLeg.setSRVSVDSVCCOD("47004406"); currentLeg.setASSIGNSVCCODE("47004406"); currentLeg.setASSIGNFLTTYPE("47004406"); currentLeg.setFssBoardDailyLegId(""); end rule "68312" dialect "java" when currentLeg : CurrentLeg() nextLeg : NextLeg() previousLeg : PreviousLeg() secondNextLeg : SecondNextLeg() eval(currentLeg.getORGSTN().size()!=0 && depStationFun68312cu().containsAll(currentLeg.getORGSTN())) then currentLeg.setDataProcessedByDrool(new Boolean(true)); currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68312"); currentLeg.setEssRuleActionId("72298"); currentLeg.setPartId("47004409"); currentLeg.setEssAction("47004409"); currentLeg.setFLTTYPES("47004409"); currentLeg.setSRVSVDSVCCOD("47004409"); currentLeg.setASSIGNSVCCODE("47004409"); currentLeg.setASSIGNFLTTYPE("47004409"); currentLeg.setFssBoardDailyLegId(""); currentLeg.setBRDSTN(""); currentLeg.setCATERINGSTN(""); currentLeg.setCLASSLIST(""); currentLeg.setConsumptionPc(""); currentLeg.setBoardingRatioM(""); currentLeg.setBoardingRatioN(""); currentLeg.setBoardingQty(""); currentLeg.setBoardingMaxQty(""); currentLeg.setBoardingPc(""); if(currentLeg.getAircraftSeatCfgId()!=null) { if(currentLeg.getClassOfServices().contains("8091")) { currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68312"); currentLeg.setEssRuleActionId("72292"); currentLeg.setASSIGNSVCCODE("47004711"); currentLeg.setEssAction("47004711"); currentLeg.setPartId("47004711"); currentLeg.setSRVSVDSVCCOD("47004711"); currentLeg.setFssBoardDailyLegId(""); currentLeg.setBRDSTN(""); currentLeg.setCATERINGSTN(""); currentLeg.setCLASSLIST("8091"); currentLeg.setConsumptionPc(""); currentLeg.setBoardingRatioM(""); currentLeg.setBoardingRatioN(""); currentLeg.setBoardingQty(""); currentLeg.setBoardingMaxQty(""); currentLeg.setBoardingPc("100"); } } if(currentLeg.getAircraftSeatCfgId()== null) { currentLeg.setASSIGNSVCCODE("47004711"); currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68312"); currentLeg.setEssRuleActionId("72292"); currentLeg.setEssAction("47004711"); currentLeg.setPartId("47004711"); currentLeg.setSRVSVDSVCCOD("47004711"); currentLeg.setSRVBRDSVCCOD("47004711"); currentLeg.setFssBoardDailyLegId(""); currentLeg.setBRDSTN(""); currentLeg.setCATERINGSTN(""); currentLeg.setCLASSLIST("8091"); currentLeg.setConsumptionPc(""); currentLeg.setBoardingRatioM(""); currentLeg.setBoardingRatioN(""); currentLeg.setBoardingQty(""); currentLeg.setBoardingMaxQty(""); currentLeg.setBoardingPc("100"); } if(currentLeg.getAircraftSeatCfgId()!=null) { if(currentLeg.getClassOfServices().contains("8091")) { currentLeg.setRuleSetId("9003"); currentLeg.setRuleSetCategoryId("15722"); currentLeg.setRuleGroupId("9924"); currentLeg.setRuleId("68312"); currentLeg.setEssRuleActionId("72293"); currentLeg.setASSIGNSVCCODE("48005240"); currentLeg.setEssAction("48005240"); currentLeg.setPartId("48005240"); currentLeg.setSRVSVDSVCCOD("48005240"); currentLeg.setFssBoardDailyLegId(""); currentLeg.setBRDSTN(""); currentLeg.setCATERINGSTN(""); currentLeg.setCLASSLIST("8091"); currentLeg.setConsumptionPc(""); currentLeg.setBoardingRatioM(""); currentLeg.setBoardingRatioN(""); currentLeg.setBoardingQty(""); currentLeg.setBoardingMaxQty(""); currentLeg.setBoardingPc("100"); } } end
I have the following code to access drl file :
// get the .drl constructed as inputstream // droolsInputString is drl file read into String. // I dont have any issue reading the file but i get the null pointer exception // when the last line is executed. builder.addPackageFromDrl(source); byte[] bytesOfDRL = droolsInputString.getBytes(); InputStream inputStream = new ByteArrayInputStream(bytesOfDRL); Reader source = new InputStreamReader(inputStream); PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); PackageBuilder builder = new PackageBuilder(conf); builder.addPackageFromDrl(source);
Here i get the following exception
17:57:50,776 ERROR [STDERR] java.lang.NullPointerException
17:57:50,776 ERROR [STDERR] at org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.build(JavaConsequenceBuilder.java:54)
17:57:50,776 ERROR [STDERR] at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:67)
17:57:50,776 ERROR [STDERR] at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:446)
17:57:50,791 ERROR [STDERR] at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:304)
17:57:50,791 ERROR [STDERR] at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:167)
17:57:50,791 ERROR [STDERR] at com.egatematrix.ess.framework.service.remote.rules.RulesEngineInvoker.readRule(RulesEngineInvoker.java:108)
17:57:50,791 ERROR [STDERR] at com.egatematrix.ess.framework.service.RuleService.doProcess(RuleService.java:302)
17:57:50,791 ERROR [STDERR] at com.egatematrix.ess.framework.service.FetchFSSData.invokeRuleService(FetchFSSData.java:141)
17:57:50,791 ERROR [STDERR] at com.egatematrix.ess.framework.service.FetchFSSData.triggerData(FetchFSSData.java:69)
17:57:50,791 ERROR [STDERR] at com.egatematrix.ess.framework.service.FetchFSSData$1.run(FetchFSSData.java:85)
17:57:50,791 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
17:57:50,791 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)
I have tried compiling the drl file in drl editor . there is no error.
Can Any one Help me resolving the issue.