JBoss Community

Re: Drools Simple rule evaluation

created by Mike schwery in jBPM - View the full discussion

I'm getting the following error.

 

org.drools.RuntimeDroolsException: invalid package name

    at org.jbpm.compiler.ProcessBuilderImpl.buildProcess(ProcessBuilderImpl.java:173)

    at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:252)

    at org.drools.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:564)

    at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:608)

    at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:37)

    at com.edpm.demo.JBPMClient.readKnowledgeBase(JBPMClient.java:72)

    at com.edpm.demo.JBPMClient.main(JBPMClient.java:38)

[5,9]: [ERR 102] Line 5:9 mismatched input 'DeliveryStatus' in rule "RuleFlow-Split-com.edpm.demo.LoanProcess-3-4-DROOLS_DEFAULT"

[12,9]: [ERR 102] Line 12:9 mismatched input 'DeliveryStatus' in rule "RuleFlow-Split-com.edpm.demo.LoanProcess-3-5-DROOLS_DEFAULT"

[0,0]: Parser returned a null Package

ProcessLoadError: unable to parse xml : Exception class org.drools.RuntimeDroolsException : invalid package name

java.lang.IllegalArgumentException: Could not parse knowledge.

    at org.drools.builder.impl.KnowledgeBuilderImpl.newKnowledgeBase(KnowledgeBuilderImpl.java:67)

    at com.edpm.demo.JBPMClient.readKnowledgeBase(JBPMClient.java:73)

    at com.edpm.demo.JBPMClient.main(JBPMClient.java:38)

 

Rule

#created on: Mar 27, 2012

package com.edpm.demo

 

import com.edpm.demo.Loan;

import org.drools.event.process.ProcessStartedEvent;

 

declare ProcessStartedEvent

@role(event)

end

 

rule "Spike alert"

when

Number (nbProcesses : intValue > 3)

from accumulate(

  e: ProcessStartedEvent(processInstance.processId == "com.edpm.demo.LoanProcess")

  over window:size(1h),

  count(e))

  loan:Loan(true)

  then

  loan.setProcessId(nbProcesses);

  loan.setDeliveryStatus(false);

  end

 

rule "Spike alert1"

when

Number (nbProcesses : intValue < 3)

from accumulate(

  e: ProcessStartedEvent(processInstance.processId == "com.edpm.demo.LoanProcess")

  over window:size(1h),

  count(e))

  loan:Loan(false)

  then

  loan.setProcessId(nbProcesses);

  loan.setDeliveryStatus(false);

  end

 

Test code

Loan loan = new Loan();

ksession.insert(loan);

ksession.fireAllRules();

Map<String, Object> params = new HashMap<String, Object>();

params.put("myLoan",loan);

ksession.startProcess("LoanProcess",params);

 

BPM settings

Id                  com.ebpm.demo.LoanProcess

Name           LoanProcess

Package      org.drools.bpmn2

swimlanes   loan

variables      myLoan

Reply to this message by going to Community

Start a new discussion in jBPM at Community