<!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> </DIV>
<DIV><SPAN class=093103914-23032010><FONT face=Arial color=#0000ff size=2>As you
suggested there was another rule which was being triggered 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> </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> </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. 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> </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.
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’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> </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> </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> </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>
at org.drools.reteoo.LeftTuple.get(LeftTuple.java:265)<BR> at
org.drools.reteoo.LeftTuple.get(LeftTuple.java:300)<BR> at
org.drools.rule.VariableRestriction$ObjectVariableContextEntry.updateFromTuple(VariableRestriction.java:320)<BR>
at
org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:119)<BR>
at
org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:98)<BR>
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<BR>
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:34)<BR>
at
org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:123)<BR>
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:145)<BR>
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(CompositeLeftTupleSinkAdapter.java:57)<BR>
at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)<BR>
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<BR>
at
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147)<BR>
at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:360)<BR>
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:344)<BR>
at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<BR>
at
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<BR>
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<BR>
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<BR>
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<BR>
at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:216)<BR>
at
de.d3web.we.drools.DroolsAction.addFacts(DroolsAction.java:296)<BR>
at
de.d3web.we.drools.DroolsAction.createKnowledgeSession(DroolsAction.java:268)<BR>
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>