Yes i am using Eclipse IDE, i tried other import statements and errors are gone now.<br><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Map<String,String> availablity = new HashMap<String,String>();</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span><b>List<Rule>myGlobal = new ArrayList<Rule>();</b></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>//Feature feature = new Feature();</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>try{</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>LOG.info("Before calling the function readKnowledgeBase");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>//KnowledgeBase kbase = readKnowledgeBase();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>LOG.info("Rule file is loaded");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>kbuilder.add(ResourceFactory.newClassPathResource("AvailabilityRule.drl"), ResourceType.DRL);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>LOG.info("Rule file added to the knowledgebuilder");</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>KnowledgeBuilderErrors errors = kbuilder.getErrors();</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span></div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if (errors.size() > 0) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>for (KnowledgeBuilderError error: errors) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>LOG.error(errors);</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>LOG.error("in error loop of readKnowledgeBase");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>throw new IllegalArgumentException("Could not parse knowledge.");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span> </div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>Collection<KnowledgePackage>kpackages = kbuilder.getKnowledgePackages();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>kbase.addKnowledgePackages(kpackages);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>ksession.setGlobal("availablity", availablity);</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span><b>for(KnowledgePackage kpackage : kpackages) {</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> for(org.drools.definition.rule.Rule rule : kpackage.getRules()) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> myGlobal.add((Rule) rule);</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> }</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>}</b></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>ksession.insert(Obj1);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>ksession.insert(Obj2);</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>LOG.info("Rules are fired");</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span><b>ksession.addEventListener(new DefaultAgendaEventListener() {</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> @Override</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>public</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> void activationCreated(ActivationCreatedEvent event) {</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> myGlobal.remove(event.getActivation().getRule());</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> }</b></div>
<div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> @Override</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>public</b></div><div>
<span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> void activationCancelled(ActivationCancelledEvent event) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> myGlobal.add((Rule) event.getActivation().getRule());</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b> }</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>});</b></div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>ksession.addEventListener( new DefaultAgendaEventListener() {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span> public void afterActivationFired(AfterActivationFiredEvent event) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span> super.afterActivationFired( event );</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span> System.out.println( event );</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span> }</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>});</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>ksession.fireAllRules();</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div>i declared myGlobal at the top of the program before the rule file is loading. the added code is in bold. it changed Rule:rule to some import statement, i guess that is because of casting. but in the both of the action listeners it is giving me an error saying that myGlobal should be declared final because of inner class. if i will declare this final i cant do anything with this. this is the last error which i have now. please suggest what to do with that.</div>
<div><br></div><div>Thanks</div>