[rules-users] Re: Missing package name for rule package.

Ronald R. DiFrango ron.difrango at gmail.com
Fri Jul 6 16:52:26 EDT 2007


Please ignore this, I figured it out!

On 7/6/07, Ronald R. DiFrango <ron.difrango at gmail.com> wrote:
>
> Changed the loading order and now I get the following:
>
> Exception in thread "main" java.lang.ExceptionInInitializerError
>     at com.circuitcity.rtvcrms.test.MainBasedTester.testRules(
> MainBasedTester.java :31)
>     at com.circuitcity.rtvcrms.test.MainBasedTester.main(
> MainBasedTester.java:23)
> Caused by: java.lang.RuntimeException: Failure loading the Rules
>     at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.<clinit>(
> RtvDecisionEngine.java:47)
>     ... 2 more
> Caused by: org.drools.rule.InvalidRulePackage: [1,0]: unknown:1:0 required
> (...)+ loop (decision=2) did not match anything;
> token=[@0,0:6='created',<8>,1:0]
>     at org.drools.rule.Package.checkValidity(Package.java:409)
>     at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java
> :262)
>     at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.<clinit>(
> RtvDecisionEngine.java :43)
>     ... 2 more
>
> On 7/6/07, Ronald R. DiFrango <ron.difrango at gmail.com> wrote:
> >
> > I am getting the following exception all of a sudden:
> >
> > Exception in thread "main" java.lang.ExceptionInInitializerError
> >     at com.circuitcity.rtvcrms.test.MainBasedTester.testRules(
> > MainBasedTester.java :31)
> >     at com.circuitcity.rtvcrms.test.MainBasedTester.main(
> > MainBasedTester.java:23)
> > Caused by: java.lang.RuntimeException: Failure loading the Rules
> >     at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.<clinit>(
> > RtvDecisionEngine.java:47)
> >     ... 2 more
> > Caused by:
> > org.drools.compiler.PackageBuilder$MissingPackageNameException: Missing
> > package name for rule package.
> >     at org.drools.compiler.PackageBuilder.validatePackageName (
> > PackageBuilder.java:278)
> >     at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java
> > :214)
> >     at org.drools.compiler.PackageBuilder.addPackageFromDrl(
> > PackageBuilder.java:147)
> >     at com.circuitcity.rtvcrms.rules.RtvDecisionEngine .<clinit>(
> > RtvDecisionEngine.java:40)
> >     ... 2 more
> >
> >
> > Here are my DRL files:
> >
> > created on: Dec 7, 2006
> > package com.circuitcity.rtvcrms.rules
> >
> > #list any import classes here.
> > import java.math.BigDecimal ;
> > import java.math.BigInteger;
> > import com.circuitcity.rtvcrms.bw.Constants;
> > import com.circuitcity.rtvcrms.bw.DocumentTypes;
> > import com.circuitcity.rtvcrms.bw.StatusConstants;
> >
> > import com.circuitcity.rtvcrms.Adjustment ;
> > import com.circuitcity.rtvcrms.DetailLine;
> > import com.circuitcity.rtvcrms.EffectivePrice;
> > import com.circuitcity.rtvcrms.RepaymentCode;
> > import com.circuitcity.rtvcrms.MatchingOutput;
> >
> > #declare any global variables here
> > global java.util.List matchedList;
> >
> > rule "CM Qty EQ RTV Qty"
> >     salience 10
> >
> >     when
> >         cmDetailLine : DetailLine(cmNumber != null, lineNumber != null,
> > status != StatusConstants.MATCHED , cmRtvNumber : cmRtvNumber, cmBrand :
> > brand , cmModel : model, cmQuantity : availableQuantity  )
> >         rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber ==
> > cmRtvNumber, lineNumber != null, status != StatusConstants.MATCHED ,
> > brand == cmBrand, model == cmModel, availableQuantity == cmQuantity )
> >     then
> >         System.out.println(StatusConstants.MATCHED);
> >
> >         MatchingOutput output =
> >             buildMatchingOutput(
> >                 rtvDetailLine.getBrand(),
> >                 rtvDetailLine.getClazz(),
> >                 cmDetailLine.getLineNumber(),
> >                 cmDetailLine.getCmNumber(),
> >                 (String)null, // defTag
> >                 rtvDetailLine.getEffectivePrice(),
> >                 (BigDecimal)null, // keyRecNo
> >                 rtvDetailLine.getItemCost(),
> >                 rtvDetailLine.getAvailableQuantity(),
> >                 rtvDetailLine.getModel (),
> >                 (String)null, // originalRepaymentCode
> >                 (BigDecimal)null, // rrLineNumber
> >                 rtvDetailLine.getLineNumber(),
> >                 rtvDetailLine.getRtvNumber(),
> >                 StatusConstants.MATCHED,
> >                 DocumentTypes.RTV_CM,
> >                 (String)null); // vendorNumber
> >
> >         matchedList.add(output);
> >
> >         cmDetailLine.setAvailableQuantity(Constants.NO_MORE_QUANTITY );
> >         cmDetailLine.setStatus(StatusConstants.MATCHED);
> >         rtvDetailLine.setAvailableQuantity(Constants.NO_MORE_QUANTITY);
> >         rtvDetailLine.setStatus(StatusConstants.MATCHED);
> > end
> >
> > rule "RNR Qty EQ RTV Qty"
> >     salience 10
> >
> >     when
> >         rnrDetailLine : DetailLine(keyRecNo != null, lineNumber != null,
> > status != StatusConstants.MATCHED, cmRtvNumber : cmRtvNumber, cmBrand :
> > brand , cmModel : model, cmQuantity : availableQuantity   )
> >         rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber ==
> > cmRtvNumber, lineNumber != null, status != StatusConstants.MATCHED,
> > brand == cmBrand, model == cmModel, availableQuantity == cmQuantity )
> >     then
> >         System.out.println(StatusConstants.MATCHED);
> >
> >         MatchingOutput output =
> >             buildMatchingOutput(
> >                 rtvDetailLine.getBrand(),
> >                 rtvDetailLine.getClazz (),
> >                 (BigDecimal)null, // cmDetailLine.getLineNumber(),
> >                 (String)null, // cmDetailLine.getCmNumber(),
> >                 (String)null, // defTag
> >                 rtvDetailLine.getEffectivePrice (),
> >                 rnrDetailLine.getKeyRecNo(), // keyRecNo
> >                 rtvDetailLine.getItemCost(),
> >                 rtvDetailLine.getAvailableQuantity(),
> >                 rtvDetailLine.getModel(),
> >                 (String)null, // originalRepaymentCode
> >                 rnrDetailLine.getLineNumber(), // rrLineNumber
> >                 rtvDetailLine.getLineNumber(),
> >                 rtvDetailLine.getRtvNumber(),
> >                 StatusConstants.MATCHED,
> >                 DocumentTypes.RTV_RR,
> >                 (String)null); // vendorNumber
> >
> >         matchedList.add(output);
> >
> >         rnrDetailLine.setAvailableQuantity(Constants.NO_MORE_QUANTITY);
> >         rnrDetailLine.setStatus(StatusConstants.MATCHED);
> >         rtvDetailLine.setAvailableQuantity(Constants.NO_MORE_QUANTITY);
> >         rtvDetailLine.setStatus(StatusConstants.MATCHED);
> > end
> >
> > #created on: Apr 10, 2007
> > package com.circuitcity.rtvcrms.rules
> >
> > #list any import classes here.
> > import java.math.BigDecimal;
> >
> > import com.circuitcity.rtvcrms.bw.ModelDiscrepancyOutput;
> > import com.circuitcity.rtvcrms.bw.StatusConstants ;
> > import com.circuitcity.rtvcrms.Adjustment;
> > import com.circuitcity.rtvcrms.DetailLine;
> > import com.circuitcity.rtvcrms.RepaymentCode;
> > import com.circuitcity.rtvcrms.MatchingOutput;
> > import org.drools.WorkingMemory ;
> > import org.drools.QueryResults;
> > import org.drools.QueryResult;
> > import java.util.Iterator;
> >
> > #declare any global variables here
> >
> > rule "Sum CM"
> >     salience 90
> >
> >     when
> >         mdOutput : ModelDiscrepancyOutput ()
> >         repaymentCode : RepaymentCode( code == "MD")
> >         cmAdjustment : Adjustment(cmNumber != null, lineNumber != null,
> > originalRepaymentCode == "MD" )
> >     then
> >         System.out.println ("Sum CM");
> >         mdOutput.setSumCmAndRnr(cmAdjustment.getAvailableQuantity());
> > end
> >
> > Any thoughts?
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070706/7899f74a/attachment.html 


More information about the rules-users mailing list