<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs = 
"urn:schemas-microsoft-com:rowset" xmlns:z = "#RowsetSchema" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc = 
"urn:schemas-microsoft-com:office:odc" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc = 
"http://microsoft.com/officenet/conferencing" XMLNS:D = "DAV:" XMLNS:Repl = 
"http://schemas.microsoft.com/repl/" xmlns:mt = 
"http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda = 
"http://www.passport.com/NameSpace.xsd" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:sub = 
"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec = 
"http://www.w3.org/2001/04/xmlenc#" xmlns:sp = 
"http://schemas.microsoft.com/sharepoint/" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs = 
"http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p = 
"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss = 
"http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi = 
"http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi = 
"http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels = 
"http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp = 
"http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m = 
"http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl = 
"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl = 
"http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" 
XMLNS:Z = "urn:schemas-microsoft-com:" xmlns:st = ""><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16982" name=GENERATOR>
<STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 72.0pt 72.0pt 72.0pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.EmailStyle17 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal-reply
}
.MsoChpDefault {
        mso-style-type: export-only
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-GB vLink=purple link=blue>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff size=2>I 
found the problem - noobie mistake!</FONT></SPAN></DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff size=2>As you 
suggested there was another rule which was being triggered&nbsp;by the insert 
and there was a bug in that rule. I was focusing on the insert because this is 
where the stack-trace was indicating I look.</FONT></SPAN></DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff size=2>Thanks 
Thomas!</FONT></SPAN></DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff 
size=2>/Ryan.</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> rules-users-bounces@lists.jboss.org 
[mailto:rules-users-bounces@lists.jboss.org] <B>On Behalf Of </B>Swindells, 
Thomas<BR><B>Sent:</B> 23 March 2010 13:59<BR><B>To:</B> Rules Users 
List<BR><B>Subject:</B> Re: [rules-users] NullPointerException while inserting 
Facts<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">The 
most likely reason for this is that one of your rules is trying to evaluate a 
value which is null.&nbsp;&nbsp; The when part of a rule is evaluated as the 
fact is inserted and may be evaluated even if the then part will never be 
reached.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">Looking 
at your stack trace it looks like the rule involved may have a NOT in it.&nbsp; 
Have a careful look through your rules and see if there is a case where a null 
pointer may occur and/or try removing them one by one until it stops breaking, 
if that doesn&#8217;t work can you post your rules as well.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">Thomas<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<DIV 
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none">
<DIV>
<DIV 
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
<P class=MsoNormal><B><SPAN lang=EN-US 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN 
lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'"> 
rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] 
<B>On Behalf Of </B>Sebastian Furth<BR><B>Sent:</B> 23 March 2010 
13:11<BR><B>To:</B> rules-users@lists.jboss.org<BR><B>Subject:</B> [rules-users] 
NullPointerException while inserting Facts<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal>Hi,<BR><BR>we are currently trying to integrate DROOLS 5.1 in 
our project. <BR>In our Project we have two different kinds of Facts, called 
Values and Inputs. We don't have any problems with inserting Input instances but 
sometimes when we try to insert an instance of the Value class (@see: <A 
href="http://www.pastie.org/private/juv7hh7rxahpluo5agu3q">http://www.pastie.org/private/juv7hh7rxahpluo5agu3q</A>) 
we get the following 
NullPointerException:<BR><BR>java.lang.NullPointerException<BR>&nbsp;&nbsp;&nbsp; 
at org.drools.reteoo.LeftTuple.get(LeftTuple.java:265)<BR>&nbsp;&nbsp;&nbsp; at 
org.drools.reteoo.LeftTuple.get(LeftTuple.java:300)<BR>&nbsp;&nbsp;&nbsp; at 
org.drools.rule.VariableRestriction$ObjectVariableContextEntry.updateFromTuple(VariableRestriction.java:320)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:119)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:98)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:34)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:123)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:145)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:57)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:360)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:344)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<BR>&nbsp;&nbsp;&nbsp; 
at 
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:216)<BR>&nbsp;&nbsp;&nbsp; 
at 
de.d3web.we.drools.DroolsAction.addFacts(DroolsAction.java:296)<BR>&nbsp;&nbsp;&nbsp; 
at 
de.d3web.we.drools.DroolsAction.createKnowledgeSession(DroolsAction.java:268)<BR>&nbsp;&nbsp;&nbsp; 
at de.d3web.we.drools.DroolsAction.execute(DroolsAction.java:67)<BR><BR>The 
weird thing is that we don't get this exception with all instances of the Value 
class - some of them can be inserted, others not. The objects are created 
correctly - we've already debugged this. The crash happens somewhere deeper in 
the drools api.<BR clear=all><BR>It would be really great if you could give us a 
hint how we could fix this problem.<BR><BR>Thank you in advance.<BR><BR>Best 
regards<BR><BR>Sebastian Furth<o:p></o:p></P></DIV></DIV><BR>
<HR>
<FONT face=Arial color=gray 
size=1><BR>**************************************************************************************<BR>This 
message is confidential and intended only for the addressee. If you have 
received this message in error, please immediately notify the postmaster@nds.com 
and delete it from your system as well as any copies. The content of e-mails as 
well as traffic data may be monitored by NDS for employment and security 
purposes. To protect the environment please do not print this e-mail unless 
necessary.<BR><BR>NDS Limited. Registered Office: One London Road, Staines, 
Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. 
Registered no. 3080780. VAT no. GB 603 8808 
40-00<BR>**************************************************************************************<BR></FONT><BR>
<HR>
<FONT face=Arial color=gray size=1>This message is confidential and intended 
only for the addressee. If you have received this message in error, please 
immediately notify the postmaster@nds.com and delete it from your system as well 
as any copies. The content of e-mails as well as traffic data may be monitored 
by NDS for employment and security purposes.<BR>To protect the environment 
please do not print this e-mail unless necessary.<BR><BR>An NDS Group Limited 
company. www.nds.com<BR></FONT></BODY></HTML>