Hi All,
I have used drools-jbrms.war and drools-guvnor.war. I facing a Problem
in both.
I have a package called Rating which has the following source.
'Rule 1' is Business-Rule; 'Rule 2' is a Technical-Rule(DRL).
------------------------------------------------------------------------
--------------------------------
package rating
import com.esspl.ic.dom.CallDetail;
import com.esspl.ic.dom.ICConstants;
import com.esspl.ic.dom.RateDetail;
import java.util.Map;
import java.lang.String;
global Map rateCache;
rule "Rule 1"
dialect "mvel"
when
cd : CallDetail( callType == "VOICE" )
then
cd.setRate( cd.getCallDuration() * ((RateDetail)
rateCache.get("VOICE")).getRate() );
end
rule "Rule 2"
when
cd : CallDetail( callType == "SMS")
then
cd.setRate(cd.getCallDuration() * ((RateDetail)
rateCache.get("SMS")).getRate() );
End
------------------------------------------------------------------------
---------------------------------
Rule 2 Compiles fine but Rule 1 does not.
It seems there is a Problem in compiling a BusinessRule. The Business
Rule Compiler doesn't support Typecasting. Whereas the Technical rule
compiler supports type casting.
I have to make all my rules as Business Rules. But it doesn't get
compiled.
Can anyone help me get rid of this problem.
Thanks in Advance,
Vinoth
Show replies by thread