<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1586" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007>Hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=479580213-22022007>I am getting null 
pointer exception when i retract objects from working memory. please help me in 
resolving this problem....</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=479580213-22022007>my rule goes like 
this...</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=479580213-22022007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT size=+0><SPAN class=479580213-22022007><B><FONT color=#960000>
<P align=left><FONT face=Arial size=2>package</FONT></B></FONT><FONT face=Arial 
size=2> com.moto.nms</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P><B><FONT color=#960000>
<P align=left><FONT face=Arial size=2>import</FONT></B></FONT><FONT face=Arial 
size=2> com.moto.nms.Event;</FONT></P><B><FONT color=#960000>
<P align=left><FONT face=Arial size=2>import</FONT></B></FONT><FONT face=Arial 
size=2> com.adventnet.nms.topodb.ManagedObject;</FONT></P><B><FONT 
color=#960000>
<P align=left><FONT face=Arial size=2>import</FONT></B></FONT><FONT face=Arial 
size=2> com.motorola.nmatg.nms.topology.ManagedEntity;</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P><B><FONT color=#960000>
<P><FONT face=Arial size=2>global</FONT></B></FONT><FONT face=Arial><FONT 
size=2> com.moto.nms.Consecutive con;<SPAN 
class=479580213-22022007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Consecutive is 
an simple class file which has two simple methods, getValue() and 
setValue().</SPAN></FONT></FONT></P>
<P><FONT size=2><FONT face=Arial>&nbsp;</P></FONT></FONT></SPAN></FONT></DIV>
<DIV><FONT size=+0><SPAN class=479580213-22022007><B><FONT color=#960000>
<P align=left><FONT face=Arial size=2>rule</FONT></B></FONT><FONT 
face=Arial><FONT size=2> <FONT 
color=#008000>"duplicate"</P></FONT></FONT></FONT>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>salience</FONT></B></FONT><FONT face=Arial size=2> 29</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>when</FONT></P></B></FONT>
<P align=left><FONT face=Arial size=2>e1 : Event( firsttime1 : time , severity1 
: severity == 1 )</FONT></P>
<P align=left><FONT face=Arial size=2>e2 : Event( firsttime2 : time &gt; 
firsttime1 , severity == severity1 )</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>not</FONT></B></FONT><FONT face=Arial size=2> Event( severity == -1 , 
time &gt; firsttime1 , time &lt; firsttime2)</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>then</FONT></P></B></FONT>
<P align=left><FONT size=2><FONT face=Arial>System.out.println(</FONT><FONT 
face=Arial color=#008000>"matched the fact"</FONT><FONT 
face=Arial>);</FONT></FONT></P>
<P align=left><FONT size=2><FONT face=Arial>e1.setCompressionStatus(</FONT><FONT 
face=Arial color=#008000>"compress_"</FONT><FONT 
face=Arial>+con.getValue());</FONT></FONT></P>
<P align=left><FONT size=2><FONT face=Arial>e2.setCompressionStatus(</FONT><FONT 
face=Arial><FONT 
color=#008000>"compress_"</FONT>+con.getValue());</P></FONT></FONT><B><FONT 
color=#960000>
<P align=left><FONT face=Arial size=2>end</FONT></P></B></FONT>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P><B><FONT color=#960000>
<P align=left><FONT face=Arial size=2>rule</FONT></B></FONT><FONT 
face=Arial><FONT size=2> <FONT 
color=#008000>"duplicate_x"</P></FONT></FONT></FONT>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>salience</FONT></B></FONT><FONT face=Arial size=2> 29</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>when</FONT></P></B></FONT>
<P align=left><FONT face=Arial size=2>e1 : Event(firsttime1 : time , severity == 
1 )</FONT></P>
<P align=left><FONT face=Arial size=2>e2 : Event(firsttime2 : time &gt; 
firsttime1 , severity == 1)</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>exists</FONT></B></FONT><FONT face=Arial size=2> Event(&nbsp;<SPAN 
class=479580213-22022007>severity == -1, </SPAN>time &gt; firsttime1 , time &lt; 
firsttime2)</FONT></P>
<P align=left><B><FONT color=#960000><FONT face=Arial 
size=2>then</FONT></P></B></FONT>
<P align=left><FONT size=2><FONT face=Arial>System.out.println(</FONT><FONT 
face=Arial color=#008000>"matched 2nd fact"</FONT><FONT 
face=Arial>);</FONT></FONT></P>
<P align=left><FONT face=Arial size=2>con.setValue(con.getValue() 
+1);</FONT></P><FONT color=#960000>
<P align=left><FONT face=Arial size=2><STRONG>end</STRONG></FONT></P>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P>
<P align=left><FONT face=Arial size=2><SPAN class=479580213-22022007>exception 
is like this...</SPAN></FONT></P><FONT size=2>
<P align=left>Caught </FONT><U><FONT color=#000080 
size=2>Exceptionjava.lang.NullPointerException</P>
<P align=left>java.lang.NullPointerException</P></U></FONT><FONT color=#ff0000 
size=2>
<P align=left>at org.drools.reteoo.beta.DefaultRightMemory.remove(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.BetaMemory.remove(Unknown Source)</P>
<P align=left>at org.drools.reteoo.NotNode.retractObject(Unknown Source)</P>
<P align=left>at org.drools.reteoo.ObjectSource.propagateRetractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.RightInputAdapterNode.retractTuple(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.TupleSource.propagateRetractTuple(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.NotNode.retractTuple(Unknown Source)</P>
<P align=left>at org.drools.reteoo.TupleSource.propagateRetractTuple(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.JoinNode.retractTuple(Unknown Source)</P>
<P align=left>at org.drools.reteoo.LeftInputAdapterNode.retractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.ObjectSource.propagateRetractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.AlphaNode.retractObject(Unknown Source)</P>
<P align=left>at org.drools.reteoo.ObjectSource.propagateRetractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.ObjectTypeNode.retractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.Rete.retractObject(Unknown Source)</P>
<P align=left>at org.drools.reteoo.ReteooRuleBase.retractObject(Unknown 
Source)</P>
<P align=left>at org.drools.reteoo.ReteooWorkingMemory.doRetract(Unknown 
Source)</P>
<P align=left>at org.drools.common.AbstractWorkingMemory.retractObject(Unknown 
Source)</P>
<P align=left>at org.drools.common.AbstractWorkingMemory.retractObject(Unknown 
Source)</P>
<P align=left>at com.moto.nms.TestEvents3.retractAll(</FONT><U><FONT 
color=#000080 size=2>TestEvents3.java:219</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at com.moto.nms.TestEvents3.readRule(</FONT><U><FONT color=#000080 
size=2>TestEvents3.java:158</U></FONT><FONT color=#ff0000 size=2>)</P>
<P>at com.moto.nms.TestEvents3.main(</FONT><U><FONT color=#000080 
size=2>TestEvents3.java:242</U></FONT><FONT color=#ff0000 
size=2>)</P></FONT></FONT>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P>
<P align=left><SPAN class=479580213-22022007><FONT face=Arial 
size=2>TestEvents3.java class is like this....</FONT></SPAN></P></DIV>
<DIV>
<P align=left><FONT face=Arial size=2></FONT>&nbsp;</P></DIV>
<DIV align=left><B><FONT color=#7f0055 size=2>
<P align=left>package</B></FONT><FONT size=2> com.moto.nms;</P>
<P align=left></P></FONT><FONT color=#3f7f5f size=2>
<P align=left>//related to IO..</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
java.io.InputStreamReader;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> java.io.Reader;</P></FONT><B><FONT 
color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
java.io.InputStream;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> java.util.List;</P></FONT><B><FONT 
color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> java.util.Iterator;</P>
<P align=left></P></FONT><FONT color=#3f7f5f size=2>
<P align=left>//related to Drools..</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.RuleBase;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.RuleBaseFactory;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.compiler.PackageBuilder;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.rule.Package;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.WorkingMemory;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
org.drools.FactHandle;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> org.drools.FactException;</P>
<P align=left></P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
com.moto.nms.Event;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
com.moto.nms.NMSEvent;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
com.moto.nms.TopoInterface1;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
com.moto.nms.GenerateEvents;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> 
com.adventnet.nms.topodb.ManagedObject;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>import</B></FONT><FONT size=2> com.moto.nms.Consecutive;</P>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P></FONT><B><FONT color=#7f0055 size=2>
<P align=left>public</B></FONT><FONT size=2> </FONT><B><FONT color=#7f0055 
size=2>class</B></FONT><FONT size=2> TestEvents3 {</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>private</B></FONT><FONT 
size=2> Reader </FONT><FONT color=#0000c0 size=2>reader</FONT><FONT size=2>;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>private</B></FONT><FONT 
size=2> RuleBase </FONT><FONT color=#0000c0 size=2>rulebase</FONT><FONT 
size=2>;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>private</B></FONT><FONT 
size=2> WorkingMemory </FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>private</B></FONT><FONT 
size=2> List </FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT 
size=2>;</P>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>public</B></FONT><FONT 
size=2> TestEvents3(){</P>
<P align=left>}</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>public</B></FONT><FONT 
size=2> </FONT><B><FONT color=#7f0055 size=2>void</B></FONT><FONT size=2> 
readRule(String readername) </FONT><B><FONT color=#7f0055 
size=2>throws</B></FONT><FONT size=2> Exception{</P>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left>InputStream str = </FONT><B><FONT color=#7f0055 
size=2>null</B></FONT><FONT size=2>;</P>
<P align=left>str = TestEvents.</FONT><B><FONT color=#7f0055 
size=2>class</B></FONT><FONT size=2>.getResourceAsStream(readername);</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>if</B></FONT><FONT 
size=2>(str == </FONT><B><FONT color=#7f0055 size=2>null</B></FONT><FONT 
size=2>)</P>
<P align=left>{</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"unable to read rule 
file"</FONT><FONT size=2>);</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>return</B></FONT><FONT 
size=2>;</P>
<P align=left>}</P>
<P align=left></FONT><FONT color=#0000c0 size=2>reader</FONT><FONT size=2> = 
</FONT><B><FONT color=#7f0055 size=2>new</B></FONT><FONT size=2> 
InputStreamReader(str); </FONT><FONT color=#3f7f5f size=2>//read in the 
source</P></FONT><FONT size=2>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left>PackageBuilder builder = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> PackageBuilder(); </FONT><FONT color=#3f7f5f 
size=2>//building up the rule package</P></FONT><FONT size=2>
<P align=left></P>
<P align=left>builder.addPackageFromDrl(</FONT><FONT color=#0000c0 
size=2>reader</FONT><FONT size=2>);</P>
<P align=left>Package pkg = builder.getPackage(); </FONT><FONT color=#3f7f5f 
size=2>//get the compiled package</P></FONT><FONT size=2>
<P align=left></FONT><FONT color=#0000c0 size=2>rulebase</FONT><FONT size=2> = 
RuleBaseFactory.<I>newRuleBase</I>();</P>
<P align=left></FONT><FONT color=#0000c0 size=2>rulebase</FONT><FONT 
size=2>.addPackage( pkg ); </FONT><FONT color=#3f7f5f size=2>//adding the 
package to the rule base</P></FONT><FONT size=2>
<P align=left>Consecutive con = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Consecutive();</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT size=2> = 
</FONT><FONT color=#0000c0 size=2>rulebase</FONT><FONT 
size=2>.newWorkingMemory();</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.setGlobal(</FONT><FONT color=#2a00ff size=2>"con"</FONT><FONT size=2>, 
con);</P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"\n\n"</FONT><FONT 
size=2>+System.<I>currentTimeMillis</I>());</P>
<P align=left></P>
<P align=left>Event ev1 = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(183, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left></FONT><FONT color=#3f7f5f 
size=2>//Thread.sleep(450);</P></FONT><FONT size=2>
<P align=left>Event ev9 = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(192, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left></FONT><FONT color=#3f7f5f 
size=2>//Thread.sleep(400);</P></FONT><FONT size=2>
<P align=left>Event ev10 = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(307, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(500);</P>
<P align=left>Event ev11= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(306, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(200);</P>
<P align=left>Event ev12= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(305, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(250);</P>
<P align=left>Event ev13= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(304, -1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(600);</P>
<P align=left>Event ev14= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(302, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(200);</P>
<P align=left>Event ev15= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(301, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left>Thread.<I>sleep</I>(200);</P>
<P align=left>Event ev16= </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> Event(308, 1, </FONT><FONT color=#2a00ff 
size=2>"port02"</FONT><FONT size=2>, </FONT><FONT color=#2a00ff 
size=2>"LOS"</FONT><FONT size=2>, System.<I>currentTimeMillis</I>());</P>
<P align=left></P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev1);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev9);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev10);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev11);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev12);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev13);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev14);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev15);</P>
<P align=left></P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.assertObject(ev16);</P>
<P align=left></P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"\n\n"</FONT><FONT 
size=2>+System.<I>currentTimeMillis</I>());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"\n\nFiring 
rules...\n"</FONT><FONT size=2>);</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.fireAllRules();</P>
<P align=left></P>
<P align=left></P>
<P align=left></P>
<P align=left></FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT size=2> 
= </FONT><FONT color=#0000c0 size=2>wm</FONT><FONT size=2>.getObjects();</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"\n\nAll the Objects in 
WOrking Memory are as Follows...\n"</FONT><FONT size=2>);</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>for</B></FONT><FONT 
size=2>(</FONT><B><FONT color=#7f0055 size=2>int</B></FONT><FONT size=2> i=0; 
i&lt;</FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT size=2>.size(); 
i++)</P>
<P align=left>{</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT 
size=2>.get(i));</P>
<P align=left>}</P>
<P align=left></P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"The CompressionStatus of the 
events are..."</FONT><FONT size=2>);</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev1.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev9.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev10.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev11.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev12.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev13.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev14.getCompressionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev15.getCompressionStatus());</P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev16.getCompressionStatus());</P>
<P align=left></P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"The DeletionStatus of the 
events are..."</FONT><FONT size=2>);</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev1.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev9.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev10.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev11.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev12.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev13.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev14.getDeletionStatus());</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev15.getDeletionStatus());</P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(ev16.getDeletionStatus());</P>
<P align=left></P>
<P align=left></P>
<P align=left>Thread.<I>sleep</I>(1000);</P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"Starting 
retracting...."</FONT><FONT size=2>);</P>
<P align=left>Thread.<I>sleep</I>(1000);</P>
<P align=left></P>
<P align=left>retractAll();</P>
<P align=left></P>
<P align=left></P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(System.<I>currentTimeMillis</I>());</P>
<P align=left></P>
<P align=left></P>
<P align=left></P>
<P align=left></P>
<P align=left>}</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>public</B></FONT><FONT 
size=2> </FONT><B><FONT color=#7f0055 size=2>void</B></FONT><FONT size=2> 
retractAll()</P>
<P align=left>{</P>
<P align=left></FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT size=2> 
= </FONT><FONT color=#0000c0 size=2>wm</FONT><FONT size=2>.getFactHandles();</P>
<P align=left>Iterator itr = </FONT><FONT color=#0000c0 
size=2>factHandles</FONT><FONT size=2>.iterator();</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>if</B></FONT><FONT 
size=2>(</FONT><FONT color=#0000c0 size=2>factHandles</FONT><FONT size=2> == 
</FONT><B><FONT color=#7f0055 size=2>null</B></FONT><FONT size=2>)</P>
<P align=left>{</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"invalid FactHandler 
List"</FONT><FONT size=2>);</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>return</B></FONT><FONT 
size=2>;</P>
<P align=left>}</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"size of fact 
handles..:"</FONT><FONT size=2>+</FONT><FONT color=#0000c0 
size=2>factHandles</FONT><FONT size=2>.size());</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>while</B></FONT><FONT 
size=2>(itr.hasNext())</P>
<P align=left>{</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>try</B></FONT><FONT 
size=2>{</P>
<P align=left>FactHandle fh = (FactHandle)itr.next();</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>if</B></FONT><FONT size=2>(fh 
== </FONT><B><FONT color=#7f0055 size=2>null</B></FONT><FONT size=2>)</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"Here object is null, Cannot 
be retracted"</FONT><FONT size=2>);</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>else</P></B></FONT><FONT 
size=2>
<P align=left>{</P>
<P align=left></FONT><FONT color=#0000c0 size=2>wm</FONT><FONT 
size=2>.retractObject(fh);</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"Retracted object : 
"</FONT><FONT size=2>+ fh);</P>
<P align=left>}</P>
<P align=left>}</FONT><B><FONT color=#7f0055 size=2>catch</B></FONT><FONT 
size=2> (FactException e){</P>
<P align=left>e.printStackTrace();</P>
<P align=left>}</P>
<P align=left>}</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>return</B></FONT><FONT 
size=2>;</P>
<P align=left>}</P>
<P align=left></P>
<P align=left></P>
<P align=left></P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>public</B></FONT><FONT 
size=2> </FONT><B><FONT color=#7f0055 size=2>static</B></FONT><FONT size=2> 
</FONT><B><FONT color=#7f0055 size=2>void</B></FONT><FONT size=2> main(String[] 
args){</P>
<P align=left></P>
<P align=left>TestEvents3 te = </FONT><B><FONT color=#7f0055 
size=2>new</B></FONT><FONT size=2> TestEvents3();</P>
<P align=left></P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>try</B></FONT><FONT 
size=2>{</P>
<P align=left>te.readRule(</FONT><FONT color=#2a00ff 
size=2>"/AlarmSuppression.drl"</FONT><FONT size=2>);</P>
<P align=left>}</FONT><B><FONT color=#7f0055 size=2>catch</B></FONT><FONT 
size=2>(Exception ex){</P>
<P align=left>System.</FONT><I><FONT color=#0000c0 size=2>out</I></FONT><FONT 
size=2>.println(</FONT><FONT color=#2a00ff size=2>"Caught Exception"</FONT><FONT 
size=2> +ex);</P>
<P align=left>ex.printStackTrace();}</P>
<P align=left>}</P>
<P align=left></P>
<P align=left>}</P>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P>
<P align=left>&nbsp;</P></FONT></DIV>
<DIV></SPAN></FONT>&nbsp;</DIV></FONT></DIV></BODY></HTML>