The error message says Stateful<b>Rule</b>Session, but I'd say you have a Stateful<b>Knowledge</b>Session ksession.<br><br>Do a cast:<br> org.drools.runtime.rule.StatefulRuleSession sfrs = (org.drools.runtime.rule.StatefulRuleSession)ksession;<br>
and use this one for firing all rules with an agenda filter.<br><br>-W<br><br><br><div class="gmail_quote">On 23 August 2010 14:32, Sanjib Karmakar <span dir="ltr"><<a href="mailto:sanjibk@skytechsolutions.co.in">sanjibk@skytechsolutions.co.in</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
import org.drools.spi.Activation;<br>
import org.drools.spi.AgendaFilter;<br>
<br>
<br>
.<br>
.<br>
.<br>
<br>
KnowledgeBuilder kbuilder =<br>
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
kbuilder.add(<br>
ResourceFactory.newClassPathResource(resourceIndicator),<br>
ResourceType.XDRL<br>
);<br>
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
.<br>
.<br>
.<br>
<br>
public Object getSpecificRuleReport(<br>
Object requestDTO,<br>
Object responseDTO,<br>
final String ruleAry[]<br>
)<br>
throws Exception<br>
{<br>
AgendaFilter agendafilter =<br>
new StatefulKnowledgeSessionImpl.AgendaFilterWrapper(null)<br>
{<br>
public boolean accept(Activation activation)<br>
{<br>
boolean returnFlag = false;<br>
int ruleArySize = ruleAry.length;<br>
<br>
for (int cnt=0; cnt<ruleArySize; cnt++)<br>
{<br>
if (activation.getRule().getName().equals(ruleAry[cnt]))<br>
returnFlag = false;<br>
else<br>
returnFlag = true;<br>
}<br>
<br>
return returnFlag;<br>
}<br>
};<br>
<br>
try<br>
{<br>
ksession.insert(requestDTO);<br>
ksession.insert(responseDTO);<br>
ksession.fireAllRules(agendafilter);<br>
}catch(Exception t)<br>
{<br>
_logger.error(t.getMessage()+"\n"+t);<br>
}<br>
<br>
return responseDTO;<br>
}<br>
<br>
Eclipse is showing that there is a method fireAllRules() which takes<br>
AgendaFilter as a parameter<br>
but I am getting error "The method fireAllRules(int) in the type<br>
StatefulRuleSession is not applicable for the arguments (AgendaFilter)" at<br>
'ksession.fireAllRules(agendafilter);'<br>
<br>
I am trying to execute specific rules out of set of rules. Please help me to<br>
fix this issue.<br>
<font color="#888888"><br>
<br>
--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/Please-help-me-to-fix-the-AgendaFilter-related-issue-tp1289855p1289855.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/Please-help-me-to-fix-the-AgendaFilter-related-issue-tp1289855p1289855.html</a><br>
Sent from the Drools - User mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br>