Hello,
I would like to conditionally attempt logging in the consequence of each rule but it does
not like the 'if' statement.
Without the 'if', it works fine. It appears to work fine for the java dialect as
well - only complains for MVEL dialect.
It does not appear to be related to the logger instance because even "if (true)"
causes similar Exception.
I also tried with and without the curly braces.
global org.apache.commons.logging.Log logger
rule Language
dialect "mvel"
salience 800
when
$pd : ParticipantDetails( $ptLanguage : participant.languagePreferenceCD )
$nd : NurseDetails( languages not contains $ptLanguage )
then
if (logger.isDebugEnabled())
logger.debug("LanguageMismatch - ptId: " + $pd.participant.id +
", Lang: " + $ptLanguage + ", staffId: " + $nd.staffId );
[...]
end
* (1,28) unable to resolve method using strict-mode: java.lang.Object.if(...)
Exception in thread "main"
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'primaryNurseAssignmentService' defined in class path resource
[...]
nested exception is org.drools.rule.InvalidRulePackage: Unable to build expression for
'consequence' '
if (logger.isDebugEnabled())
logger.debug("LanguageMismatch - ptId: " + $pd.participant.id + ",
Lang: " + $ptLanguage + ", staffId: " + $nd.staffId );
Should what I am attempting work?
Thanks,
Mark