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